Обновления
2026 год
Новые материалы и дополнения к опубликованным, по датам. Ссылки ведут прямо к изменённому месту.
RSS-лентаНет обновлений этого типа за 2026
Третья статья серии о простом синтезаторе: субтрактивный синтез и место фильтра после микшера, рекуррентная формула однополюсного фильтра нижних частот, коэффициент из частоты среза и постоянная времени, устойчивость, реакция на скачок, сглаживание пилы и шума и ограничения первого фильтра. Класс LowPassFilter на C++20 и сравнение с juce::dsp::FirstOrderTPTFilter.
Вторая статья серии о простом синтезаторе: события нажатия и отпускания клавиши, перевод секунд в отсчёты, четыре стадии ADSR, линейные и экспоненциальные участки с целью с перелётом, машина состояний и граничные случаи, VCA как умножение на огибающую и защита от щелчков. Класс AdsrEnvelope на C++20, голос в аудиоблоке JUCE и сравнение с juce::ADSR.
Почему записи с конца 1980-х становились громче при том же пике 0 dBFS: хронология по измерениям тысяч треков, причины, цена в микродинамике и искажениях, спор об усталости слушателя и о том, что изменила нормализация громкости.
Что пришло на смену VU-метру в цифровой студии: индикатор OVER и его пределы, соглашения 0 VU = −20, −18 и −14 dBFS, K-система Боба Каца с калибровкой мониторов на 83 дБ SPL и её место после BS.1770 и EBU R 128.
Классы и всё, что вокруг них, на коде плагина тремоло: структуры и классы, конструкторы и список инициализации, наследование и override, шаблоны и enum class, RAII, запрет копирования, перегрузка операторов, макросы JUCE, тесты на GoogleTest и лямбды. Заметки на полях ведут на уроки Learn C++.
Объём C++, нужный для чтения плагина на JUCE: как код попадает в компилятор, типы и литералы, auto, const и constexpr, явное приведение типов, пространства имён, функции, значения, ссылки и указатели, цикл по диапазону, noexcept и точка входа плагина. Примеры из учебного плагина тремоло, заметки на полях со ссылками на Learn C++, три таблицы и вопросы самопроверки.
Что меняется, когда код плагина JUCE выполняется в аудиопотоке: почему в processBlock не создают и не удаляют объекты, скрытые выделения памяти, подготовка буферов в prepareToPlay, проверка RealtimeSanitizer, обмен данными с интерфейсом через атомарные значения и очереди, подмена целого объекта через очереди указателей вместо общего владения со счётчиком ссылок, классы владения JUCE и детектор утечек. Фрагменты учебного плагина тремоло, две схемы, две таблицы и самопроверка.
Кто создаёт и удаляет объекты в плагине JUCE: стек, поля и куча, ошибки ручных new и delete, умный указатель с единственным владельцем и функция для его создания, передача параметров процессору, невладеющие ссылки и граница с хостом. Фрагменты кода учебного плагина тремоло, две схемы и самопроверка.
Исходный и обработанный сигнал в плагине: законы смешивания dry/wet, обход средствами DAW и самого плагина, компенсация задержки при выключении и кроссфейд против щелчка. Четыре схемы, таблица законов, пример на C++ и JUCE и самопроверка.
Каналы, панорама и баланс, задержка в темпе, ранние отражения и реверберационный хвост, посылы и глубина, преобразование мид-сайд и проверка стерео в моно. Две схемы, числовые примеры, термины глоссария, заметки «Подробнее» и самопроверка.
Какую громкость и какой предел истинных пиков требуют вещание в России, Европе и США и стриминговые площадки, чем различаются цели −23 LUFS и −24 LKFS, что делают Spotify, Apple Music, YouTube и Apple Podcasts с громкими и тихими треками и как это влияет на мастеринг.
Проект, дорожки и клипы, Mute и Solo, MIDI и piano roll, разница между аудио- и MIDI-клипом, путь сигнала и экспорт. Примеры программ, включая REAPER и бесплатные GarageBand и LMMS; четыре опыта со звуком.
Ноты и октавы, темп, ритм, аккорды, тональности и арпеджио для первого музыкального наброска. Восемь коротких опытов с прослушиванием.
Первое знакомство со звуком и слухом, осциллятором, ADSR и LFO, цифровой записью и файлами. Четыре простых опыта с графиками и прослушиванием.
Как лимитер держит сигнал ниже потолка: пиковый детектор, почему мгновенная атака превращает его в клиппер, предварительный анализ и его задержка, восстановление и накачка, истинный пик между отсчётами и предел −1 dBTP, сравнение с жёстким и мягким клиппером.
Первая статья серии о простом синтезаторе: отдельная фаза каждого осциллятора, алиасинг пилы и прямоугольника, поправка PolyBLEP, частота ноты MIDI, интервалы и расстройка в центах, саб-осциллятор, шум и микшер с запасом до 0 dBFS. Примеры на C++20 и JUCE.
Белый и розовый спектры, PRNG и seed, генераторы C++/JUCE с сохраняемым состоянием, уровни и отличие от TPDF-дизеринга. Эксперимент сравнивает звучание, PSD и мощность октав при одинаковом RMS.
Как управлять усилением источников, складывать отсчёты с учётом фазы и оставлять запас до перегрузки. Примеры C++/JUCE и график суммы двух синусоид.
Почему частота и уровень сигнала не полностью описывают слышимый звук, как читать кривые равной громкости и чем различаются сжатие с потерями и без них.
Уровень сигнала, громкость прослушивания, маскировка при наложении музыки и форматы файлов. Дополнительные разделы знакомят с задержкой блока и динамической обработкой.
Частота и высота тона, уровни записи, компрессия и модуляция. Разделы о LFO и тремоло объясняют действие параметров без обязательного чтения кода.
Физические свойства звука, слуховое восприятие, цифровая запись и управление динамикой. В конце — битрейт, сжатие и ограничения форматов файлов.
От звуковой волны к отсчётам в памяти, чтению файлов и обработке на C++ и JUCE. Маршрут объясняет масштаб чисел, устройство буферов и расчёт модуляции.
Чем различаются форматы AIFF, FLAC и MP3: порядок байтов, сжатие без потерь и с потерями, битрейт и экономия места.
Как прочитать отсчёт целочисленного PCM из байтов и перевести его в float и обратно без ошибок знака, масштаба и округления.
Как устроен WAV-файл: контейнер RIFF, чанки, параметры в fmt и отсчёты в data; чтение и запись.
Как слух воспринимает громкость, высоту и направление звука и какие звуки он не замечает: критические полосы и маскировка.
Как LFO меняет амплитуду звука и почему одинаковая глубина модуляции даёт разный результат в двух способах расчёта.
Математика для чтения формул об аудио: обозначения, отношения и единицы, системы счисления, тригонометрия, логарифмы и экспонента.
Как низкочастотное колебание управляет звуком: фазовый аккумулятор, формы волн и реализация на C++ и JUCE.
Как аудио представлено в программах: отсчёты, каналы, кадры, буферы, их размер и связь размера блока с задержкой.
Как напряжение превращается в числа при записи и обратно при воспроизведении: дискретизация, квантование и его ошибка.
Почему звуки разной частоты при одном уровне давления кажутся неодинаково громкими: дБ SPL, фоны, чтение кривых равной громкости.
Как компрессор уменьшает разницу между громкими и тихими местами: порог, степень сжатия, колено, атака и восстановление, лимитер и гейт.
Как описать громкость цифрового сигнала одним числом: децибелы, шкала dBFS, пиковый и среднеквадратичный уровень, динамический диапазон.
Как непрерывный сигнал превращается в отсчёты, как связаны период и частота дискретизации и что происходит при слишком низкой частоте.
Что такое звук физически: колебания давления, частота, период, длина волны, фаза и амплитуда; как звук становится аналоговым электрическим сигналом.