Теория аудио
Личный учебник по теории аудио и цифровой обработке звука: от звуковой волны до буферов в аудиопрограммах. Статьи самостоятельные, их можно читать в любом порядке.
Первое знакомство
Если вы здесь впервые: короткие статьи, в которых всё можно попробовать руками.
- Как устроен звук: первый обзорИзмените высоту и громкость, соберите ноту синтезатора и узнайте, как звук записывают в файл.
- Теория музыки: ноты, ритм и гармонияВыберите ноты, соберите ритм и последовательность аккордов, попробуйте арпеджио.
- Первое знакомство с DAW: дорожки, MIDI и звукПознакомьтесь с музыкальной программой: дорожками, записью и первым проектом.
Треки
Материалы сайта в порядке чтения под вашу задачу.
- ПрограммистДля тех, кто пишет аудиоприложения и плагины.7 этапов · 29 элементов
- ЗвукорежиссёрДля тех, кто записывает звук и сводит музыку.5 этапов · 21 элемент
- МузыкантДля тех, кто играет, записывает партии и работает с синтезаторами.5 этапов · 24 элемента
- ДиджейДля тех, кто готовит музыкальную библиотеку и играет сеты.4 этапа · 18 элементов
- МеломанДля тех, кто хочет понимать звук при прослушивании музыки.4 этапа · 16 элементов
Интерактивные визуализации
Графики и звук, параметры которых можно менять.
- Учебный проект: дорожки, клипы и микшерПуск и повтор тактов, уровень, панорама, Mute, Solo, автоматизация и подготовка записи.
- Piano roll: ноты MIDI-клипаДобавление и удаление нот, длина и сила нажатия в такте восьмыми.
- Одна фраза: MIDI-клип и аудиоклипПеренос на 2 полутона, темп 125 BPM, инструмент, растяжение аудио или «как плёнка».
- Путь сигнала: от нот до общего выходаБлоки от MIDI до выхода, инструмент, эффект и уровень дорожки.
Недавно на сайте
Все обновленияОсновы звука
Физика звука, аналоговый сигнал
- Как устроен звук: первый обзорЧто стоит попробовать и понять перед изучением теории аудио?
- Первое знакомство с DAW: дорожки, MIDI и звукКак устроена программа для записи и создания музыки и как собрать в ней первый фрагмент?
- Теория музыки: ноты, ритм и гармонияКак выбрать ноты, собрать ритм и соединить аккорды в короткую музыку?
- Математика для аудиоКак читать формулы с синусами, логарифмами и суммами в статьях о звуке?
Цифровой сигнал
Дискретизация, отсчёты и их представление
АЦП и ЦАП
Преобразование аналогового и цифрового сигналов
Аудиоданные в программах
Каналы, кадры, блоки и буферы
- Форматы сжатия звука: AIFF, FLAC и MP3Почему FLAC после распаковки возвращает те же отсчёты, а MP3 — другие, и сколько места экономит каждый способ?
- Устройство WAV-файла: RIFF, чанки, fmt и dataКак найти в WAV-файле параметры звука и сами отсчёты?
- Целочисленный PCM: байты, знак и перевод во floatКак прочитать отсчёт из байтов и записать его обратно без ошибки знака, масштаба и округления?
- Аудиоданные в программах: представление отсчётов, каналы, кадры и буферыЧто означает «буфер на 512 сэмплов» и сколько чисел в нём хранится?
Обработка звука
Динамика, эффекты и их параметры
- Война громкости: от компакт-диска до нормализацииПочему с конца 1980-х записи становились всё громче при том же пике 0 dBFS, чем за это заплатили и что изменила нормализация громкости?
- Микширование сигналов: усиление, фаза и запас уровняКак складывать несколько источников, управлять их уровнями и избегать перегрузки?
- Принцип работы компрессораКак устройство само уменьшает разницу между громкими и тихими местами и что задают его параметры?
- LFO: низкочастотный генератор и модуляцияКак медленное колебание управляет звуком и как получить его на C++ и JUCE?
Синтез
Осцилляторы, огибающие и фильтры синтезатора
- Однополюсный фильтр нижних частотКак ослабить высокие частоты, помня только один предыдущий отсчёт?
- Огибающая ADSR и VCA: как нота начинается и затихаетЧто происходит с громкостью ноты от нажатия до отпускания и почему резкий скачок усиления щёлкает?
- Осцилляторы синтезатора: формы, расстройка и саб-осцилляторКак из нескольких генераторов собрать источник одного голоса и не перегрузить сумму?
C++ для аудио
Язык C++, владение объектами и время жизни в коде плагина
- Кто владеет объектом: std::make_unique и время жизни в плагине JUCEЗачем создавать объект через std::make_unique, если тут же отдаёшь его процессору, и кто потом его удаляет?
- Основы C++ для JUCE: сборка, типы, функции и указателиЧто нужно знать о синтаксисе C++, чтобы читать код плагина на JUCE?
- C++ в аудиопотоке: выделение памяти, общие объекты и инструменты JUCEПочему в processBlock не создают и не удаляют объекты и чем заменить std::shared_ptr при обмене данными с интерфейсом?
- C++ в плагине: классы, шаблоны и время жизниКак в C++ устроены классы, конструкторы, наследование и шаблоны, которые встречаются в коде плагина на JUCE?