Анализ качества музыкального материала с использованием программных средств. Осцилограф, анализатор спектра, звуковой измеритель и генератор в одной программе Wavetools

Алексей Лукин

Спектроанализатор - прибор для измерения и отображения спектра сигнала - распределения энергии сигнала по частотам. В этой статье рассматриваются основные виды анализаторов спектра и иллюстрируется их применение для редактирования и реставрации звука. Особое внимание уделяется современным анализаторам, основанным на FFT - быстром преобразовании Фурье.

Зачем анализировать спектр?

Традиционно в цифровой звукозаписи аудиодорожка представляется в виде осциллограммы, отображающей форму звуковой волны (waveform), то есть зависимость амплитуды звука от времени. Такое представление достаточно наглядно для опытного звукорежиссёра: осциллограмма позволяет увидеть основные события в звуке, такие как изменения громкости, паузы между частями произведения и зачастую даже отдельные ноты в сольной записи инструмента. Но одновременное звучание нескольких инструментов на осциллограмме "смешивается" и визуальный анализ сигнала становится затруднительным. Тем не менее, наше ухо без труда различает отдельные инструменты в небольшом ансамбле. Как же это происходит?

Когда сложное звуковое колебание попадает на барабанную перепонку уха, оно с помощью серии слуховых косточек передаётся на орган, называемый улиткой. Улитка представляет собой закрученную в спираль эластичную трубочку. Толщина и жёсткость улитки плавно меняются от края к центру спирали. Когда сложное колебание поступает на край улитки, это вызывает ответные колебания разных частей улитки. При этом резонансная частота у каждой части улитки своя. Таким образом улитка раскладывает сложное звуковое колебание на отдельные частотные составляющие. К каждой части улитки подходят отдельные группы слуховых нервов, передающие информацию о колебаниях улитки в головной мозг (более подробно о слуховом восприятии можно прочитать в статье "Основы психоакустики " И. Алдошиной в журнале "Звукорежиссер" №6, 1999). В результате в мозг поступает информация о звуке, уже разложенная по частотам, и человек легко отличает высокие звуки от низких. Кроме того, как мы вскоре увидим, разложение звука на частоты помогает различить отдельные инструменты в полифонической записи, что значительно расширяет возможности редактирования.

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

Первые звуковые анализаторы спектра разделяли сигнал на частотные полосы с помощью набора аналоговых фильтров. Дисплей такого анализатора (рис. 1) показывает уровень сигнала во множестве частотных полос, соответствующих фильтрам.

Рис. 1. Третьоктавный анализатор Specan32, эмулирующий известный прибор KlarkTeknik DN60

На рис. 2 приведён пример частотных характеристик полосовых фильтров в анализаторе, удовлетворяющем стандарту ГОСТ 17168-82. Такой анализатор называется третьоктавным, так как в каждой октаве частотного диапазона имеется три полосы. Видно, что частотные характеристики полосовых фильтров перекрываются; их крутизна зависит от порядка используемых фильтров.

Рис. 2. Частотные характеристики фильтров третьоктавного спектроанализатора

Важным свойством спектроанализатора является баллистика - инерционность измерителей уровня в частотных полосах. Она может регулироваться заданием скорости нарастания (атаки) и спада уровня. Типичное время атаки и спада в таком анализаторе - порядка 200 и 1500 мс.

Полосовые спектроанализаторы часто применяются для настройки АЧХ (амплитудно-частотной характеристики) акустических систем на концертных площадках. Если на вход такому анализатору подать розовый шум (имеющий одинаковую мощность в каждой октаве), то дисплей покажет горизонтальную линию, с возможной поправкой на вариацию шума во времени. Если розовый шум, проходя через звукоусилительную систему зала, исказился, то изменения его спектра будут видны на анализаторе. При этом анализатор, как и наше ухо, будет малочувствителен к узким провалам АЧХ (менее 1/3 октавы).

Преобразование Фурье

Преобразование Фурье - это математический аппарат для разложения сигналов на синусоидальные колебания. Например, если сигнал x (t ) непрерывный и бесконечный по времени, то его можно представить в виде интеграла Фурье:

Интеграл Фурье собирает сигнал x (t ) из бесконечного множества синусоидальных составляющих всевозможных частот ω , имеющих амплитуды X ω и фазы φ ω .

На практике нас больше интересует анализ конечных по времени звуков. Поскольку музыка не является статичным сигналом, её спектр меняется во времени. Поэтому при спектральном анализе нас обычно интересуют отдельные короткие фрагменты сигнала. Для анализа таких фрагментов цифрового аудиосигнала существует дискретное преобразование Фурье :

Здесь N отсчётов дискретного сигнала x (n ) на интервале времени от 0 до N -1 синтезируются как сумма конечного числа синусоидальных колебаний с амплитудами X k и фазами φ k . Частоты этих синусоид равны kF/N , где F - частота дискретизации сигнала, а N - число отсчётов исходного сигнала x (n ) на анализируемом интервале. Набор коэффициентов X k называется амплитудным спектром сигнала . Как видно из формулы, частоты синусоид, на которые раскладывается сигнал, равномерно распределены от 0 (постоянная составляющая) до F /2 - максимально возможной частоты в цифровом сигнале. Такое линейное расположение частот отличается от распределения полос третьоктавного анализатора.

FFT-анализаторы

FFT (fast Fourier transform) - алгоритм быстрого вычисления дискретного преобразования Фурье. Благодаря ему стало возможным анализировать спектр звуковых сигналов в реальном времени.

Рассмотрим работу типичного FFT-анализатора. На вход ему поступает цифровой аудиосигнал. Анализатор выбирает из сигнала последовательные интервалы («окна») , на которых будет вычисляться спектр, и считает FFT в каждом окне для получения амплитудного спектра X k . Вычисленный спектр отображается в виде графика зависимости амплитуды от частоты (рис. 3). Аналогично полосовым анализаторам, обычно используется логарифмический масштаб по осям частот и амплитуд. Но из-за линейного расположения полос FFT по частоте спектр может выглядеть недостаточно детальным на нижних частотах или излишне осциллирующим на верхних частотах.

Рис. 3. Дисплей FFT-анализатора

Если рассматривать FFT как набор фильтров, то, в отличие от полосовых фильтров третьоктавного анализатора, фильтры FFT будут иметь одинаковую ширину в герцах, а не в октавах. Поэтому розовый шум на FFT-анализаторе будет уже не горизонтальной линией, а наклонной, со спадом 3 дБ/окт. Горизонтальной линией на FFT-анализаторе будет белый шум - он содержит равную энергию в равных линейных частотных интервалах.

Параметр N - число анализируемых отсчётов сигнала - имеет решающее значение для вида спектра. Чем больше N , тем плотнее сетка частот, по которым FFT раскладывает сигнал, и тем больше деталей по частоте видно на спектре. Для достижения более высокого частотного разрешения приходится анализировать более длинные участки сигнала. Если сигнал в пределах окна FFT меняет свои свойства, то спектр будет отображать некоторую усреднённую информацию о сигнале со всего интервала окна.

Когда нужно проанализировать быстрые изменения в сигнале, длину окна N выбирают маленькой. В этом случае разрешение анализа по времени увеличивается, а по частоте - уменьшается. Таким образом, разрешение анализа по частоте обратно пропорционально разрешению по времени. Этот факт называется соотношением неопределённостей .

Весовые окна

Один из простейших звуковых сигналов - синусоидальный тон. Как будет выглядеть его спектр на FFT-анализаторе? Оказывается, это зависит от частоты тона. Мы знаем, что FFT раскладывает сигнал не по тем частотам, которые на самом деле присутствуют в сигнале, а по фиксированной равномерной сетке частот. Например, если частота дискретизации равна 48 кГц и размер окна FFT выбран 4096 отсчётов, то FFT раскладывает сигнал по 2049 частотам: 0 Гц, 11.72 Гц, 23.44 Гц, ..., 24000 Гц.

Если частота тона совпадает с одной из частот сетки FFT, то спектр будет выглядеть "идеально": единственный острый пик укажет на частоту и амплитуду тона (рис. 4, белый график).

Если же частота тона не совпадает ни с одной из частот сетки FFT, то FFT "соберёт" тон из имеющихся в сетке частот, скомбинированных с различными весами. График спектра при этом размывается по частоте (рис. 4, зелёный график). Такое размытие обычно нежелательно, так как оно может закрыть собой более слабые звуки на соседних частотах. Можно также заметить, что амплитуда максимума зелёного графика ниже реальной амплитуды анализируемого тона. Это связано с тем, что мощность анализируемого тона равна сумме мощностей коэффициентов спектра, из которых этот тон составлен.

Рис. 4. Спектр синусоидального тона различных частот с весовыми окнами и без них

Чтобы уменьшить эффект размытия спектра, сигнал перед вычислением FFT умножается на весовые окна - гладкие функции, похожие на гауссиан, спадающие к краям интервала. Они уменьшают размытие спектра за счёт некоторого ухудшения частотного разрешения. Если рассматривать FFT как набор полосовых фильтров, то весовые окна регулируют взаимное проникновение частотных полос.

Простейшее окно - прямоугольное: это константа 1, не меняющая сигнала. Оно эквивалентно отсутствию весового окна. Одно из популярных окон - окно Хэмминга. Оно уменьшает уровень размытия спектра примерно на 40 дБ относительно главного пика.

Весовые окна различаются по двум основным параметрам: степени расширения главного пика и степени подавления размытия спектра ("боковых лепестков") . Чем сильнее мы хотим подавить боковые лепестки, тем шире будет основной пик. Прямоугольное окно меньше всего размывает верхушку пика, но имеет самые высокие боковые лепестки. Окно Кайзера обладает параметром, который позволяет выбирать нужную степень подавления боковых лепестков.

Другой популярный выбор - окно Хана. Оно подавляет максимальный боковой лепесток слабее, чем окно Хэмминга, но зато остальные боковые лепестки быстрее спадают при удалении от главного пика. Окно Блэкмана обладает более сильным подавлением боковых лепестков, чем окно Хана.

Для большинства задач не очень важно, какой именно вид весового окна использовать. Главное, чтобы оно было. Популярный выбор - Хан или Блэкман. Использование весового окна уменьшает зависимость формы спектра от конкретной частоты сигнала и от её совпадения с сеткой частот FFT.

Рисунок 4 сделан для синусоид, однако, исходя из него, нетрудно представить, как будет выглядеть спектр реальных звуковых сигналов. Каждый пик в спектре будет иметь некоторую размытую форму, в зависимости от своей частоты и выбранного весового окна.

Чтобы компенсировать расширение пиков при применении весовых окон, можно использовать более длинные окна FFT: например, не 4096, а 8192 отсчета. Это улучшит разрешение анализа по частоте, но ухудшит по времени.

Спектрограмма

Часто возникает необходимость проследить, как спектр сигнала меняется во времени. FFT-анализаторы помогают сделать это в реальном времени при воспроизведении сигнала. Однако в ряде случаев оказывается удобна визуализация изменения спектра во всём звуковом отрывке сразу. Такое представление сигнала называется спектрограммой . Для её построения применяется оконное преобразование Фурье : спектр вычисляется от последовательных окон сигнала (рис. 5), и каждый из этих спектров образует столбец в спектрограмме.

Рис. 5. Вычисление спектрограммы сигнала

По горизонтальной оси спектрограммы откладывается время, по вертикальной - частота, а амплитуда отображается яркостью или цветом. На спектрограмме гитарной ноты на рис. 6 видно развитие звучания: оно начинается с резкой атаки и продолжается в виде гармоник, кратных по частоте основному тону 440 Гц. Видно, что верхние гармоники имеют меньшую амплитуду и затухают быстрее, чем нижние. Также на спектрограмме прослеживается шум записи - равномерный фон тёмно-синего цвета. Справа показана шкала соответствия цветов и уровней сигнала (в децибелах ниже нуля).

Рис. 6. Спектрограмма гитарной ноты с разными размерами окна FFT

Если менять размер окна FFT, становится хорошо видно, как меняется частотное и временное разрешение спектрограммы. При увеличении окна гармоники становятся тоньше, и их частота может быть определена более точно. Однако размывается во времени момент атаки (в левой части спектрограммы). При уменьшении размера окна наблюдается обратный эффект.

Особенно полезна спектрограмма при анализе быстро меняющихся сигналов. На рис. 7 показана спектрограмма вокального пассажа с вибрато. По ней легко определить такие характеристики голоса, как частота и глубина вибрато, его форма и ровность, наличие певческой форманты. По изменению высоты основного тона и гармоник прослеживается исполняемая мелодия.

Рис. 7. Спектрограмма вокального пассажа с вибрато

Применения спектрограммы

Современные средства реставрации звука, такие как программа iZotope RX , активно используют спектрограмму для редактирования отдельных частотно-временных областей в сигнале. С помощью этой техники можно найти и подавить такие нежелательные призвуки, как звонок мобильного телефона во время важной записи, скрип стула пианиста, кашель в зрительном зале и т.п.

Проиллюстрируем использование спектрограммы для удаления свиста поклонников из концертной записи.


Рис. 8. Удаление нежелательных призвуков с помощью спектрограммы

На рис. 8 свист легко находится: это светлая кривая линия в районе 3 кГц. Если бы частота свиста была постоянной, то его можно было бы подавить с помощью режекторного фильтра. Однако в нашем случае частота меняется. Для выделения свиста на спектрограмме удобно воспользоваться инструментом «волшебная палочка» из программы iZotope RX II. Одно нажатие приводит к выделению основного тона свиста, повторное нажатие выделяет гармоники. После этого свист можно удалить, просто нажав на клавишу Del. Однако более аккуратный способ - воспользоваться модулем Spectral Repair: это позволит избежать "дыр" в спектре после удаления свиста. После применения этого модуля в режиме ослабления с вертикальной интерполяцией (Attenuate vertically) свист практически полностью исчезает из записи: как визуально, так и на слух.

Еще одно полезное применение спектрограммы - анализ присутствия в записи следов компрессии MP3 или других кодеков с потерями. У большинства записей оригинального (несжатого) качества частотный диапазон простирается до 20 кГц и выше; при этом энергия сигнала плавно спадает с ростом частоты (как на рис. 6, 7). В результате психоакустической компрессии верхние частоты сигнала квантуются сильнее нижних, и верхняя граница спектра сигнала обнуляется (как на рис. 8). При этом частота среза зависит от содержания кодируемого сигнала и от битрейта кодера. Ясно, что кодер стремится обнулять только те частоты в сигнале, которые в данный момент не слышны (замаскированы). Поэтому частота среза, как правило, меняется во времени, что образует на спектрограмме характерную "бахрому" с островками энергии на тёмном фоне.

Аналогичная ситуация иногда возникает и с низкочастотными помехами, такими как задувание ветра в микрофон или постоянная составляющая (смещение по постоянному току, DC offset). Они могут располагаться на инфранизких частотах и не обнаруживать себя без помощи спектроанализатора или осциллографа.

Заключение

Среди опытных звукорежиссёров старой школы распространено мнение, что анализировать и редактировать сигналы следует исключительно на слух, не полагаясь на индикаторы и анализаторы. Разумеется, анализаторы - не панацея в случае отсутствия слуха. Вряд ли кто-то серьёзно воспринимает идею сведения композиции "по приборам".

Спектр и спектрограмма - способы представления звука, более близкие к слуховому восприятию, нежели осциллограмма. Надеюсь, что эта статья откроет новые возможности в анализе и редактировании звука для тех, кто ранее с этими представлениями не работал.

Программа представляет собой Open Source амплитудно-частотный звуковой анализатор, действующий в режиме реального времени.

Frequency Analyzer работает с любыми звуковыми колебаниями, включая человеческий голос, выполняя над ними быстрое преобразование Фурье и разбивая их на частотные составляющие.

Когда микрофон преобразует звук в напряжение, звуковая карта работает как очень быстрый цифровой вольтметр, измеряющий напряжение от 11025 до 44100 раз в секунду (в программе можно самостоятельно установить число измерений в секунду). Каждый замер преобразуется в восьми- или шестнадцатиразрядное число. Шестнадцатиразрядные числа позволяют проводить более точный анализ слабых сигналов. В результате выборки удается получить ряд чисел. Они воссоздаются в виде синусоиды в рабочем окне программы под названием «Wave». Помимо этого любой звук может быть показан в виде комбинации синусоидальных волн различных частот. Математически это разделение на составляющие частоты называется преобразованием Фурье. Лучший из всех возможных алгоритмов называется быстрым преобразованием Фурье. Таким образом, окно программы «Frequency Spectrum» показывает спектральный состав звука.

В программе можно выбирать количество замеров, которые будут включены в одно преобразование Фурье. Чем больше замеров, тем больше частот может быть обнаружено в спектре. При изменении этого значения в Frequency Analyzer, график будет меняться.

Для тех, кто хотел бы делать подобные программы самостоятельно, разработчики представили исходный алгоритм быстрого преобразования Фурье, созданный на C + +. Использовать его можно свободно в любом коммерческом программном обеспечении. Также в дистрибутив программы по многочисленным просьбам включен учебник о том, как работать с сигналами, поступающими на микрофон, с помощью Win32 API, полный исходный код Frequency Analyzer и учебник по физике звука. Работает данный программный пакет без инсталляции. Для работы программы необходимо иметь микрофон и звуковую карту.

Количество вычислений преобразований Фурье в секунду можно настроить с помощью параметра программы «Speed (FFT"s per sec)». Однако разработчики предупреждают, что менять эти значения следует с особой осторожностью, поскольку медленные процессоры могут не успевать обрабатывать все присылаемые звуковой картой значения. Это приведет к зависанию компьютера.

Программа Frequency Analyzer была разработана компанией Reliable Software в 1996 году. Это союз четверых независимых программистов двое из которых проживают в Сиэтле, США (Бартош Милевский и Дебби Эрлих) , а двое в Гданьске, Польша (Веслав Калкус и Петр Трояновски). Основной целью своей деятельности компания объявляет борьбу с низким качеством программного обеспечения. Работы по созданию программ проходят удаленно в реальном времени через Skype. Авторы уже создали ряд учебных пособий для Windows и онлайн книгу по программированию, ведут блог, посвященный многопоточному программированию и справочник по Windows API.

Интерфейс приложения английский, русификатора нет. Однако из-за минимального количества настроек разобраться в программе не представляет труда.

Frequency Analyzer работает на персональных компьютерах под управлением операционных систем семейства Microsoft Windows, начиная с версии Windows 98.

Распространение программы: Freeware (бесплатная)

Как получить частотные спектры аудио файла

Получить спектр трэка или просто проверить качественные характеристики аудио файла можно с помощью различных программ. Попробуем рассмотреть наиболее доступные, интересные и удобные программы.

Sonic Visualiser

Бесплатная программа для визуализации и анализа аудио-музыкальным данных. Обладает очень развитыми функциями спектрального анализа.

Мультиплатформенная, поддерживает форматы: aiff, au, avr, caf, flac, htk, iff, mat, mp3, oga, ogg, paf, sd2, sds, sf, voc, w64, wav, wve, xi.

Настройки спектрограммы по-настоящему инженерные: можно выбирать глубину нахлёста окон, шкалы просмотра и способы отбора значений бинов, очень удобна навигация. Отдельно нужно отметить высокую скорость прорисовки и расчёта спектра.

К официальной информации, пожалуй нужно добавить: уверенно работает на win7 x64, не требует установки (выполнена в виде единого запускаемого файла), имеет полностью русскоязычный интерфейс и не оставляет програмных файлов в папках с проверяемым аудио материалом.

Программа для мастеринга, анализа и реставрации аудио материала.

Можно затащить файл мышкой в окно программы или открыть через окно импорта: File > Open

Ползунок масштабирования по шкале времени:

Ползунок масштабирования по шкале частот:

Adobe Audition

Аудиоредактор, предназначенный для редактирования, микширования и восстановления цифрового звука.

Затягиваем мышкой исследуемый файл на ярлык программы и видим:

Можно затащить файл мышкой в окно программы или открыть через окно импорта: Файл > Открыть...

Переходим к спектру. Кликаем по кнопке в верхней части программы:

Или открываем: Вид > Показать частотный спектр

Для детального рассмотрения спектра, кликаем правой кнопкой мыши по шкале частот и выбираем на вкладке строку Увеличение (Частота)

Теперь достаточно ухватиться левой кнопкой мыши за шкалу частот и перемещением вверх, вниз детально ее рассмотреть. В нижней правой части находится кнопка Увеличение (Время) - масштабирование по шкале времени.



Wavetools

Осцилограф.

Эта программа имитирует двухканальный запоминающий осциллограф.

Следующие элементы управления доступны:

Позволяет регулировать усиление Оси Y в шагах на 10 дБ. В 0 дБ, на экране, показывает полномасштабный звуковой вход.


Режимы:
  • Только Левый канал;
  • Только Правый Канал;
  • Двойной левый и правый;
  • Левый минус Правый;
  • Левый плюс Правый…

Копирование данных .
В настоящее время показываемые данные могут быть скопированы в Windows.

Анализатор

Эта программа моделирует узкополосный анализатор спектра. Показывает уровень (Ось Y) и частоту (Ось X) со следующими средствами управления:
Частота Макс
Выбирает самую высокую показанную частоту: 5, 10 или 20 кГц, соответствующих типовым показателям 11025, 22050 или 44100 Гц.
Частота Exp/Lin
Выбирает линейный или логарифмический масштаб частоты,

Лин полезна для рассмотрения гармоники, Регистрация ближе к тому, как человеческое слушание интерпретирует масштаб частоты.

Уровень Max
Измеряет Ось Y в шагах на 10 дБ относительно входа полного масштаба.

Уровень dB/Lin
Выбирает линейный или логарифмический (dB) масштаб уровня. Лин полезна для рассмотрения сигналов, поскольку пики обнаруживаются ясно. dB полезен для создания измерений, особенно сигналов широкого диапазона или низкого уровня.

Время Exp/Lin
Линейное время, составляя в среднем вычисляет среднюю амплитуду за группу по спектрам N, затем останавливается.

Дисплей
Показывает:

Спектр как единственную линию, вертикальные бары или барные схемы.

Уровень входного сигнала, пиковый уровень и уровень маркера показаны рядом с кнопкой Run/Stop.

Копирование данных
Нажатие на Copy в меню Edit скопирует текущие частоты группы и уровни к разграниченному счетом списку.

Аудиометр

Эта программа дает следующие показания с входов звуковой карты:
Пиковые значения стерео: от 0 до -18dB.
Пиковые значения стерео: от 0 до -96dB.
RMS (средние значения) стерео: от 0 до -96dB.
Phase Correlation meter: От 0 до 180
Vectorscope: мгновенный захват уровня
Peak Hold: высший уровень.

Генератор сигнала

Генератор сигнала может произвести испытательные тоны от 20 Гц до 20 кГц плюс бело-розовый шум. 1/3-octave диапазона и музыкальные ноты (based on A440) могут быть непосредственно отобраны из меню.

Размер: 0.55 Mб

Интерфейс: Английский

Платформа : Windows 3.1 и выше

***************************************************************************************


П О П У Л Я Р Н О Е:

    ICE Book Reader Professional Russian

    ICE Book Reader - это мощная читалка электронных текстов (книг). Программа ICE Book Reader русифицирована и создана для того, чтобы сделать чтение электронных книг удобным и комфортным. Это действительно важно. Чтение документации или почты сильно отличается от чтения электронных книг. Всё отличие заключается в объёме материала. Поэтому чтение книг требует, гораздо больше времени. И как следствие этого, увеличивается нагрузка на глаза. Программа ICE Book Reader снимет все неудобства от чтения электронных книг.