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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Polyphony<br />

Number of simultaneous MIDI note events possible on this voice. For example, if you specify a<br />

Polyphony value of 4, <strong>Kyma</strong> makes 4 copies of the Input <strong>Sound</strong>, so any one of them can be triggered at<br />

any time and all four can be sounding at the same time. <strong>The</strong> higher the value of Polyphony, the more<br />

computation time is required per sample tick.<br />

LowPitch<br />

<strong>The</strong> lowest MIDI pitch that this voice responds to. Be sure to include units of pitch or frequency with the<br />

value. (For this particular <strong>Sound</strong>, if you specify this value as a frequency, <strong>Kyma</strong> will round to the nearest<br />

equal-tempered MIDI notenumber).<br />

This allows you to map different regions of the MIDI note range to different voices and to define keyboard<br />

splits.<br />

HighPitch<br />

<strong>The</strong> highest MIDI pitch that this voice responds to. Be sure to include units of pitch or frequency with the<br />

value. (For this particular <strong>Sound</strong>, if you specify this value as a frequency, <strong>Kyma</strong> will round to the nearest<br />

equal-tempered MIDI notenumber).<br />

This allows you to map different regions of the MIDI note range to different voices and to define keyboard<br />

splits.<br />

Script<br />

When Source is set to Script, this program sends MIDI events to the Input (just as if these events were<br />

being read from a MIDI file). See the manual <strong>for</strong> more in<strong>for</strong>mation on algorithmically generating and<br />

manipulating MIDI events.<br />

To specify a MIDI event, use:<br />

self keyDownAt: duration: frequency: velocity: .<br />

Be sure to include units on the start time, duration, and frequency values, and specify velocity within a<br />

range of 0 to 1. Frequency can be any value specified in hz or nn; you are not limited to the pitches from<br />

the 12-tone equal tempered scale. All arguments must be real values (as opposed to EventValues).<br />

As a shortcut, you can drop any of the tags, <strong>for</strong> example, the following are all valid:<br />

self keyDownAt: 0 s.<br />

self keyDownAt: 3 s duration: 10 beats.<br />

self keyDownAt: 0 beats duration: 10 beats frequency: 4 c.<br />

self keyDownAt: 5 beats duration: 0.25 beats frequency: 4 c + 0.5 nn velocity: 0.75.<br />

This field is actually a Smalltalk program, so you can use Smalltalk expressions or control structures to<br />

generate these events algorithmically, <strong>for</strong> example:<br />

1 to: 12 do: [ :i |<br />

self keyDownAt: (i - 1) beats duration: 0.25 beats frequency: 4 c + i nn velocity: (i / 12.0)].<br />

or:<br />

| r t |<br />

r := Random newFor<strong>Kyma</strong>WithSeed: 66508.<br />

t := 0.<br />

100 timesRepeat: [<br />

t := t + r next.<br />

self keyDownAt: t s duration: 0.25 beats frequency: (r next * 1000 + 60) hz velocity: r next].<br />

You can also create sequences and mixes of "notes" and "rests" or collections of MIDI events, each<br />

associated with its own time tag.<br />

To create a rest object, use:<br />

296

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

Saved successfully!

Ooh no, something went wrong!