У меня возник вопрос о написании WAV-файла. Вот некоторые данные:Написание WAV-файлов и создание копии для wav-файла
записывает файл WAV по имени файла с двумя каналами, два байта ширины образца, частоты кадров, как определяется framerate
, с len(sound
) образцов, тип сжатия «NONE
», и сжатие имя " not compressed
'
Вот мой код:
import wave
import struct
def loadstereowav(filename):
w = wave.open(filename, 'r')
nchannels, sampwidth, framerate, nframes, comptype, compname = w.getparams()
assert nchannels == 2 and sampwidth == 2 and comptype == 'NONE'
frames = w.readframes(nframes * nchannels)
sound = struct.unpack_from((str(nframes)+'h') * nchannels, frames)
w.close()
return framerate, sound
def savestereowav(filename, framerate, sound):
w1 = wave.open(filename, "w")
for i in range(0, len(sound)):
w1.write(struct.pack('>h', framerate))
Вот некоторые тест:
>>> rate, sound = loadstereowav('love.wav')
>>> savestereowav('love_copy.wav', rate, sound)
Мне нужно написать функцию savestereowav(filename, framerate, sound)
, чтобы загрузить и сохранить файл, необходимо создать копию.
Например, загрузите «love.wav» и сделать копию с «love_copy.wav»
Но я не представление о том, как иметь дело с файлом WAV.
Помогите мне с этим вопросом?