2009-12-07 2 views
2

У меня сегодня есть интересный вопрос.аудио в 8-битное преобразование образца текста

Мне нужно, чтобы конвертировать некоторые аудио файлы pokemon в список 8-битных выборок (0-255 значений). Я пишу процедуру сборки на чипсете MC6800, для которого эти звуки будут воспроизводиться. Я планирую включить массив с 8-битными образцами, которые программа будет прокручивать при вызове функции.

Кто-нибудь знает способ преобразования аудиофайлов (wav/mp3) в список разделенных запятыми 8-битных значений образца текста? Или что-нибудь из этого относительного метода?

Большое вам спасибо!

ответ

2

Вы можете использовать инструмент командной строки «sox» или аудиоредактор Audacity для преобразования файла в необработанный 8-битный монофонический файл без знака.

В Audacity 1.3 или выше откройте аудио, затем выберите «Экспорт», выберите «Wave, AIFF и другие несжатые типы» в качестве формата, затем нажмите «Параметры» ... - затем выберите «Другое ...» для формата , "RAW" для заголовка и 8-битный PCM подписи в качестве кодировки. (Извините, неподписанный не доступен.)

Из командной строки попробуйте sox с -c 1 для 1 канала, -t raw для без заголовка, -u для unsigned linear и -1 для 1 байта на образец.

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

0

Если sox не имеет его, вам придется использовать его для создания необработанных (без заголовков) файлов и преобразования необработанных файлов в разделенные запятыми.

EDIT: sox имеет «сырые текстовые данные» в качестве одного из своих форматов, с веб-страницы. Вы можете преобразовать ваши звуковые файлы в беззнаковые 8-битные линейные образцы в первый проход, а затем, вероятно, получить именно тот результат, который вы хотите использовать с этой опцией для вывода.

0

Для .wav это очень простой процесс. Вы легко можете найти спецификацию .wav с поиском google. Он содержит заголовок, а затем просто необработанные образцы. Сначала вы должны прочитать заголовок, а затем пропустить все образцы. Обычно они представляют собой 16-разрядные образцы, поэтому вы хотите нормализовать их с диапазона от -32768 до 32767 до вашего диапазона 0-255. Сначала я предлагаю простое масштабирование. Если это не удастся, возможно, найдите фактический минимум и максимум среди образцов и соответствующим образом настройте масштаб.

0

Ну, многое зависит от вашего аудиоформата. Формат волны, например, состоит из несжатых чередующихся PCM-данных.

т.е. для 8-битного стереофайла каждый образец будет организован следующим образом.

[Левый образец 1] [Правый образец 1] [Левый образец 2] [Правый образец2] ... [Левый образец n] [Правый образец n].

т. Е. Каждый 8-битный стерео образец хранится в 2 байтах. 1 для левого канала и 1 для правой. Это формат данных, который, скорее всего, потребует ваше звуковое оборудование.

16 или 24-битный аудиофайл будет работать по-разному, но левый и правый образцы будут соответственно 2 или 3 байта.

Очевидно, что в волновом файле имеется информация extyra. Это следует за форматом RIFF. Вы можете найти информацию об этом, а волновые файлы «кусков» используются в таких местах, как www.wotsit.org.

Чтобы разложить MP3, это сложнее. Лучше всего выдернуть декомпрессор и запустить его на аудио в формате MP3. IT будет выплевывать данные PCM, как указано выше с другой стороны.

Смежные вопросы