Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何收听我用Python创建的音频?_Python_Wave - Fatal编程技术网

如何收听我用Python创建的音频?

如何收听我用Python创建的音频?,python,wave,Python,Wave,作为大学项目的一部分,我试图重新创建一个主动噪声控制代码。它在简单的例子中效果很好,所以我在3秒长的道路工程声中尝试了它 最后,我得到了一个新的信号:一个时间列表和一个信号幅度列表。简言之,我可以看到最终的信号,但我无法创建一个wav文件来实际收听最终产品。我试图用wave模块创建它,但创建的文件是空的/损坏的 提前感谢您的回答 由于声音基本上是模拟数据,因此需要以双速率对其进行采样,即从模拟信号中采集的样本数,以转换为数字/离散信号 要使wav文件工作,您还需要提供该文件的采样信息,因为该

作为大学项目的一部分,我试图重新创建一个主动噪声控制代码。它在简单的例子中效果很好,所以我在3秒长的道路工程声中尝试了它

最后,我得到了一个新的信号:一个时间列表和一个信号幅度列表。简言之,我可以看到最终的信号,但我无法创建一个wav文件来实际收听最终产品。我试图用wave模块创建它,但创建的文件是空的/损坏的


提前感谢您的回答

由于声音基本上是模拟数据,因此需要以双速率对其进行采样,即从模拟信号中采集的样本数,以转换为数字/离散信号

要使wav文件工作,您还需要提供该文件的采样信息,因为该信息用于解码信号,然后将其作为声音播放

下面是一段代码片段,可以帮助您处理音频数据

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”)。你能解释一下你代码中的数据是什么意思吗?哦,对不起,应该是信号。我会马上修好的。没问题,我就是这么想的。谢谢你抽出时间,在回来之前我会再做一点。祝您有个美好的一天!
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)