Алгоритм получения аудиоспектра

By Денис Чащин  

У нас есть массив (длина массива N), в котором записан аудио файл. Хочется построить спектр аудио. Для этого нужно сделать:

  1. Преобразуем массив к нужному виду, тоесть к массиву комплексных чисел. Мнимую часть числа ставим равной нулю.
  2. Производим фурье-преобразование массива, в котором записан аудио-файл. Для этого удобно использовать существующие библиотеки, делающие быстрое фурье преобразование(FFT).
  3. Считаем для каждого комплексного числа из первой половины полученного массива (N/2) значение его модуля (magnitude). Для этого можно использовать формулу sqrt(re*re + im*im).
  4. Нормализуем полученные значения Norm = (2 * magnitude)/N).
  5. Если нужно перевести полученные значения в dB, можно воспользоваться формулой 20 * log10(Norm).

В результате получается N/2 значений, которые как раз и являются искомыми.


Post a Comment

Your email is never shared. Required fields are marked *

*
*