Как обработать поток данных сэмплов из большого аудиофайла, используя python - PullRequest
0 голосов
/ 06 марта 2020

Кстати, мне это нужно для python 2.7. Мне нужно обрабатывать аудиосэмплы из больших аудиофайлов (в основном типа mp3 и wav, но могут быть и другие) без предварительного считывания всего файла в память, используя python. В настоящее время я использую os.popen для использования функции обрезки sox, чтобы разделить файл на несколько файлов, которые не будут занимать всю оперативную память системы. Но я думаю, что должен быть более элегантный способ сделать это, каким-то образом я могу открыть поток данных сэмплов файла, а затем обработать их и отбросить обработанные как I go: ie: получить n сэмплов из файл, обработать их, отбросить их и получить еще n образцов с того места, где я остановился. Сложность работы с аудиофайлами заключается в том, что они имеют заголовки различной длины, а затем сэмплы находятся в 1 или более каналах, так что это не так просто, как использовать io.open и установить размер буферизации при использовании одного из других потоков буферизации io. что я знаю, и это будет работать одинаково с различными типами аудио.

...