Что целое число типа используется для кадров данных MP3?

голоса
0

Я пишу универсальную библиотеку парсер для различных бинарных форматов в Русте как часть личного проекта. Я начал исследовать структуру файлов MP3 - файлов. Как я понимаю, MP3 - файл структура состоит из заголовка и данных кадров. Каждый кадр заголовка содержит мета информацию о кадре исходя данных. Вот схема и список допустимых значений для кадров заголовков MP3 , которые я ссылка.

Я понимаю , формат заголовка MP3. Моя путаница, или отсутствие информации, окружает кадры данных MP3. Я не могу найти источник , который определяет , какие целочисленный тип выборки кодируются как в части кадра данных файла MP3. Они 8 бит, 16 бит, 32 бит, подписанная, без знака, и т.д.?

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

Я не пытаюсь расшифровать эти файлы, я просто пытаюсь разобрать их. У меня было удивительно трудно найти эту информацию. Любая информация или полезно кому-то предложение может было бы оценено.

Задан 14/01/2020 в 00:00
источник пользователем
На других языках...                            


1 ответов

голоса
2

Несмотря на то, что это не связано с .mp3 сами по себе, не может потенциально быть некоторая полезная информация , содержащаяся в книге, С. Pirkle в, Проектирование аудио эффектов плагинов в C ++ .

Он обсуждает способ , в котором .wav аудиоформат хранит свою информацию. Он использует подписал целые числа , начиная с 32768 до 32767. Это представляет собой ряд 2 ^ 16 в биполярном формате, где показатель соответствует битовой глубине (обычно 16 или 24).

Еще одна важная вещь, чтобы отметить, что при инверсии фазы является обычным явлением во многих аудио приложений, не соответствующее число для инвертирования 32768. Для того, чтобы компенсировать, это общая для лечения значения 32768 как -32,767. Это имеет значение только, хотя, если вы используете значение 0 в вашей обработке, что чаще всего и бывает. В противном случае, можно было бы расширить верхний предел 32768.

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

Я жалею, что не имеют больше информации о .mp3s конкретно, но, возможно, это еще может быть проницательным.

Удачи!

Ответил 14/01/2020 в 20:02
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more