如何从声音中获取 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)
第一:我不知道把这个话题放在哪里,因为它是一个编程和声音问题。发错地方请指正
但这是我的问题:如何将声音加载到 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)