scipy.io.wavfile.

запись#

scipy.io.wavfile.запись(filename, скорость, данные)[источник]#

Запись массива NumPy как WAV-файла.

Параметры:
filenameстрока или открытый файловый дескриптор

Выходной wav-файл.

скоростьint

Частота дискретизации (в отсчетах/сек).

данныеndarray

Одномерный или двумерный массив NumPy целочисленного или вещественного типа данных.

Примечания

  • Записывает простой несжатый WAV файл.

  • Для записи нескольких каналов используйте 2-D массив формы (Nsamples, Nchannels).

  • Биты на выборку и PCM/float будут определяться типом данных.

Общие типы данных: [1]

Формат WAV

Min

Макс

Тип данных 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, «Multimedia Programming Interface and Data Specifications 1.0», раздел «Data Format of the Samples», август 1991 http://www.tactilemedia.com/info/MCI_Control_Info.html

Примеры

Создать синусоиду 100 Гц, дискретизированную на 44100 Гц. Записать в 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))