cSounds.com - тъюториалы – Тъюториал по дизайну инструментов Тъюториал 6: Подпрограммы GEN Первый символ в партитурном предложении является кодом операции (по сути командой), обозначающим запрашиваемое действие; остальные данные являются параметрическими полями (p-полями), используемыми данной операцией. До сих пор мы имели дело с двумя разными операциями в наших партитурах: f и i. Команда i, или команда исполнения ноты, задействует инструмент с номером в p1 во время указанное в p2 и деактивирует этот инструмент после p3 секунд; все остальные p-поля передаются инструменту.
С другой стороны, команды f задействуют подпрограммы ″вычерчивания″ функций, называемые GEN-подпрограммами. В настоящее время Csound имеет в наличии двадцать три GEN-подпрограммы, заполняющие волновые таблицы различными способами. Например, GEN01 переносит данные из звукового файла; GEN07 позволяет конструировать функции из отрезков прямых линий; а GEN10, которую мы будем пока использовать в наших партитурах, генерирует составную волновую форму, являющуюся взвешенной суммой простых синусоид. Мы назвали функциональную таблицу "f1", создали ее во время 0, определили, что она будет содержать 512 точек и указали GEN10 заполнить эту волновую таблицу простой синусоидой с амплитудой 1. GEN10 на самом деле может быть использована для генерации приближений множества других волновых форм, как показано ниже:
|
|
f1 0 2048 10 1 ; Синусf2 0 2048 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111 ; Пилообразнаяf3 0 2048 10 1 0 0.3 0 0.2 0 0.14 0 .111 ; Прямоугольнаяf4 0 2048 10 1 1 1 1 0.7 0.5 0.3 0.1 ; Импульс В коде операции f первые четыре p-поля интерпретируются следующим образом:
|
В инструменте и партитуре ниже, мы добавили три дополнительные функциональные таблицы в партитуру и изменили оркестр так, чтобы инструмент мог обращаться к таблицам посредством параметра p11.
|
|