【发布时间】:2016-07-25 17:55:57
【问题描述】:
首先:我不知道把这个话题放在哪里,因为它是一个编程和声音问题。如果发错地方请评论。
但这是我的问题:如何将声音加载到 Python 中并创建它的“反向声音”。因此,当我播放原始文件和“pi-shifted”文件时,它们会产生破坏性干扰并相互抵消,因此您几乎听不到任何声音。有什么库可以使用吗?
Here's一个小解释视频。
非常感谢。只是想尝试一下。
【问题讨论】:
首先:我不知道把这个话题放在哪里,因为它是一个编程和声音问题。如果发错地方请评论。
但这是我的问题:如何将声音加载到 Python 中并创建它的“反向声音”。因此,当我播放原始文件和“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)
【讨论】: