cSounds.com - тъюториалы - Тъюториал по дизайну инструментов Введение Инструменты в Csound'е создаются в файле оркестра , а список исполняемых нот пишется в отдельном файле партитуры. Оба файла создаются с помощью обычного текстового процессора. Когда Вы запускаете Csound для обработки конкретных файлов оркестра и партитуры, партитура сортируется и упорядочивается по времени, далее транслируется и загружается оркестр, вычисляются значения для волновых таблиц и заносятся в них, и затем партитура исполняется. Партитура управляет оркестром, указывая определенным инструментам когда и как долго играть и какие параметры использовать на протяжении каждой ноты.
В отличии от сегодняшних коммерческих "железных" синтезаторов, которые имеют ограниченный набор осцилляторов, генераторов огибающих, фильтров и фиксированное количество способов, с помощью которых эти устройства могут быть соединены, мощь Csound'а неограничена. Если Вам нужет инструмент, состоящий из сотен осцилляторов, генераторов огибающих и фильтров, Вы просто впечатываете их. Еще важнее свобода в соединении модулей и в определении взаимосвязей между параметрами, которые этими модулями управляют. Так же как и акустические инструменты, инструменты Csound'а могут проявлять чувствительность к музыкальному контексту и демонстрировать уровень "музыкального интеллекта", к которому аппаратные синтезаторы могут лишь стремиться.
Так как целью этого тъюториала является ознакомление новичков с синтаксисом языка, мы разработаем несколько простых инструментов. Вы сможете найти описание множества изощренных инструментов выше в книге The Csound Book, или следуя по ссылкам на сайте MIT Csound Front Page. Изучение их откроет Вам настоящую мощь Csound'а. Все же, надеюсь, что Вы найдете в этих простых примерах необходимую базу и призываю Вас модифицировать и развивать каждый из них, а также советую стараться делать каждую партитуру более интересной и более музыкальной. Итак, начнем!
Файл оркестра в Csound'е состоит из двух главных частей:
1. секции заголовка - определяющей частоту дискретизации, частоту управляющих сигналов (control rate) и количество выходных каналов.
Оркестр Csound'а использует две различных частоты дискретизации для генерирации сигналов - частоту дискретизации аудио и частоту дискретизации управляющих сигналов. С помощью каждой могут быть представлены сигналы, содержащие частоты не выше половины данной частоты дискретизации, но разграничение аудиосигналов и управляющих субаудиосигналов полезно, так как позволяет медленне изменяющимся сигналам потреблять меньше процессорного времени. В представленном ниже заголовке мы определили частоту дискретизации равной 44.1 кГц, частоту управляющую частоту - 4410 Гц и далее вычислили количество сэмплов в каждом управляющем периоде, используя формулу: ksmps = sr / kr
sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 В оркестрах и партитурах Csound'а допускается свободное использование пробельных символов. Важно быть последовательными относительно текстовой раскладки в Ваших файлах, так что Вы можете воспользоваться помощью пробелов. В приведенных ниже инструментах этого тъюториала Вы увидите, что мы приняли определенные соглашения касательно раскладки. Читатель волен избрать свои собственные.
Все инструменты в оркестре нумеруются и, соответственно, по номерам происходят обращения к ним из партитуры. Инструменты Csound'а подобны патчам аппаратных синтезаторов. Каждый инструмент состоит из набора "базовых генераторов," или программных "модулей," которые "объединяются" в целое посредством узлов "входа/выхода" переменных i, k или a типа . В отличие от аппаратного модуля, у программного модуля есть некоторое количество переменных "аргументов", посредством определения которых пользователь управляет поведением модуля. Ниже перечислены четыре типа переменных:
определяемые единожды в самом начале исполнения (по сути - константы)
Каждое предложение занимает отдельную строку и имеет один и тот же основной формат:
результат действие аргументы
Чтобы включить осциллятор в наш оркестр, можно было бы написать следующее:
a1 oscil 10000, 440, 1 Три "аргумента" этого осциллятора определяют его амплитуду (10000), его частоту (440Гц) и его волновую форму (1). Выход направляется в узел ввода/вывода a1. В обозначении выхода существенно то, что оно определяет с какой частотой осциллятор будет генерировать выходные данные здесь мы используем аудиочастоту. Мы могли бы назвать хранящую результат переменную как угодно (например, asig), лишь бы только это имя начиналось с буквы "a" (латинской).
Чтобы включить в файл оркестра или партитуры текст, который не должен интерпретироваться программой, начните его с символа точки с запятой. Это позволит Вам детально комментировать Ваш код. В каждой строке любой текст, следующий за точкой с запятой будет игнорироваться трансляторами оркестра и партитуры.
|
|
|