Коэффициент гармоники
задает опции с использованием одного или нескольких hr
= harmonicRatio(audioIn
,fs
,Name,Value
)Name,Value
аргументы в виде пар.
hr = harmonicRatio(audioIn,fs,'Window',rectwin(round(fs*0.1)),'OverlapLength',round(fs*0.05))
возвращает коэффициент гармоники для аудио входного сигнала, дискретизированного в fs
Гц. Коэффициент гармоники вычисляется для прямоугольных окон 100 мс с перекрытием 50 мс.Коэффициент гармоники вычисляется как описано в [1]. Следующий алгоритм применяется независимо к каждому окну аудио данных. Нормированная автокорреляция сигнала определяется как:
где
s является одним из системы координат аудио данных с N элементами.
M - это максимальная задержка в вычислении. Максимальная задержка составляет 40 мс, что соответствует минимальной основной частоте 25 Гц.
Первая оценка гармонического отношения определяется как максимум нормализованной автокорреляции в заданной области значений:
где M 0 - нижнее ребро поисковой области значений, определяемая как первое пересечение нуля нормализованной автокорреляции.
Наконец, оценка гармонического отношения улучшается с помощью параболической интерполяции, как описано в [2].
[1] Ким, Хён-Гук, Николас Моро и Томас Сикора. MPEG-7 аудио и за его пределами: индексация и извлечение аудиоконтента. John Wiley & Sons, 2005.
[2] Квадратичная интерполяция спектрального Peaks. Доступ к 11 октября 2018 года. https://ccrma.stanford.edu/~jos/sasp/Quadratic_Interpolation_Spectral_Peaks.html