Собствено надо реализовать индикацию уровня звука в реальном времени как например соундфордже проблема в том что непонятно как именно считать этот уровень в идеале былобы получить еще и уровни низких/средних/высоких частот
"Уровень звука" - средняя амплитуда - усредняем по некоторому времени модуль... напряжения (не знаю как лучше обозвать). Потом можно прологарифмировать и привести к дециБелам если нужно. Если нужен спектральный анализатор - делаем быстрое (дискретное) преобразование Фурье (БПФ). В инете много статей и исходников.
уровень - через СКЗ, относительно например максимального значения -3дБ уровни в полосах частот - через фильтры
Тут зависит от того в каком формате доступны данные и сколько уровней отображения. Ну на пример PCM 16 бит и 16 уровней: Всё просто, индикатор уровня заполнить до номера последнего значащего бита в усредненном значении звука. Среднее значение бери за N последних отсчетов. Код: 0000100101010000 Уровень: ----########## Чем больше N, тем медленее будет нарастать и спадать индикатор. Можно также проверять значение текущего уровня со средним. Еесли текущий больше, тогда пропустить усреднение и присвоить его среднему, иначе считать среднее значение. В таком случае индикатор будет нарастать мгновенно, а спадать медленно. Конечно всё крайне нелинейно и ... но просто. Если не нужна точность, а тольно визуальное отображение, то и так сойдет.
S_Alex Данные поступают с стереомикса в формате моно 44100 гц 16 бит точность не важна (у индикатора всего девять позиций) но важна минимальная задержка (в идеале должна быть незаметна) скз показывает реальное значение если смотреть по амплитуде но оно не совпадает с слуховым восприятием тоесть от изменения спектра громкость не меняется а человек слышит резкое изменение буду курить БПФ