09.12.2012 Views

The Kyma Language for Sound Design, Version 4.5

The Kyma Language for Sound Design, Version 4.5

The Kyma Language for Sound Design, Version 4.5

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

For example,<br />

!Volume is: `MIDIController07.<br />

You could enter !Volume as the value of the Scale parameter in a Sample; the map would then associate<br />

the Scale parameter with MIDI controller 7 data on the default MIDI channel (as specified in<br />

Configure MIDI… under the DSP menu).<br />

Event Values can be combinations of Event Sources and constants. For example,<br />

!Pitch is: (`MIDIKeyNumber + (`MIDIPitchBend displayAs: #nothing)) nn.<br />

Defines !Pitch to be the key number found in incoming MIDI note-on events offset by the incoming<br />

value of the pitch bend wheel (which will not show up in the virtual control surface). In this example, the<br />

pitch bend can contribute up to a half-step variation in the pitch. You can change the range of pitch bend<br />

to an octave variation by using<br />

!Pitch is: (`MIDIKeyNumber + (12 * `MIDIPitchBend)) nn.<br />

in the global map.<br />

When the global map is used to supply Event Values, <strong>Kyma</strong> uses the default MIDI channel number given<br />

in Configure MIDI… under the DSP menu. A MIDIVoice or MIDIMapper <strong>Sound</strong> can override the default<br />

MIDI channel <strong>for</strong> its input <strong>Sound</strong> by specifying the channel number in the Channel field.<br />

Event Source Options<br />

<strong>The</strong> Event Sources on the right side of each association in the map can have additional options controlling<br />

MIDI channel, value scaling, and presentation in the virtual control surface.<br />

You can override the default MIDI channel specification by adding a channel: tag to the specification of<br />

the Event Source:<br />

!Volume is: (`MIDIController07 channel: 5).<br />

This tells <strong>Kyma</strong> that !Volume is associated with continuous controller number 7 on MIDI channel 5. Notice<br />

that parentheses must enclose the Event Source whenever a tag is used.<br />

You can specify how the Event Source should be scaled prior to being used as an Event Source:<br />

!Volume is: (`MIDIController07 min: 0.5 max: 0.75).<br />

<strong>Kyma</strong> will scale the normal (0,1) range of the MIDI continuous controller to the specified range of<br />

(0.5,0.75).<br />

You can also restrict the values to fall on a grid:<br />

!Volume is: (`MIDIController07 min: 0.5 max: 0.75 grid: 0.05).<br />

In this case, !Volume can only be one of the values 0.5, 0.55, 0.6, 0.65, 0.7, or 0.75.<br />

You can specify whether changes in the Event Source result in linear or logarithmic changes in the Event<br />

Value. By default, a change in the Event Source results in a linear change to the Event Value. To cause<br />

logarithmic changes, use:<br />

!Volume is: (`MIDIController07 taper: #log).<br />

You can combine these options by separating them by semicolons, as in:<br />

!Volume is: (`MIDIController07 channel: 5; min: 100 max: 1000 grid: 50; taper: #log).<br />

Virtual Control Surface and Mappings<br />

By defining the controller type in the map, you determine how controllers associated with Event Values<br />

will appear in the virtual control surface. Controllers can be one of three types: faders, toggles, or gates.<br />

Faders are commonly associated with continuous controllers. Toggles are typically used to switch from<br />

one state to another (i.e., you can use a toggle to switch something on until you want to switch it off).<br />

Gates are like momentary buttons; they are on <strong>for</strong> as long as they are held down, and they turn off as<br />

soon as the button is released. (For example, the damper pedal is typically interpreted as a gate.)<br />

483

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!