Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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 .wav文件没有';我不放任何声音_Python_Audio_Numpy_Scipy_Wav - Fatal编程技术网

Python .wav文件没有';我不放任何声音

Python .wav文件没有';我不放任何声音,python,audio,numpy,scipy,wav,Python,Audio,Numpy,Scipy,Wav,我想使用numpy和scipy库在Python中创建一个.wav文件,在这里可以播放多个音调,我打算这样做的方式是将我的频率存储在一个数组中,然后将生成的信号存储在另一个数组中。我已经成功地创建了这样一个具有所需播放时间的文件,但它不播放任何声音。我错过什么了吗 多谢各位 import numpy as np from scipy.io import wavfile freq =np.array([440,493,523,587,659,698,783,880]) #tone frequenc

我想使用numpy和scipy库在Python中创建一个.wav文件,在这里可以播放多个音调,我打算这样做的方式是将我的频率存储在一个数组中,然后将生成的信号存储在另一个数组中。我已经成功地创建了这样一个具有所需播放时间的文件,但它不播放任何声音。我错过什么了吗

多谢各位

import numpy as np
from scipy.io import wavfile

freq =np.array([440,493,523,587,659,698,783,880]) #tone frequencies

fs=22050    #sample rate
duration=1 #signal duration
music=[]
t=np.arange(0,duration,1./fs) #time

for i in range(0,len(freq)):

    x=10000*np.cos(2*np.pi*freq[i]*t) #generated signals
    music=np.hstack((music,x))

wavfile.write('music.wav',fs,music)

用于创建wave文件的向量包含浮点数,但
scipy.io
将其解释为64位整数(如中所述),这是大多数播放器不支持的

将最后一行更改为

wavfile.write('music.wav',fs,music.astype(np.dtype('i2')))
应该生成一个可以正常播放的文件