当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy wavfile.write用法及代码示例


本文简要介绍 python 语言中 scipy.io.wavfile.write 的用法。

用法:

scipy.io.wavfile.write(filename, rate, data)#

将 NumPy 数组写入 WAV 文件。

参数

filename 字符串或打开文件句柄

输出 wav 文件。

rate int

采样率(以样本/秒为单位)。

data ndarray

整数或浮点数据类型的一维或二维 NumPy 数组。

注意

  • 编写一个简单的未压缩 WAV 文件。

  • 要编写multiple-channels,请使用形状的二维数组(Nsamples,Nchannels)。

  • bits-per-sample 和 PCM/float 将由数据类型决定。

常见数据类型:[1]

WAV 格式

最大限度

NumPy 数据类型

32 位浮点

-1.0

+1.0

float32

32 位 PCM

-2147483648

+2147483647

int32

16 位 PCM

-32768

+32767

int16

8 位 PCM

0

255

uint8

请注意,8 位 PCM 是无符号的。

参考

[1]

IBM Corporation 和 Microsoft Corporation,“多媒体编程接口和数据规范 1.0”,“样本的数据格式”部分,1991 年 8 月http://www.tactilemedia.com/info/MCI_Control_Info.html

例子

创建一个 100Hz 正弦波,以 44100Hz 采样。写入 16 位 PCM,单声道。

>>> from scipy.io.wavfile import write
>>> import numpy as np
>>> 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))

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.io.wavfile.write。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。