запись#
- 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))