D-module / Демодуляция
34 subscribers
131 photos
85 videos
48 links
Создаю то, что создает музыку - демодуляция.рф
Download Telegram
Ядро я с тех пор не трогаю. Всё, что было в нём
интересного, потом переехало в библиотеку и из этих кусков выросли остальные плагины.
Отличная новость!

Презентуют 10-й выпуск журнала local «Аналог», 3-й выпуск газеты under-zin «Нойз» и кассетный сборник «№ 1», в который вошёл и мой трек.

Вот даты и места:

14 августа — Зеленоград, «Кинематограф», 20:00
16 августа — Санкт-Петербург, «УСЫ НА ПЕНЕ», 18:00
21 августа — Москва, «МО[ТРИ]», 19:00

Вход бесплатный, но нужна регистрация — она уже открыта.

Если вы в одном из этих городов — приходите поддержать локальную сцену.

Подробности и регистрация по ссылкам:
ВК: https://vk.ru/wall-212979168_1310
Инст: https://www.instagram.com/p/DbiWgoDstSS/
ТГ: https://t.me/local_zin/2930
🔥1
Forwarded from Noyade Records
Various Artists — Тишь
Noyade Records, 2026

Незримое присутствие, тонкие струйки талой воды, крохотное пятнышко крови на мятой рубашке, взгляд чуть выше линии горизонта на догорающий закат, мерцающий свет фонариков, лампочек, бликов проплывающих окон. Ощущение покоя, отстраненная далёкая меланхолия, игра теней на стенах, поднятые в небо руки, почти касание.
Тишь.

July in January - меланхолия тональной красоты, пыльца на щеке.
Демодуляция - смелая и строгая структура, единство завораживающего гула и проникновенного слова.
Old Moss - медитативное наслоение узоров, фраз, иносказаний в вибрации струн.
Юм-Юм - гул, шорохи, постукивания и потрескивания для леса и тихих комнат.
Борис Юшманов - симбиоз сообщающихся меж собой акустических и визуальных смыслов, взгляд через старинный объектив на бескрайние взаимосвязи идей и воплощений.
fshs - пространство между вечным и отмеренным, земным и иноземным.

Скачать: https://noyaderecords.bandcamp.com/album/--8
ВК: https://vk.ru/wall-122071233_201
🔥1
После дрон-синтезатора захотелось сделать эффект, и самый честный из них —
ленточное эхо. Смысл в том, что повтор звучит хуже оригинала: лента шуршит,
плывёт по скорости, подъедает верх. Идеальное эхо никому не нужно.

Два решения оказались главными, и оба формально неправильные.

Обратную связь я разрешил до ста десяти процентов. Обычно её
ограничивают сотней, потому что дальше звук усиливает сам себя и за пару
секунд превращается в вой. Держит петлю не ограничитель, а насыщение — то же
самое, что мешает настоящему магнитофону записать громче, чем позволяет
плёнка. Полчаса на максимуме без взрыва: значит, работает.

Важнее вышло другое. Движок этого эха я потом вынул из плагина в общую полку
деталей, и он ушёл дальше, чем задумывался: в генеративный синтезатор, в
лупер, в драм-машину. А следующий инструмент вообще вырос из простого
вопроса — если петля с обратной связью выше ста процентов звучит сама,
зачем ей вход?
🔥1
Мысль была такая: если петля эха с обратной связью выше ста процентов сама
себя поддерживает, то она уже звучит. Значит, эхо можно настроить на высоту
ноты и получить синтезатор, у которого нет ни одного генератора звука.

Берём петлю длиной ровно в один период ноты — для ля первой октавы это одна
четырёхсотсороковая секунды. Кидаем в неё короткий всплеск шума. Шум бегает
по кругу, петля вырезает из него свою частоту, остальное затухает. Выходит
щипок. Струна устроена ровно так же.

Первые версии пели не ту ноту. Вместо основного тона петля цеплялась за
обертон и выдавала звук выше на октаву и больше, причём непредсказуемо: одна
нота нормально, другая мимо. Причина в том, что во всплеске шума есть все
частоты сразу, и петля вольна выбрать любую подходящую. Лечится тем, что
всплеск сначала фильтруется вокруг нужной высоты и делается чуть длиннее
периода — тогда выбирать не из чего.
🔥3
Bleep — синтезатор, который сочиняет сам. Шестнадцать шагов, и на каждом
плагин решает: играть ноту, какую и в какой октаве.

Принцип, на который стоило потратить время: шаг не хранит ноту. Он хранит три
числа от нуля до единицы, выпавших от «зерна» — номера, задающего всю
случайность разом. Нота считается в момент, когда шаг срабатывает, из этих
чисел и текущих положений ручек. Поэтому, когда крутишь плотность или меняешь
гамму, рисунок не перебрасывается заново — он перетекает. Те же решения,
другой пересчёт. И то же зерно завтра даст ту же партию.
🔥2
VibeDice не звучит вообще. Он стоит перед инструментом и портит ноты, которые
вы играете: глушит, сдвигает, поднимает на октаву, подсаживает тихие
призраки-ответы.

Условие было одно: хаос обязан быть воспроизводимым. Прогнали петлю десять
раз — десять одинаковых результатов. Сохранили проект — через год то же
самое.

Ради этого у плагина нет памяти. Совсем. Каждое решение — вычисление из
четырёх чисел: номер броска кости, место в такте, высота ноты и номер
функции. Ничего вроде «в прошлый раз выпало» не существует, поэтому неважно,
играете вы с начала или с середины, петлёй или насквозь.
❤‍🔥1🔥1
К пятому плагину накопилась полка деталей: генераторы, фильтры, лента, эхо,
шум, огибающие. Проверять их внутри плагина мучительно — собери, установи,
открой DAW, послушай, повтори.

Поэтому появилась лаборатория. Программа без интерфейса и без DAW: соединяешь
детали в коде, запускаешь, получаешь готовые звуковые файлы, слушаешь. Шесть
цепочек за вечер — арпеджио, щипок, колокол, дроблёный грув, пад и лента с
обратной связью около единицы.

Последняя оказалась не цепочкой, а инструментом.

Лента с обратной связью ровно около ста процентов живёт на грани. Чуть меньше — звук тает за минуту. Чуть больше — растёт и сам себя перекрашивает.
В этой узкой полосе она делала то, чего я не проектировал: звон, медленные
волны, аккорд, распадающийся на шум, умирающую фразу, стареющую на глазах
плёнку.

Так появился DroneTape. Нота там не звук, а толчок; всё остальное строит
петля. Шесть заводских пресетов — буквально шесть находок того вечера, с
точностью до значений.

Сам DroneTape при этом так и стоит недоделанным.
TapeSplice пишет входящий звук на кольцевую плёнку, режет её на кусочки и
склеивает обратно в перетасованном порядке, часть — задом наперёд.

Одно решение было принято до первой строчки и оказалось важнее всей начинки:
это эффект, а не инструмент. Научил VibeDice. Ableton не умеет ставить чужие
MIDI-плагины прямо в цепочку — чтобы им пользоваться, приходится городить два
трека и роутинг между ними, и половина желающих сдаётся на этом месте.
TapeSplice вешается на любой канал, как ревербератор, и работает кнопками.

А история у него случилась через месяц и не своя.

Когда я делал драм-машину, на одном из наборов ударных слышался щелчок.
Искал в барабанах, нашёл в TapeSplice: нарезкой в обоих плагинах занимается
один и тот же модуль. Кусочки должны склеиваться плавно, с коротким
перекрытием. Но длину перекрытия ничто не ограничивало длиной самого кусочка,
и если оно оказывалось длиннее, кусочек успевал кончиться раньше, чем вступил.
Следующая склейка происходила за один сэмпл. Осталось сделать интерфейс.
🔥1
Семь инструментов я написал по отдельности, и каждый раз половина работы
повторялась: лента, эхо, фильтр, шум, огибающая. Постепенно всё общее
переехало на одну полку — сорок один кубик, от генераторов до
ревербератора. Кубики собирались в инструменты руками, в коде: соединил,
скомпилировал, установил, послушал, переписал. Двадцать минут на попытку.

В какой-то момент стало очевидно, что схема соединений — это не код. Это
список: что с чем соединено, какие ручки в каких положениях, что чем
управляет. А раз список, его можно записать обычным текстом.

Так появился движок, который читает такой текст и превращает его в звучащий
инструмент на лету, за миллисекунды, без сборки и перезапуска. До шестнадцати
деталей, восемь голосов, разрешены петли — деталь может управлять той, что
стоит перед ней. Смена инструмента на ходу происходит через плавный переход
в восемь миллисекунд, чтобы не щёлкало.

Это оказалось самой полезной вещью за всё время. Не потому, что схемы стало
удобнее хранить, а потому, что попытка подешевела в тысячу раз: не двадцать
минут, а мгновение. Можно перебрать сто инструментов за две минуты и
выкинуть девяносто девять.

И ещё потому, что писать этот текст теперь может кто угодно. Движку всё
равно, кто автор: человек, который никогда не открывал редактор кода,
нейросеть или генератор случайных чисел.

Я начал с нейросети. Это была не самая удачная часть плана.
Раз схему инструмента можно записать текстом, напрашивается: пусть текст пишет
не человек. Описываешь словами — «пыльный подвальный дрон с коричной
горчинкой» — и получаешь готовый инструмент.

Сначала я хотел маленькую модель, работающую прямо на ноутбуке, без
интернета. Сделал ей учебник: тысячи пар «описание звука — схема», от «жирный
бас» до синестезии вроде подвала и патины. Каждая схема проверялась настоящим
движком: он её загружал, играл ноту и убеждался, что звук есть и он конечен.
Модель обучилась.
С одной оговоркой. Там, где в схеме встречался смеситель на несколько
источников, она стабильно теряла одну закрывающую кавычку. Не случайно —
каждый раз в одном и том же месте. Из-за одного символа схема не читается
вовсе.

Я написал заплатку, которая эту кавычку возвращает. но в одной схеме модель сослалась на
деталь, которой в моём наборе не существует: придумала правдоподобное имя.
Поэтому D-module Synth в итоге ходит за схемой к большой модели по сети.
🔥1
Пока я возился с нейросетью, выяснилось неприятное: самым живым инструментом
на новом движке оказался тот, где никакого искусственного интеллекта нет
вообще.

Drone Random — одна кнопка. Нажал — плагин сам собрал схему дрона: генератор,
фильтр, насыщение, пространство, огибающая, медленное движение тембра. Через
долю секунды это звучит.

Вся хитрость в приёмке. Случайно собранная схема почти всегда звучит плохо
или не звучит вовсе: молчит, воет, затухает за секунду. Поэтому генератор не
отдаёт первое, что вышло. Он собирает кандидата, загружает его в отдельный
пробный движок, играет ноту, слушает результат сам — и если не устраивает,
выбрасывает и пробует заново, до ста раз. Наружу выходит только то, что
прошло проверку.

Вторая идея — одна-единственная ручка на весь инструмент. Она называется
Mutation и при каждой генерации привязывается к трём-шести случайным местам
схемы, обязательно по одному из каждой области: тембр, пространство,
движение. Поворот меняет звук целиком и очевидно.
🔥2
Drone Random 2 — тот же генератор, но с двумя деками и плавным переходом между
ними. Слева один дрон, справа другой, кроссфейдер посередине: инструмент для
живой игры, а не для перебора пресетов.

Требование к переходу было жёсткое: не смешивать два звука, а переезжать из
одних настроек в другие. Разница слышна сразу. Смешивание — это два
инструмента одновременно, каша и гребёнка в середине хода. Переезд — это один
инструмент, у которого все параметры едут из положения A в положение B, и
середина такая же осмысленная, как края.

Позже генератор стал категорийным — Drone, Ambient Pad, Hybrid, — и каждый
кандидат перед выпуском измеряется: громкость, яркость, не затухает ли,
не проваливается ли середина перехода. Разброс громкости между случайными
инструментами упал с тридцати децибел до четырёх. То есть кнопку можно жать
не глядя на фейдер.
👍1
У дроновых инструментов вылезла неприятная штука: то, что слышишь при игре,
и то, что получается при сведении в файл, расходилось. Не по громкости — по
высоте. Экспортированный дрон оказывался чуть расстроен относительно того,
что я только что слушал.

Две настоящие причины нашлись и починились.

Первая: движок применял медленные изменения раз в кусок, а куском был кусок,
который присылает программа-хост. При игре он один, при экспорте другой —
и результат разошёлся на десятки процентов. Теперь размер куска свой,
собственный, и сведение совпадает с прослушкой сэмпл в сэмпл.

Вторая тоньше. В инструменте есть аналоговый дрейф — медленное блуждание
высоты в пределах десятой доли полутона, ради живости. Оно шло само по себе,
от момента запуска плагина. При экспорте хост создаёт плагин заново, блуждание
стартует из другой точки — и материал уезжает. Теперь дрейф считается от
позиции в песне: где бы вы ни нажали play, в сороковом такте он один и тот же.

А потом симптом остался. Я мерил, строил гипотезы, собрал лесенку из шести
схем, чтобы поймать ступень, на которой высота уезжает.

Не уезжала. Ableton держал в кэше старую сборку и запускал её. Я неделю
измерял код, который не выполнялся.

Урок дороже бага: проверка правки в DAW начинается с доказательства, что хост
взял свежую сборку. Дата файла, пересканирование, перезапуск — до всех
измерений, а не после.

Попутно нашлась настоящая поломка, которую иначе никто бы не искал. Если хост
менял частоту дискретизации на ходу, плагин продолжал считать по старой — и
весь инструмент звучал почти на полтора полутона выше. Слышно всем, кто
переключил студию с 44 на 48 килогерц.
🔥1