90-ые - Волноводы

Мы можем воспользоваться разнообразными перспективами Csound'а для лучшего понимания физических моделей и волноводов. Мы можем начать с моделирования кларнета, используя ряд линий задержки и фильтров и визуализируя эту модель в виде блок-схемы, как показано на рисунке.


 
Навигация

[индекс] [предыдущая] [следующая]


cSounds.com

[+] На главную
[+] Тъюториалы

 
Рисунок 22: Блок-схема волноводной модели кларнета.


 
Далее, мы могли бы попробовать преобразовать нашу модель в Csound-инструмент, используя примитивы и основные опкоды, как показано на рисунке 23, но это, конечно же, было бы очень трудно. (Спасибо Хансу Микельсону (Hans Mikelson) за решение этого вопроса).


 
Рисунок 23: Составной волноводный кларнет, построенный из простых примитивов Csound'а.



 
Или мы можем поступить проще и собрать волноводный кларнет, просто используя опкод Csound'а wgclar, как показано на рисунке 24. Синтаксис для wgclar следующий:


 
ar  wgclar  kamp, kfreq, kstiff, iatt, idetk, kngain, kvibf, kvamp, ifn[, iminfreq]
 
Оба подхода имеют очевидные преимущества - кодирование с использованием "примитивов" или простых опкодов Csound'а ясное понимание алгоритма и устройства "синтезатора". Более того, мы имеем больше пунктов, в которых можем вставить различные интересные расширения и модификации. С другой стороны, использование специализированных опкодов (которые сами по себе фактически являются полноценными синтезаторами) позволяет нам упростить конструкцию, работать на более высоком уровне и лучше оптимизировать алгоритм в плане скорости работы в реальном времени.


 
Рисунок 24: Простой волноводный кларнет, основанный на мощном, полнофункциональном составном опкоде Csound'а.


 
Было бы забавно также использовать MIDI для исследования этого инструмента в реальном времени, но я оставлю это Вам. Хочется надеяться, что после того, как Вы прошли этот небольшой ряд упражнений, Вы начали понимать, что так замечательно в Csound'е – то, что Вы можете исследовать любую форму синтеза, используя опкоды-примитивы, опкоды высокого уровня или закапываясь прямо в исходный код программы. Разумеется, Вы можете добавить один-два собственных опкода! Ясно, что именно эти различные уровни доступа, знаний и понимания делают язык таким мощным и поучительным. Вы можете работать на любом уровне, который соответствует Вашим текущим интересам, нуждам и опыту, свободно перемещаясь с одного на другой и приобретая новое понимание на каждой ступени.


  [дальше] Новое тысячелетие: Сканированный синтез