Как получить уровень громкости wav файла?

Мне нужно что-то вроде класса или функции или что-то, что может принять файл WAV в качестве входных данных и дать мне значение vloums.
если что-то вроде этого не существует, как я должен получить эти значения?
есть ли способ вообще?

Я получил частоты, я хочу громкость.
кстати я кодирую в C ++.
Спасибо за ваши ответы.

объяснение: под громкостью я подразумеваю интенсивность и амплитуду звука.

0

Решение

принимая во внимание http://soundfile.sapp.org/doc/WaveFormat/ Я не думаю, что объем информации может быть получен из самого файла WAV. Также, как правило, «том» зависит от аппаратного обеспечения воспроизведения файла WAV, а не от самого файла WAV, если я не ошибаюсь.

0

Другие решения

Объем связан с измеряемой величиной: среднеквадратичное значение (RMS). Как только вы получите доступ к звуковой кривой, среднеквадратичное значение может быть рассчитано для выбранного размера аудиобуфера (весь клип или некоторая часть). Концептуально вы просто просматриваете набор выборок (каждая запись в буфере), где, например, значения звуковой кривой могут варьируйте от -1 до +1, и вы возводите в квадрат каждое значение, затем добавляете к промежуточной сумме, а затем берете квадратный корень из этой суммы Среднеквадратическое значение — это просто среднее значение исходных значений. Если не считать собственных реализаций проверки алгоритмов: ReplayGain

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector