cSounds.com - тъюториалы - Тъюториал по дизайну инструментов
Введение

Инструменты в Csound'е создаются в файле оркестра , а список исполняемых нот пишется в отдельном файле партитуры. Оба файла создаются с помощью обычного текстового процессора. Когда Вы запускаете Csound для обработки конкретных файлов оркестра и партитуры, партитура сортируется и упорядочивается по времени, далее транслируется и загружается оркестр, вычисляются значения для волновых таблиц и заносятся в них, и затем партитура исполняется. Партитура управляет оркестром, указывая определенным инструментам когда и как долго играть и какие параметры использовать на протяжении каждой ноты.


В отличии от сегодняшних коммерческих "железных" синтезаторов, которые имеют ограниченный набор осцилляторов, генераторов огибающих, фильтров и фиксированное количество способов, с помощью которых эти устройства могут быть соединены, мощь Csound'а неограничена. Если Вам нужет инструмент, состоящий из сотен осцилляторов, генераторов огибающих и фильтров, Вы просто впечатываете их. Еще важнее свобода в соединении модулей и в определении взаимосвязей между параметрами, которые этими модулями управляют. Так же как и акустические инструменты, инструменты Csound'а могут проявлять чувствительность к музыкальному контексту и демонстрировать уровень "музыкального интеллекта", к которому аппаратные синтезаторы могут лишь стремиться.


Так как целью этого тъюториала является ознакомление новичков с синтаксисом языка, мы разработаем несколько простых инструментов. Вы сможете найти описание множества изощренных инструментов выше в книге The Csound Book, или следуя по ссылкам на сайте MIT Csound Front Page. Изучение их откроет Вам настоящую мощь Csound'а. Все же, надеюсь, что Вы найдете в этих простых примерах необходимую базу и призываю Вас модифицировать и развивать каждый из них, а также советую стараться делать каждую партитуру более интересной и более музыкальной. Итак, начнем!


Файл оркестра в Csound'е состоит из двух главных частей:


1. секции заголовка - определяющей частоту дискретизации, частоту управляющих сигналов (control rate) и количество выходных каналов.
2. секции описания инструментов - в которой конструируются инструменты.


Секция заголовка


Оркестр Csound'а использует две различных частоты дискретизации для генерирации сигналов - частоту дискретизации аудио и частоту дискретизации управляющих сигналов. С помощью каждой могут быть представлены сигналы, содержащие частоты не выше половины данной частоты дискретизации, но разграничение аудиосигналов и управляющих субаудиосигналов полезно, так как позволяет медленне изменяющимся сигналам потреблять меньше процессорного времени. В представленном ниже заголовке мы определили частоту дискретизации равной 44.1 кГц, частоту управляющую частоту - 4410 Гц и далее вычислили количество сэмплов в каждом управляющем периоде, используя формулу: ksmps = sr / kr


sr = 44100

kr = 4410

ksmps = 10

nchnls = 1

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


Секция описания инструментов


Все инструменты в оркестре нумеруются и, соответственно, по номерам происходят обращения к ним из партитуры. Инструменты Csound'а подобны патчам аппаратных синтезаторов. Каждый инструмент состоит из набора "базовых генераторов," или программных "модулей," которые "объединяются" в целое посредством узлов "входа/выхода" — переменных i, k или a типа . В отличие от аппаратного модуля, у программного модуля есть некоторое количество переменных "аргументов", посредством определения которых пользователь управляет поведением модуля. Ниже перечислены четыре типа переменных:


определяемые единожды в самом начале исполнения (по сути - константы)
переменные i типа, значение которых обновляется в начале каждой новой ноты
переменные k типа, значение которых обновляется с управляющей частотой
переменные a типа, значение которых обновляется с частотой дискретизации аудиосигналов


Предложения в файле оркестра


Каждое предложение занимает отдельную строку и имеет один и тот же основной формат:


результат действие аргументы


Чтобы включить осциллятор в наш оркестр, можно было бы написать следующее:


a1 oscil 10000, 440, 1

Три "аргумента" этого осциллятора определяют его амплитуду (10000), его частоту (440Гц) и его волновую форму (1). Выход направляется в узел ввода/вывода a1. В обозначении выхода существенно то, что оно определяет с какой частотой осциллятор будет генерировать выходные данные — здесь мы используем аудиочастоту. Мы могли бы назвать хранящую результат переменную как угодно (например, asig), лишь бы только это имя начиналось с буквы "a" (латинской).


Комментарии


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


 
Навигация

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


cSounds.com

[+] На главную


 
[+] Какие-либо вопросы, комментарии или предложения? Пожалуйста, дайте нам знать:
support@csounds.com