У меня есть скрипт для записи музыкальных нот в каталог на основе объекта байта, возвращенного из моего HTTP-запроса. У меня проблема в том, что звуковой файл .ogg имеет длину 5 секунд, и в идеале я хотел бы сократить его до 0,5 секунд. Возможно ли это сделать, просто отбросив куски объекта байта?
Я знаю, что через pysoundfile можно использовать кадры и частоту дискретизации, чтобы вычислить длительность и, следовательно, написать кадры 'x'. Однако это возможно только для статических скоростей, а частота дискретизации для этих файлов неизвестна из-за музыкальных нот, извлекаемых в необработанном виде.
Часть кода, который я написал, приведена ниже.
for notenumbers in range(48, 64+1):
note = requests.get(url.format(instrument, notenumbers))
notebinary = note.content
time.sleep(3)
with open("E:\\useraccount\\x\\x\\"+str(dirname)+"\\"+str(instrname)+"\\"+str(instrname) +"-" +str(notenumbers) +".ogg", "wb") as o:
print("Creating file named: " +str(instrname) +":" +str(notenumbers) +".ogg")
o.write(notebinary)
Спасибо, если вы можете помочь с этим!