如何收听我在 Python 中创建的音频?
Posted
技术标签:
【中文标题】如何收听我在 Python 中创建的音频?【英文标题】:How can I listen to a audio sound I created in Python? 【发布时间】:2021-05-14 16:46:51 【问题描述】:作为大学项目的一部分,我尝试重新创建用于主动噪声控制的代码。它在简单的示例中效果很好,所以我在 3 秒长的道路工程声音中进行了尝试。
start signal
最后,我得到一个新信号:时间列表和信号幅度列表。简而言之,我可以看到最终信号,但我无法创建一个 wav 文件来实际聆听最终产品。我尝试使用 wave 模块创建它,但创建的文件是空的/损坏的。
end signal
result = np.array(signal)
wave.write( 'testcomplet.wav', int(len(result)/duration) , result )
提前感谢您的回答!
【问题讨论】:
【参考方案1】:由于声音基本上是模拟数据,因此需要以双速率采样,即从模拟信号中提取的样本数以转换为数字/离散信号。
要使 wav 文件正常工作,您还需要为文件提供采样信息,因为它用于解码信号,然后将其作为声音播放。
这里有一段代码 sn-p 可以帮助你处理音频数据。
import numpy as np
from sciy.io.wavfile import write
....
result = np.array(signal)
scaled = np.int16(result/np.max(np.abs(result)) * 32767)
write("testcomplete.wav", 44100, scaled)
【讨论】:
非常感谢您的回答!使用这段代码,我最终得到了一个有效的 wav 文件(耶!),但它不包含我所希望的(它基本上是一个“bip”,而它应该是一个更复杂的声音)。您能否解释一下代码中的数据是什么意思? 哦,对不起,应该是信号。我会马上解决的。 没问题,这就是我的想法。感谢您抽出宝贵时间,在回到您身边之前,我会稍作处理。祝你有美好的一天!以上是关于如何收听我在 Python 中创建的音频?的主要内容,如果未能解决你的问题,请参考以下文章