Получи случайную криптовалюту за регистрацию!

Недавно наткнулся на клёвый курс по обработке аудио. Идея - об | Матчасть

Недавно наткнулся на клёвый курс по обработке аудио. Идея - объяснить математическое устройство звука и показать, как это устройство можно анализировать из python. На выходе слушатель будет способен извлекать из сырых wav-ок информативные фичи, которые можно и глазами разглядывать, и в нейросетку засовывать. Курс построен так, чтобы его могли понять музыканты, и объясняются все детали супер подробно.

По формату этот курс - ютубовский плейлист на насколько часов: https://www.youtube.com/playlist?list=PL-wATfeyAMNqIee7cH3q1bh4QJFAaeNv0. Пару мыслей из него я изложу ниже.

Вообще звук - это последовательность волн пониженного и повышенного давления воздуха. В формате wav он так и записывается - просто последовательность чисел, значений давления, с частотой (обычно) 44К чисел в секунду. Но анализировать его в таком виде не очень удобно.

Проще всего выделить в звуке громкость (это амплитуда колебаний) и тон (это их частота). Но звук, состоящий из единственной частоты (тупо одна синусоида) - это характерное "электронное" гудение, а "нормальные" звуки содержат кучу частот одновременно. В шумах и шепоте частоты намешаны хаотично, а в звуках голоса и "мелодичных" инструментов основные частоты пропорциональны друг другу. Соотношение различных частот в звуке - часть того, что мы называем тембром.

Чтобы понять, какие частоты вообще в звуке содержатся, его надо разложить в сумму синусоид. Если их фазы заранее известны, это можно сделать чем-то вроде обычной линейной регрессии. Если неизвестны, можно применить преобразование Фурье и вычислить фазы одновременно с коэффициентами амплитуды (если интересно, про преобразование Фурье могу написать подробнее отдельно). Разрезав звук на короткие кусочки и разложив каждый на частоты по отдельности, получаем спектрограмму - картинку, показывающую, как меняется громкость различных частот во времени. Спектрограмму можно скармливать нейросетям или анализировать глазами. При наличии опыта можно читать ее, как нотную запись, и даже различать буквы и слова.

А ещё по спектрограмме можно вычислять более сложные фичи. В типичном звуке голоса много частот, пропорциональных друг другу, а значит, его спектр (после логарифмирования) тоже будет периодическим, и значит, его можно _ещё раз_ разложить в сумму синусоид. Математики назвали такое представление cepstrum (типа spectrum наоборот), а его коэффициенты, MFCC, уже лет 50 являются едва ли не самыми информативными признаками для распознавания речи.

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