для распаковки требуется строковый аргумент длины 2

Я не могу понять, в чем проблема с моим кодом

import wave,struct,math

waveFile = wave.open("F:/mayaSound/ChillingMusic.wav", "rb") 
volume = []

frames = waveFile.getnframes()
rate = waveFile.getframerate()
length = frames / int(rate)


for i in range (0,length):
    waveData = waveFile.readframes(1)

    data = struct.unpack("<h",waveData)
    temp = (int(data[0])-128) / 128
    volume.append(20*math.log10(abs(temp) + 1))


print volume

waveFile.close() 

это дает мне

Error: error: file <maya console> line 14: unpack requires a string argument of length 2 # 

person Swapnil Revankar    schedule 13.05.2015    source источник
comment
Так какой у тебя размер рамы? Размер зависит от типа кодируемого звука.   -  person Martijn Pieters    schedule 13.05.2015
comment
Длина моего аудиофайла 27 . это аудио, которое я использую dropbox.com/s/lrz5yhzbomf91r8/ChillingMusic .wav?dl=0   -  person Swapnil Revankar    schedule 13.05.2015
comment
Спасибо за ответ. На самом деле я новичок в этом деле. Я пытался использовать struct.calcsize('‹h'), это дает мне 2... но я не знаю, что именно нужно сделать, чтобы мой код работал.   -  person Swapnil Revankar    schedule 13.05.2015
comment
Спасибо за помощь, Кристик, я обнаружил, что это была ошибка, просто пришлось изменить ‹h на ‹i   -  person Swapnil Revankar    schedule 13.05.2015