Основы Csound'а: Гранулярный синтез с использованием MIDI

Так как звуковая перспектива гранулярного синтеза относительно нова и незнакома, возможно, было бы практичнее исследовать этот мир в реальном времени. Для этого мы преобразуем наш гранулярный синтезатор в MIDI-инструмент и заменим большинство генераторов огибающих масштабирующими 7-битными контроллерами (midic7). Далее мы инициализируем контроллеры, создавая тем самым "пресетный" начальный тембр, используя ctrlinit. На рисунке 8 показан оркестровый код Csound'а для нашего гранулярного инструмента с MIDI-морфингом.


 
Навигация

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


cSounds.com

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

 
Рисунок 8: Оркестровый файл для MIDI-версии нашего гранулярного инструмента с морфингом.


 
В этот оркестр мы ввели два ориентированных на работу с MIDI "конвертера величин", cpsmidi и ampmidi, так как нам нужен способ преобразовывать MIDI-номер ноты в его эквивалент в Гц (или cps – циклов в секунду), который требуется для опкода grain. Нам также нужен способ сопоставить скорости нажатия клавиши в MIDI максимальную линейную амплитуду. В этом случае скорости из диапазона 0-127 будут масштабированы так, чтобы получить диапазон 0-10000. Контроллер 80, с диапазоном от 0 до 10000 после масштабирования, будет добавлен к основной частоте, зависящей от исполняемой на MIDI-клавиатуре ноты (icps + kcps). Другие 4 контроллера (16,17,18 и 19) также масштабируются для получения определенных диапазонов и назначаются длительности частиц, плотности частиц, амплитуде и сдвигу по высоте.


Одна из важных особенностей этого и любого другого MIDI-инструмента отражена в использовании опкода linenr. До этого момента наши Csound-инструменты всегда "знали" длительность ноты в момент инициализации инструмента. Так было потому, что каждое соответствующее ноте предложение, фактически требует определения трех параметров – номера инструмента (p1), времени начала ноты (p2) и длительности (p3). Все другие параметры оставляются на усмотрение звукового дизайнера. Но если Вы имеете дело с MIDI-инструментом, как Вы можете знать длительность ноты заранее? Длительность нот зависит от того, как долго вы держите пальцы на клавишах. Таким образом, Веркое (Vercoe) должен был создать новый класс опкодов для MIDI-огибающих, которые переходят в фазу филировки, когда принято сообщение noteoff – все эти MIDI-специализированные модификаторы сигнала оканчиваются буквой "r" (linenr, linsegr, exponr, и т. д.).


Партитурный файл для нашего MIDI-инструмента также необычен, потому что он может вообще не содержать нот. Точнее, используется пустая функциональная таблица для обеспечения активности инструмента в течение некоторого времени. В данном случае наш гранулярный MIDI-инструмент поддерживается в активном состоянии в течение 30 секунд - f0 30, как видно из рисунка 9.


 
Рисунок 9: Партитурный файл для гранулярного MIDI-инструмента с пустым предложением f0.


  [дальше] Основы Csound'а: Гранулярная обработка