Мне нужно конвертировать в волновой файл - PullRequest
0 голосов
/ 02 июля 2011

Вот моя работа.

import matplotlib.pyplot as plot
import numpy as num

def xr(start, stop, step):
    while start < stop:
        yield start
        start = start + step

wavef = lambda x: num.sin(x)/x

t0 = [wavef(x) for x in xr(5.0,200.0,0.1) if x is not 0]

plot.plot(t0)
plot.show()

1 Ответ

0 голосов
/ 02 июля 2011

Python имеет модуль wave wave - чтение и запись файлов WAV .

Пример того, как использовать его для записи данных функции в файл WAV, приведен здесь, Создание синтетического волнового файла с синусоидальной волной и Как создать простой файл .wav с помощью Python .

Вы также можете использовать Audiolab .

Поскольку вы уже используете numpy, вы можете использовать numpy.linspace или numpy.arange вместо функции xr. Что-то вроде

x = num.arange( 5.0, 200.0, 0.1 )
wavef = num.sin(x)/x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...