binarySound = bytearray()
binaryHeader = bytearray()
with open("a2002011001-e02.wav",'rb') as f:
binaryHeader = f.read(44)
binarySound = f.read()
Это должно быть то, что вы ищете. При этом первые 44 байта (предположительно заголовок) будут считаны в переменную binaryHeader
, а остальные звуковые данные - в переменную binarySound
.
Чтобы вернуть музыкальный файл обратно, вы можете просто добавить эти два файла вместе
song = bytearray()
with open("header.bin","rb") as h:
song = h.read()
with open("data.bin","rb") as d:
song += d.read()
with open("new.wav","wb") as f:
f.write(song)
РЕДАКТИРОВАТЬ: Чтобы включить редактирование в OP для нумерует массив:
import numpy
binarySound = {}
binaryHeader = {}
song = {}
with open("a2002011001-e02.wav",'rb') as f:
buffer = f.read(44)
binaryHeader = numpy.frombuffer(buffer,dtype=numpy.uint8)
buffer = f.read()
binarySound = numpy.frombuffer(buffer,dtype=numpy.uint8)
with open("header.bin","wb") as f:
f.write(binaryHeader)
with open("data.bin","wb") as f:
f.write(binarySound)
with open("header.bin","rb") as h:
song = h.read()
with open("data.bin","rb") as d:
song += d.read()
with open("new.wav","wb") as f:
song = numpy.array(song)
f.write(song.tobytes())