Я работаю над небольшим проектом, в котором я записываю файл .wav , а затем читаю его кадры, используя wave в Python.
Итак, я пытаюсь получить массив / список кадров, умножить на 2 каждый кадр и создать новый файл .wav или изменить фактический.
Итак, есть несколько хороших сообщений в Интернете о чтении в волновом файле и получении кадров с помощью .readframes () , где я получаю ndarray . Я получаю каждый кадр с помощью этой строки кода:
(struct.unpack("<h",frame[i]))[0]
Вопрос в том, как только я получу данные в списке и умножу их ... Есть ли способ создать новый волновой файл или напрямую обновить значения до фактического?
Код для чтения в файле:
filename="/path/to/file/file.wav"
rfile = wave.open(filename, 'r')
framesTmp= rfile.readframes(-1)
frames= np.fromstring(signalTmp, 'Int16')
#get list of frames
data=[]
for i in range(0,len(signal)-1):
data.append((struct.unpack("<h",signal[i]))[0]*2)
rfile.close()