Нарезать аудиофайл на десять сегментов

Рекомендации приветствуют, как разрезать файл .wav 1 на сегменты с временным разделением, используя библиотеку Python.

1 Фактический тип файла на самом деле не такой материал, я уверен, что смогу преобразовать между различными типами, если это необходимо.

Я бы предложил посмотреть структуру данных для данного файла и «вырезать» данные в соответствующей точке вдоль линии, чтобы кадры не были отброшены раньше.

Это означало бы просмотр частоты записи и скорости передачи битов и использование этого для получения размера (в битах) каждого кадра. Затем вы можете брать сегменты аудио без резки отдельных данных кадра.

Взгляните на эту публикацию SO . Он предлагает рассматривать ваш звук как двоичную строку чтения. Поскольку это строка, вы можете в основном копировать, вырезать и перемещать строку, как вы хотите, в новый выходной файл.

Проверьте это: http://docs.python.org/library/binascii.html

Также стоит посмотреть: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

Либо это, либо просто сохранить его как двоичный и использовать байтовые массивы. Нужно подумать о файле заголовка и о том, что с ним происходит, хотя каждый формат отличается. MP3 легко сохранить заголовок, поскольку он чередуется среди данных:

http://en.wikipedia.org/wiki/Mp3#File_structure

Хорошо, куча вещей.


НАКОНЕЦ: Один, который вы, несомненно, уже видели: http://sourceforge.net/projects/audiotools/

Обновлено ….

Используйте метод bits_per_sample() в ссылке на аудио инструменты от sourceforge.net

Returns the number of bits-per-sample in this audio file as a positive integer.

Затем разделите свой звук на массив байтов, используя эту информацию и некоторую информацию сверху. Вы можете хотя бы точно воссоздать некоторые аудиоданные RAW.

Вы можете взять длину файла в битах и ​​разделить его на 16. Затем вы можете использовать метод для разделения массива в зависимости от времени в миллисекундах. Это звучит сложно, но это действительно рудиментарные математики.

Я бы использовал волновой модуль, чтобы открыть файл, прочитать заголовки, выяснить, сколько кадров за 10 секунд, а затем прочитать много кадров. Записывайте эти кадры в файлы с одинаковой информацией заголовка (кроме длины) до тех пор, пока не закончите.