Написание wav-файла на Python с помощью wavfile.write из SciPyPython

Программы на Python
Ответить
Anonymous
 Написание wav-файла на Python с помощью wavfile.write из SciPy

Сообщение Anonymous »

У меня есть этот код:

Код: Выделить всё

import numpy as np
import scipy.io.wavfile
import math

rate, data = scipy.io.wavfile.read('xenencounter_23.wav')

data2 = []

for i in range(len(data)):
data2.append([int(round(math.sin(data[i][0])*3000)), int(round(math.sin(data[i][1])*3000))])

data2 = np.asarray(data2)

print data2

scipy.io.wavfile.write('xenencounter_23sin3.wav',rate,data2)
Это печатает (усечено):

Код: Выделить всё

[[-2524  2728]
[ -423 -2270]
[ 2270   423]
...,
[-2524     0]
[ 2524 -2728]
[-2270   838]]
Файл WAV открывается и воспроизводится в проигрывателе Windows Media, так что, по крайней мере, его формат правильный. Однако при открытии его с помощью Audacity и просмотре отдельных образцов все они равны 0, и, соответственно, файл вообще не воспроизводит звук.

Чего я не понимаю, так это того, как этот цифровой массив, указанный выше, становится все 0. Оно должно быть ниже максимального значения для образца (или выше, если оно отрицательное).

Подробнее здесь: https://stackoverflow.com/questions/186 ... from-scipy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»