當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。