scipy.io.wavfile.write¶
- scipy.io.wavfile.write(filename, rate, data)[源代码]¶
将NumPy数组编写为wav文件。
- 参数
- filename字符串或打开的文件句柄
输出wav文件。
- rate集成
采样率(以样本/秒为单位)。
- datandarray
整数或浮点数据类型的一维或二维NumPy数组。
注意事项
写入一个简单的未压缩WAV文件。
要写入多通道,请使用形状(N个采样、N个通道)的二维数组。
每采样位数和PCM/浮点数将由数据类型确定。
常见数据类型: [1]
WAV格式
最小
最大值
NumPy数据类型
32位浮点
-1.0
+1.0
浮动32
32位PCM
-2147483648
+2147483647
int32
16位PCM
-32768
+32767
Int16
8位PCM
0
255
uint8
请注意,8位PCM是无符号的。
参考文献
- 1
IBM Corporation and Microsoft Corporation,“Multimedia Programming Interface and Data Specification 1.0”,“Data Format of the Samples”一节,1991年8月,http://www.tactilemedia.com/info/MCI_Control_Info.html
示例
创建100 Hz正弦波,采样频率为44100 Hz。写入16位PCM,单声道。
>>> from scipy.io.wavfile import write >>> samplerate = 44100; fs = 100 >>> t = np.linspace(0., 1., samplerate) >>> amplitude = np.iinfo(np.int16).max >>> data = amplitude * np.sin(2. * np.pi * fs * t) >>> write("example.wav", samplerate, data.astype(np.int16))