Семь инструментов я написал по отдельности, и каждый раз половина работы
повторялась: лента, эхо, фильтр, шум, огибающая. Постепенно всё общее
переехало на одну полку — сорок один кубик, от генераторов до
ревербератора. Кубики собирались в инструменты руками, в коде: соединил,
скомпилировал, установил, послушал, переписал. Двадцать минут на попытку.
В какой-то момент стало очевидно, что схема соединений — это не код. Это
список: что с чем соединено, какие ручки в каких положениях, что чем
управляет. А раз список, его можно записать обычным текстом.
Так появился движок, который читает такой текст и превращает его в звучащий
инструмент на лету, за миллисекунды, без сборки и перезапуска. До шестнадцати
деталей, восемь голосов, разрешены петли — деталь может управлять той, что
стоит перед ней. Смена инструмента на ходу происходит через плавный переход
в восемь миллисекунд, чтобы не щёлкало.
Это оказалось самой полезной вещью за всё время. Не потому, что схемы стало
удобнее хранить, а потому, что попытка подешевела в тысячу раз: не двадцать
минут, а мгновение. Можно перебрать сто инструментов за две минуты и
выкинуть девяносто девять.
И ещё потому, что писать этот текст теперь может кто угодно. Движку всё
равно, кто автор: человек, который никогда не открывал редактор кода,
нейросеть или генератор случайных чисел.
Я начал с нейросети. Это была не самая удачная часть плана.
Post #361
29