Звук — это колебания воздуха. Если измерять эти колебания через равные промежутки (дискретизация), записывать их по заранее заданным делениям (квантование), нарезать короткими кусками (окно), разложить, колебания какой высоты в них смешаны (преобразование Фурье), и снова сгруппировать по шкале, которая, как человеческое ухо, различает низкие звуки подробнее (мел), получится матрица чисел, которую читает нейросеть. Все звуки на этой странице синтезируются прямо в ней.
Когда диффузор динамика колеблется вперёд-назад, воздух то сгущается, то разрежается, и эти волны расходятся. Сколько раз в секунду идёт колебание — это высота звука (частота), а насколько сильно — громкость (амплитуда).
Число измерений ≥ 2 × самая высокая частотаShannon, 1949
Чтобы правильно передать колебание, за одно колебание нужно сделать хотя бы два измерения. Если измерять fs раз в секунду, можно передать частоты только до fs/2 Hz (предел Найквиста), а более быстрые колебания выглядят как совсем другие, медленные колебания (алиасинг) [R1]. Человеческое ухо слышит примерно до 20 000 Hz, поэтому музыкальный CD измеряет звук 44 100 раз в секунду. Телефону достаточно передать речь, поэтому он использует 8 000 раз. Мел-спектрограмма на этой странице тоже использует 8 000 раз (8 kHz). Поэтому звуки выше 4 000 Hz она передать не может. Настоящая звукозаписывающая аппаратура перед дискретизацией отфильтровывает звуки выше предела.
Измеренное значение — вещественное число с бесконечными знаками после запятой. Чтобы его сохранить, нужно округлить его до ближайшего из заданных делений. При b битах делений 2b. Разница, возникающая при округлении, — это шум квантования.
Речь меняется каждое мгновение. Поэтому её нарезают кусками по 25 ms, анализируют каждый кусок отдельно и повторяют, сдвигаясь на 10 ms. Умножение, которое плавно уменьшает оба конца вырезанного куска, называется «окном».
Если просто вырезать кусок, на его концах значения резко обрываются. Преобразование Фурье считает так, будто этот кусок бесконечно повторяется. Поэтому резкий скачок в месте обрыва «утекает» в частоты, которых изначально не было (утечка). Окно Ханна умножает кусок на кривую, которая плавно поднимается от 0 до 1 и опускается обратно (0.5 − 0.5·cos), и делает оба конца равными 0. Плата за это — пик становится немного шире. 25 ms·10 ms — значения, часто используемые в анализе речи; в зависимости от задачи их меняют.
Любой звук можно представить как сумму синусоид разной высоты. Преобразование Фурье принимает форму волны и возвращает ответ на вопрос «сколько в ней составляющей с частотой столько-то Hz». Это похоже на то, как призма раскладывает белый свет в радугу.
мел = 2595 · log10(1 + Hz / 700)«до-ре-ми-фа» 1 секунда → 98 кадров × 20 полос
Человеческое ухо хорошо различает небольшую разницу между низкими звуками (100 Hz и 200 Hz), но ту же разницу между высокими звуками (3 000 Hz и 3 100 Hz) различает плохо. Мел-шкала делит низкие частоты густо, а высокие — редко. Если сгруппировать результат преобразования Фурье (129 полос) 20 треугольными фильтрами этой шкалы и взять логарифм (децибелы), получится мел-спектрограмма. Формула выше — одно из широко используемых определений. Признаки на основе мел-шкалы (MFCC) показали в распознавании речи лучшие результаты, чем другие признаки, и долго использовались как стандарт [R2].
Мел-спектрограмма — это матрица чисел «частота × время». Нейросеть читает её двумя способами. Подробное устройство разобрано в предыдущих частях.
Оба примера используют только библиотеки, предустановленные в Colab. Нажмите «Скачать блокнот (.ipynb)» и откройте его в Colab через Файл → Загрузить блокнот или скопируйте код и вставьте в ячейку нового блокнота.
Вычисляем дискретизацию, квантование, окно, преобразование Фурье и мел-спектрограмму без библиотек. Получаются те же числа, что на странице (алиасинг 3 Hz, утечка 7.95% → 0.05%, значения мел-полос). Чтобы подставить свои данные, измените SIGNAL и FS.
С помощью librosa, которую используют на практике, превращаем тот же звук в мел-спектрограмму и сравниваем с результатом, сделанным вручную. Чтобы использовать файл записи, следуйте строке [Чтобы подставить свои данные] в коде (файл готовит каждый сам).
Это промпты, которые можно вставить в ИИ-помощника вроде ChatGPT, Qwen или Claude. Если нажать «Копировать», после промпта будет добавлен выбранный код. Замените текст в 〔 〕 на свою ситуацию.
Ответ ИИ — лишь отправная точка. Предложенные статьи, числа и функции библиотек обязательно проверяйте по первоисточникам и официальной документации. Если для конкурса или статьи вы пользовались помощью ИИ, укажите факт и объём использования согласно правилам организаторов и журнала.
Это тот же словарь, что и жёлтое пунктирное подчёркивание в тексте. Во всей серии используются одни и те же обозначения. Нажмите на название раздела, чтобы перейти к месту первого упоминания.
Аналогия — первый шаг к пониманию, но и семя заблуждения. Для аналогий с дрозофилой и мозгом указана сила. Прямая есть данные, что это действительно делает то же самое · Частичная похожи лишь некоторые свойства · Нет соответствие неизвестно
| Понятие | Бытовая аналогия | Аналогия с дрозофилой и мозгом | Где аналогия ошибается |
|---|---|---|---|
| Дискретизация | Фотографировать бегущего человека раз в секунду | Частично Фасеточный глаз дрозофилы тоже успевает за изменениями яркости лишь с определённой скоростью | Фотография запечатлевает мгновение, а отсчёт — лишь значение через заданный интервал. Движение быстрее интервала выглядит неверно (алиасинг) |
| Квантование | Измерять рост линейкой с делениями по 1 cm | Нет | Деления линейки равномерны, а в реальном аудио деления задаются числом битов |
| Окно | Размыть края фотографии (виньетирование) | Нет | Окно умножают не для красоты, а чтобы уменьшить ложные частоты, возникающие на обрезанных краях |
| Преобразование Фурье | Призма раскладывает свет в радугу | Напрямую Улитка человеческого уха в разных местах откликается на звуки разной высоты и так раскладывает звук по высоте | Улитка раскладывает звук непрерывно во времени и откликается на изменение громкости нелинейно. Преобразование Фурье вычисляет один вырезанный кусок за раз |
| Мел-шкала | Клавиатура фортепиано: при каждом удвоении высоты — одинаковый интервал | Частично Интервалы высоты звука, как их ощущает человек | Формул мела несколько, и люди слышат по-разному. Формула на этой странице — лишь одна из широко используемых |
| Мел-спектрограмма | Нотная запись: время (по горизонтали) × высота (по вертикали) | Нет | В нотах записана каждая нота, а спектрограмма записывает в каждую ячейку всю энергию, включая обертоны и шум |
E-1 Об авторе · E-2 Научные источники · E-3 Материалы к рисункам
Все звуки синтезированы на странице (без записей).
Практические рекомендации для преподавателей, наставников по OJT (обучению на рабочем месте) и тьюторов. Время указано ориентировочно — подстраивайте его под реальное занятие.
| Аудитория | Студенты и практики, которые собираются работать с речевыми и звуковыми данными (записи колл-центра, шум оборудования, голосовые команды) |
|---|---|
| Предварительные знания | Синусоида и логарифм. Если вы знаете «фотография — это сетка чисел» из 3-3, разделы 6·7 будут проще |
| Цели обучения | ① Объяснить на числах, что теряется при дискретизации и квантовании ② По порядку объяснить, как звук через окно, преобразование Фурье и мел-фильтры становится матрицей ③ Различать два способа, которыми CNN и последовательные модели читают мел-матрицу |
| Ориентировочное время | Чтение 35–45 минут · анимации и звуковые демонстрации 20 минут · практика в Colab 25 минут (код 1 — 15 минут, код 2 — 10 минут) |
Вступление 5 минут (раздел 1, прослушивание) → раздел 2, алиасинг, 10 минут → раздел 3, сравнение звука по битам, 10 минут → разделы 4·5 15 минут → раздел 6, матрица чисел, 5 минут → проверочные вопросы 5 минут.
Сопоставить разделы 2·3 с параметрами записи своего оборудования (частота дискретизации, биты) 15 минут → разделы 4–6 25 минут → загрузить свой файл записи в код 2 30 минут → обсуждение «наши данные — для CNN или для последовательной модели?» 20 минут.
Новичкам — только разделы 1·2·5·6. Слушателям среднего уровня — вручную вычислить одну ячейку mel_filterbank из кода 1 и сравнить с рисунком треугольников фильтров на странице.
| Раздел | Вопрос, на котором стоит остановиться | Совет по управлению |
|---|---|---|
| 1 Колебания | «Во сколько раз быстрее колеблется 440 Hz по сравнению с 220 Hz? Как это звучит?» | Дать прослушать два тона по очереди (если звука нет, проверьте громкость устройства) |
| 2 Дискретизация | «Почему при 8 измерениях в секунду видно 3 Hz?» | Нажимать по порядку 50 → 12 → 8 раз |
| 3 Квантование | «Чем на слух отличается звук в 3 бита от звука в 16 бит?» | Дать прослушать в 3 битах и в 16 битах |
| 4 Нарезка и окно | «Почему при простом вырезании появляются частоты, которых не было?» | Переключать прямоугольное ↔ Hann и смотреть на «юбку» на нижнем графике |
| 5 Преобразование Фурье | «Почему одно и то же „до“ у фортепиано и скрипки звучит по-разному?» | Дать прослушать сначала чистый тон, затем звук инструмента, и сравнить число пиков |
| 6 Мел-спектрограмма | «Во сколько чисел превратилась 1 секунда звука?» | Нажимать кадры от «до» к «фа» и смотреть, как самая яркая ячейка смещается вверх |
| 7 Как читает модель | «Какой способ подходит для классификации звонка в дверь, а какой — для расшифровки речи?» | Переключать два способа по очереди |
| Заблуждение | Верное объяснение | Что показать |
|---|---|---|
| Чем больше измерений, тем всегда лучше | Достаточно удвоенной самой высокой частоты, которую нужно передать. Сверх этого растёт только объём хранения | 12 раз в разделе 2 (5 Hz передаётся) |
| Если битов мало, звук становится тише | Растёт не громкость, а шум. Каждый бит делает звук чище примерно на 6 dB | Раздел 3 |
| Преобразование Фурье анализирует весь звук сразу | Оно выполняется отдельно для каждого короткого куска (кадра). Поэтому можно видеть изменения во времени | Разделы 4·6 |
| Спектрограмма — это картинка, значит, с ней можно обращаться как с фотографией | Горизонталь (время) и вертикаль (частота) имеют разный смысл. Сдвиг по вертикали даёт другой звук | Раздел 7 |
| Мел-спектрограмма сохраняет звук полностью | Это сжатая сводка, в которой отброшены фаза и тонкая частотная информация (8,000 → 1,960) | Раздел 6, числовая сводка |
8 000 ÷ 2 = 4 000 Hz (предел Найквиста).
|5 − 8| = 3 Hz. Предел (4 Hz) превышен, возникает алиасинг.
6.02 × (16 − 8) ≈ 48 dB. Теоретические значения — 49.92 dB и 98.08 dB.
(8 000 − 200) ÷ 80 + 1 = 98 (дробную часть отбрасываем, затем прибавляем 1).
1 960. 8 000 ÷ 1 960 ≈ 4.1, то есть примерно четверть.
Измените в коде 1 NMEL с 20 на 40, а FRAME с 200 на 400. Напишите в трёх предложениях, как меняются размер и вид мел-матрицы, связав это с компромиссом между разрешением по времени и разрешением по частоте.
Запустите код 2 на файле с записью своего голоса или звука оборудования (файл готовит каждый сам, соблюдайте защиту персональных данных). Запишите один и тот же звук дважды, сравните, насколько похожи мел-матрицы, по коэффициенту корреляции и напишите, что создаёт разницу.
| Начинающим | Разделы 3·4 можно пропустить без потери связности. Обязательно послушайте звуки в разделах 1·5 |
|---|---|
| Углублённо | Поручите исследовать, как длина окна, шаг и число мел-полос влияют на качество распознавания. Найденные статьи проверяйте по оригиналу |
| Что изучить дальше | Сансон Ан, конспект лекций «Наука о данных для бизнеса» (наука о данных в целом) · STEP [K-Digital] Обработка естественного языка с помощью ИИ (связано с 3-5·3-8) · STEP [K-Digital] Основы анализа финтех-данных (связано с 3-6) |
| Материалы для преподавателя | Критерии оценки проверочных вопросов и примеры ответов к заданиям — на странице ответов для преподавателей (3-4) |
Вы дочитали часть «3-4 Речь» до конца. Обитатели лаборатории подведут итог — каждый по одной фразе.