мне нужно сохранить wav file ( 16 бит) в 8 bit файл расширения bin, и обратно сконвертировать его в wav file.
Мой код:
1) Конвертирую wav в bin:
rate,data = wav.read(track)
scaled =np.array(data/255,dtype='int8')
b = open('encoded8bit.bin', 'wb')
pickle.dump((rate,scaled), b)
b.close()
2) Получив bin файл, 8 бит, конвертирую его в wav файл обратно(8 бит)
rate,data = wav.read(track)
be = open(binary_file, 'rb')
beLoad=pickle.load(be)
be.close()
data=np.array(beLoad['data'],dtype='int8')
wav.write('decoded8bit.wav',beLoad['rate'],(data+128).astype('uint8'))
После запуска кода выводит ошибку:
TypeError Traceback (most recent call last)
in ()
1 from decfr8bit import decframewk8bit
2 binary_file='encoded8bit.bin'
—->3 decframewk8bit(binary_file)
C:\Users\User\decfr8bit.py in decframewk8bit(binary_file)
12 beLoad=pickle.load(be)
13 be.close()
—> 14 data=np.array(beLoad,dtype='int8')
15 wav.write('decoded8bit.wav',beLoad,(data+128).astype('uint8')) 16
TypeError: tuple indices must be integers or slices, not str
что делаю не так? Как мне исправить ошибку?