Прочитайте и поймите содержание файла AMR на Android - PullRequest
0 голосов
/ 13 июня 2019

Я хочу открыть файл AMR, чтобы иметь возможность выполнять алгоритмы обработки сигналов для содержимого (например: какова высота звука?). Я знаю, что вы можете открыть эти файлы в медиаплеере, но я хочу получить фактическое содержимое файла.

В какой-то момент я распечатал содержимое и получил целую кучу, но понятия не имел, что они означают.

Любая помощь очень ценится. Спасибо!

1 Ответ

1 голос
/ 14 июня 2019

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

Данные, которые вы просматриваете, являются, вероятно, необработанными байтами, которые необходимо преобразовать в PCM (импульсная кодовая модуляция). Java Обзор выборочного пакета немного говорит об отношении байтов к PCM, как определено определенным форматом.

Например, если формат задает 16-битную кодировку, то два байта (каждый из которых составляет 8 бит) будут объединены, чтобы сформировать одно значение PCM, которое будет находиться в диапазоне от -32767 до 32767. (Некоторые люди работают с этими числами напрямую. другие масштабируют числа до чисел от -1 до 1).

И если файл имеет скорость 44100 кадров в секунду, то будет 44100 «кадров» данных в секунду, где кадр, скорее всего, будет моно или стерео (один PCM или два значения PCM на кадр)

Учебник довольно быстро знакомится со спецификой Java, но, по крайней мере, дает базовую картину, и у вас будет больше терминов, которые можно использовать при поиске чего-то более специфичного для Android.

Если вы хотите углубиться в детали или подробности, вы можете обратиться к Руководству ученого и инженера по цифровой обработке сигналов Стива Смита. Это бесплатная онлайн-книга, которая мне показалась чрезвычайно полезной.

...