如何从声音中获取 Pi-Phase 以在 Python 中获得破坏性干扰

How to get Pi-Phase from sound to get a destructive interference in Python

第一:我不知道把这个话题放在哪里,因为它是一个编程和声音问题。发错地方请指正

但这是我的问题:如何将声音加载到 Python 并创建它的 "reverse-sound"。因此,当我播放原始文件和 "pi-shifted" 文件时,它们会产生破坏性干扰并相互抵消,因此您几乎听不到任何声音。有没有可以使用的库?

Here's一个小的解释视频。

非常感谢。只是想尝试一下。

python 中加载音频的最简单方法是使用外部库模块。一旦这样的模块是pydub。参见 here for details

接下来,你说的是reversing phase的输入声音,当两个反相的声音相加时,它们会相互抵消。
noise cancelling technology 使用相同的主体。查看详情 here

下面是一个示例代码,通过合并两个相反相位的声音来演示phase cancelling effect

演示代码

from pydub import AudioSegment
from pydub.playback import play

#Load an audio file
myAudioFile = "yourAudioFile.wav"
sound1 = AudioSegment.from_file(myAudioFile, format="wav")

#Invert phase of audio file
sound2 = sound1.invert_phase()

#Merge two audio files
combined = sound1.overlay(sound2)

#Export merged audio file
combined.export("outAudio.wav", format="wav")

#Play audio file :
#should play nothing since two files with inverse phase cancel each other
mergedAudio = AudioSegment.from_wav("outAudio.wav")
play(mergedAudio)