У меня есть этот код:
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, и, соответственно, файл вообще не воспроизводит звук.
То, что я не понимаю, это то, как этот массив numpy, указанный выше, становится все 0. Он должен быть ниже максимального значения для образца (или выше, если он отрицательный).