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.

Automation<br />

To prevent a controller from ever showing up in the virtual control surface, tell it to display as<br />

#nothing:<br />

!Harm is: (`MIDIController71 displayAs: #nothing).<br />

<strong>The</strong> global map is always there, invisibly associating Event Values with your external MIDI devices.<br />

When you first get <strong>Kyma</strong>, the Default map is selected as your global map. To select a different global<br />

map, use Choose global map… in the File menu. ‡<br />

Whatever your current global map may be, you can always temporarily add to it or override portions of it<br />

in a local map. <strong>The</strong> MIDIMapper <strong>Sound</strong> has a Map parameter where you can enter the associations that<br />

differ from the global map. <strong>The</strong>se associations apply only to those <strong>Sound</strong>s to the left of the MIDIMapper<br />

in the signal flow diagram. Anything not overridden in the local map will be specified in the global map.<br />

You can also use a local map to specify controllers that will show up in the virtual control surface only,<br />

without being connected to any external controller. This is especially useful when you have some specific<br />

names that you would like to give the controllers <strong>for</strong> one specific <strong>Sound</strong>, but when those controller names<br />

are not generally useful enough to warrant adding them to the global map.<br />

To specify a named controller that will show up in the virtual control surface only (and not be controllable<br />

with physical faders), use the same name <strong>for</strong> both the Event Value and the Event Source, e.g.<br />

!Freq is: `Freq.<br />

Local maps are also handy <strong>for</strong> displaying the true value of a fader. In other words, instead of taking the<br />

(0,1) controller and multiplying it by the desired range in the parameter field, you can change the range<br />

of the controller to whatever minimum and maximum value you like. Typically, this is not something<br />

you would want to do in the global map, because the desired range is probably going to be different <strong>for</strong><br />

each <strong>Sound</strong>. So, although you can specify a different range in the global map, it is most often done in a<br />

MIDIMapper.<br />

To specify a range of values <strong>for</strong> a MIDI controller, use a statement like the following:<br />

!Frequency is: (`MIDIController18 min: 100 max: 1000).<br />

This gives you a fader called !Frequency whose minimum value is 100 and whose maximum value is<br />

1000 controlled by MIDI continuous controller number 18 on the default MIDI channel.<br />

<strong>The</strong> extra tags specifying channel, range, etc. are not limited to use in local maps. <strong>The</strong>y can also be used in<br />

any new global maps that you design or modify.<br />

In some situations, you might want to automate parameter changes, rather than controlling them by hand<br />

with a MIDI fader or the virtual control surface. <strong>The</strong>re are several ways to accomplish this:<br />

♦ Use a software sequencer to draw the continuous controller functions, and then control the Capybara<br />

from the sequencer.<br />

♦ Use the sequencer to draw the time-varying behavior of each controller, export the sequence as a<br />

standard MIDI file, and read the MIDI file in <strong>Kyma</strong>.<br />

♦ Use the time functions built in to <strong>Kyma</strong>.<br />

♦ Use a <strong>Sound</strong> to control the way the parameter changes over time (in the same way that you might use<br />

an LFO to control a parameter in a modular analog synthesizer).<br />

♦ Use the Script parameter of a MIDIVoice to algorithmically specify how the controller value<br />

changes over time.<br />

♦ Use the AnalogSequencer <strong>Sound</strong> to generate sequences of note events and controller values.<br />

‡ When you opened the Default map, you may have noticed that there were a couple of other maps in the Global<br />

Maps folder as well. You can make a copy of the Default map, and customize it <strong>for</strong> whatever MIDI devices you<br />

have in your studio. For example, the PC1600 map is one that we have set up <strong>for</strong> the Peavey PC 1600 MIDI controller,<br />

and the Lightning map was designed to map the horizontal and vertical movements of the left and right<br />

wands of a Buchla Lightning controller.<br />

48

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

Saved successfully!

Ooh no, something went wrong!