Анализатор спектра аудио - FFT в реальном времени с микрофона

Наблюдайте звук как живой частотный спектр: столбцы FFT, пиковую частоту и ближайшую музыкальную ноту прямо с микрофона.

Нажмите «Запустить» и разрешите доступ к микрофону. Свистите, играйте на инструменте или дайте комнате зазвучать — анализатор покажет, где сосредоточена энергия, и назовет самую сильную частоту. Ничего не записывается и не загружается.

Анализатор спектра аудио - FFT в реальном времени с микрофона
Наблюдайте звук как живой частотный спектр: столбцы FFT, пиковую частоту и ближайшую музыкальную ноту прямо с микрофона.
Пиковая частота
— запустите микрофон для измерения
Частотное разрешение
23.44 Hz
Окно анализа
42.67 ms
Частотные бины
1,024

Частотное разрешение = частота дискретизации ÷ размер FFT; окно анализа = размер FFT ÷ частота дискретизации; FFT дает размер FFT ÷ 2 полезных бинов до половины частоты дискретизации.

Разрешение показано для номинальной частоты дискретизации 48,000 Hz; после запуска микрофона используется фактическая частота вашего устройства.

Об этом анализаторе спектра реального времени

Анализатор спектра превращает звук в картинку: по горизонтали расположена частота, по вертикали — уровень, а каждый столбец показывает, сколько энергии микрофон улавливает в узкой частотной полосе. Внутри AnalyserNode много раз в секунду выполняет быстрое преобразование Фурье (FFT) для входящего аудио. Выбранный размер FFT задает главный компромисс спектрального анализа: большая FFT делит спектр на более тонкие части, улучшая частотное разрешение, но требует более длинного отрезка аудио на кадр и ухудшает временное разрешение. При 48,000 Hz FFT на 2,048 точек различает около 23.4 Hz на бин и реагирует примерно за 43 ms; FFT на 8,192 точек повышает разрешение до 5.9 Hz на бин, но окно в 171 ms размывает быстрые переходные процессы. Для барабанов и речи выбирайте малый размер, для настройки и работы с басом — большой. Классическое применение — акустика помещения: включите через колонки песню или розовый шум и смотрите на спектр. Упрямый бугор в области от 40 до 120 Hz, растущий в углах, — это комнатная мода, стоячие волны, определяемые размерами комнаты. Перемещение колонок или точки прослушивания заметно его сглаживает. Звукорежиссеры используют анализаторы для поиска обратной связи: когда PA начинает заводиться, частота обратной связи проявляется как тонкий постоянно растущий пик, а пиковое значение подсказывает, какую частоту нужно убрать графическим эквалайзером до того, как раздастся свист. Музыканты могут читать гармоники напрямую. Сыграйте одну гитарную ноту — увидите основную частоту и лестницу обертонов на целых кратных. Ля на 110 Hz даст пики около 220, 330 и 440 Hz. Это помогает понять тембр, заметить энергию дребезга ладов или проверить, где находятся парциалы струны фортепиано. Пиковое значение переводит самую сильную частоту в ближайшую ноту равномерной темперации и отклонение в центах, поэтому анализатор может служить приблизительным хроматическим тюнером для свиста, пения и инструментов с протяжным звуком. Кнопка «Зафиксировать» удерживает текущий кадр, чтобы его можно было рассмотреть; умеренное сглаживание между кадрами делает столбцы читаемыми. В потоке микрофона отключены эхоподавление и шумоподавление, поскольку они намеренно меняют наблюдаемый спектр. Все работает локально в браузере: сигнал микрофона анализируется в памяти и никогда не записывается, не сохраняется и не передается.

Как читать спектр: практические примеры

Типичные случаи с реалистичными числами при частоте дискретизации 48,000 Hz.

Вы анализируетеЧто показывает экранТолкование
Свистящую нотуОдин чистый пик, например пик 1,047 Hz — C6, почти без гармоникСвист почти является чистым синусоидальным тоном, поэтому отлично подходит для проверки тюнера.
Открытую низкую струну ми гитары (82.4 Hz)Пики около 82, 165, 247 и 330 HzЛестница гармоник на целых кратных основной частоты придает гитаре ее тембр.
PA на грани обратной связиТонкий постоянный пик, растущий на одной частоте, например 2,510 HzЗафиксируйте экран, прочтите пик и срежьте эту полосу эквалайзером, пока система еще не засвистела.
Музыку в маленькой необработанной комнатеШирокий подъем в районе 45–60 Hz, растущий у стенЭто комнатная мода: для комнаты 4 m первая осевая мода находится около 43 Hz (343 ÷ 2 × 4).
Тишину с размером FFT 8,192Низкий шумовой фон; разрешение около 5.9 HzБольшие FFT выявляют узкополосный гул: сетевой гул виден на 50 или 60 Hz и их кратных.

Как пользоваться анализатором спектра

  1. Нажмите «Запустить микрофон» и разрешите доступ, когда браузер попросит; столбцы сразу начнут двигаться.
  2. Выберите размер FFT: 2,048 для быстро меняющегося материала, 4,096 как универсальный вариант, 8,192 для точной работы с низкими частотами.
  3. Создайте звук — включите музыку, инструмент или тестовые тоны — и считайте пиковую частоту и ближайшую ноту.
  4. Нажмите «Зафиксировать», чтобы рассмотреть интересный кадр, затем «Продолжить».
  5. По окончании нажмите «Остановить»; поток микрофона будет полностью освобожден.

Частые вопросы об анализаторе спектра

Что на самом деле меняет размер FFT?
Он задает число отсчетов в каждом кадре анализа. Частотное разрешение равно частоте дискретизации, деленной на размер FFT: при 48,000 Hz FFT 2,048 дает бины шириной около 23.4 Hz, а 8,192 сужает их до 5.9 Hz. Цена — время: большие FFT усредняют более длинное окно, поэтому быстрые события выглядят размытыми.
Почему пиковое значение прыгает на музыке?
В настоящей музыке самая громкая частота постоянно меняется: в один момент это бочка, в следующий — голос. Для стабильного значения анализируйте один устойчивый источник, например удержанную ноту, свист или тестовый тон. Другой вариант — зафиксировать кадр и спокойно его прочитать.
Можно использовать это как тюнер для инструмента?
Да, для устойчивых достаточно чистых тонов: пик переводится в ближайшую ноту и отклонение в центах. Для низких струн сначала переключитесь на FFT 8,192: при 48,000 Hz бины около 5.9 Hz близки к полутону на басовых частотах, что является пределом простого чтения пика FFT. Специализированный тюнер интерполирует точнее.
Как найти частоту обратной связи?
Подведите систему к началу завода, найдите тонкий пик, который продолжает расти, пока все остальное движется, зафиксируйте экран и прочтите пиковую частоту. В небольших PA частыми виновниками являются 250–500 Hz в гулких комнатах и 2–4 kHz для вокальных микрофонов, направленных на мониторы. Срежьте там узкую полосу и повторите проверку.
Почему я не вижу ничего выше примерно 20 kHz?
FFT может сообщать частоты только до половины частоты дискретизации — предела Найквиста: 24,000 Hz для устройства с 48,000 Hz. Большинство микрофонов и цепей захвата, ориентированных на голос, спадают намного раньше, поэтому полезный верхний предел микрофона ноутбука обычно составляет 16–20 kHz.
Записывается или куда-то отправляется звук с микрофона?
Нет. Поток поступает прямо в узел анализатора браузера, который вычисляет амплитуды и сразу отбрасывает аудио. Ничего не сохраняется; остановка анализатора полностью освобождает микрофон, и индикатор записи в браузере выключается.