Аналіз частот у реальному часі · Web Audio API · Логарифмічна шкала
Аналізатор спектру в реальному часі на основі AnalyserNode Web Audio API.
Оберіть одне із шести вбудованих аудіоджерел — синусоїду, білий і рожевий шум,
пилоподібний та меандр, а також музичний акорд — і миттєво побачите їхні спектральні
«відбитки пальців» на логарифмічній осі частот у дБ. Маркери утримання піків та
осцилоскоп дають повну картину сигналу в часі й частоті.
FFT (швидке перетворення Фур'є) розкладає будь-який сигнал у часовій області на
частотні складові. Для сигналу, відібраного з частотою fs
і кількістю зразків N, FFT дає N/2 частотних бінів шириною
fs/N Гц кожен. AnalyserNode Web Audio API обчислює
оконне FFT за вікном Блекмана для зменшення спектральних витоків. Подвоєння розміру FFT
удвічі підвищує частотну роздільність, але вдвічі знижує часову — фундаментальний
компроміс між часом і частотою.
Оберіть джерело звуку кнопками вище. Спектр показує частоту (20 Гц–20 кГц, логарифмічна шкала) відносно амплітуди (дБ). Для синусоїди перетягніть повзунок частоти і спостерігайте, як рухається одиничний пік. Переключіться на пилоподібний і побачите основну та парно-непарні гармоніки. Рожевий шум демонструє спад 1/f (~3 дБ/октаву). Збільшуйте розмір FFT для вищої частотної роздільності.
Швидке перетворення Фур'є (1965, Кулі та Тюкі) скоротило обчислення ДПФ від O(N²) до O(N log N) — FFT на 1024 зразках приблизно в 100 разів швидше за наївний ДПФ. Сучасні аудіоеквалайзери, розпізнавання мовлення і «відбитки пальців» музики (Shazam) — усе це побудовано на аналізі FFT. Людське вухо сприймає частоту приблизно логарифмічно, тому аналізатори спектру використовують логарифмічну вісь частот.