Физика звука за 4 микроурока: от волны к спектрограмме
Физика звука: 4 микроурока
Формат: каждый микроурок = одна картинка + три абзаца + одно упражнение руками. Всё сгенерировано скриптом sound_lab.py из комплекта — ученик запускает его сам и подставляет свои записи виолончели вместо синтетики. Встраивается в занятия 1 (запись референсов), 7 (что снимает датчик), 20 (что режет EQ) и 23 (что переносит IR): это не отдельный курс, а словарь, на котором говорит весь модуль.
Микроурок 1. Волна: высота = период, тембр = форма

Звук — колебание давления; микрофон и пьезоплёнка превращают его в колебание напряжения, и его можно нарисовать. Верхний ряд — «голый» синус ноты C2: скучная волна, период T = 1/f = 15,3 мс. Нижний ряд — синтез виолончельного тона той же высоты: издалека видна огибающая (атака смычка, установившееся звучание, затухание), а под лупой — период тот же, но форма внутри периода другая.
Это главный мост между музыкой и электроникой: высота ноты живёт в периоде, тембр — в форме волны, громкость — в размахе. Всё, что дальше делает наш тракт (EQ, IR, компрессор), — это управляемое изменение формы и размаха при сохранении периода.
Упражнение: запустить sound_lab.py со своей записью открытой струны C — найти на «лупе» период, посчитать частоту вручную (f = 1/T) и сверить со строем.
Микроурок 2. Тембр = спектр: одна нота — лестница гармоник

Любую периодическую волну можно разложить на сумму синусов: основной тон f и гармоники 2f, 3f, 4f… (это теорема Фурье — глубже нам не нужно). Синус — одна палка. Виолончель — лестница палок, и соотношение их высот и есть тембр. Разные точки установки датчика (занятие 29) дают разные лестницы с той же первой палкой — вот почему точка съёма «меняет звук, не меняя нот».
Отсюда весь смысл DSP-тракта одним предложением: параметрический EQ прибирает отдельные ступени лестницы, notch убивает лишнюю (резонанс плёнки), а IR-свёртка переставляет высоты всех ступеней разом так, как их слышит студийный микрофон.
Упражнение: в sound_lab.py — спектр своей записи; найти основной тон и посчитать частоты первых пяти гармоник в уме (×2, ×3…), проверить по графику. Затем спектр той же ноты с датчика — найти «чужую» палку (резонанс), записать её частоту: это будущая цель notch-фильтра занятия 20.
Микроурок 3. Спектрограмма: ноты, время и вибрато на одном экране

Спектр — фотография; спектрограмма — кино: время идёт вправо, частота вверх, яркость = громкость. На гамме C2→C3 видны «этажи» гармоник каждой ноты, а волнистость линий — вибрато (периодическое качание высоты ~5–6 раз в секунду). Музыкант впервые видит собственный приём как измеримый объект: глубину вибрато в центах и его частоту в герцах.
Это рабочий инструмент всего модуля: спектрограммой мы сравниваем датчик против микрофона (занятие 23), до/после EQ (занятие 20), три точки установки (занятие 29) — и она же станет самым наглядным слайдом защиты.
Упражнение: спектрограмма своей гаммы (sound_lab.py --spec моя_гамма.wav); измерить курсором частоту своего вибрато; сравнить спектрограммы легато и пиццикато — где «этажи» живут дольше и почему.
Микроурок 4. Цифра: 48 000 фотографий и 16,7 млн ступенек. И биения — бонусом

Цифровой тракт делает две вещи: дискретизация — 48 000 мгновенных «фотографий» напряжения в секунду (48 кГц; хватает для всего слышимого до 20 кГц — правило: снимать минимум вдвое чаще самой высокой частоты) и квантование — округление каждой фотографии до ближайшей ступеньки. 4 бита = 16 ступенек — слышен «песок» (на рисунке лесенка видна глазом); 24 бита = 16,7 млн — лесенка исчезает и для глаза, и для уха. Вот весь ответ на «зачем 24 бита» в двух картинках.

И биения: 220 + 223 Гц дают «вау-вау» 3 раза в секунду — так виолончелист слышит расстройку, так работает тюнер, и так же (внезапно) проявляется джиттер-родня в занятии 17, когда две частоты в тракте «почти совпадают». Одно физическое явление — три знакомых лица.
Упражнение: записать две струны в «почти унисон» (флажолет против открытой), увидеть огибающую биений на волне и посчитать по ней расстройку в герцах — без тюнера.
Скрипт ученика
sound_lab.py в комплекте: режимы --wave, --spectrum, --spec (спектрограмма), --beats; на вход — любой WAV. Внутри — 60 строк на numpy/librosa с комментарием у каждой: это одновременно и инструмент, и первый читаемый Python-код модуля (мост к скриптам IR занятия 23).