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.

continue playing the synthesizer from your MIDI keyboard and have it gradually cross fade with some<br />

sampled sounds of flamingos squawking.<br />

In effect, you would like the Capybara to change from an effects processor, to an analog synthesizer, and<br />

finally into a sampler at the end, and you would like these hardware phases to overlap in time. Here is a<br />

time line sketch of the same thing:<br />

A/D Processing<br />

Analog Synthesis<br />

74<br />

Sampler<br />

0 5 10 15 20 25 30<br />

If you specify this as a Mixer with TimeOffsets on the synthesizer and the sampler, and you give each<br />

section a finite duration, then <strong>Kyma</strong> can schedule the use of resources on the Capybara in a more optimal<br />

way:<br />

Time <strong>Sound</strong><br />

0 - 5 s A/D Processing<br />

5 - 10 s Mixer ( A/D Processing, Analog Synthesis )<br />

10 - 15 s Analog Synthesis<br />

15 - 20 s Mixer ( Analog Synthesis, Sampler )<br />

20 - 30 s Sampler<br />

We should reiterate that this is analogous to the hardware itself evolving over time; it is not analogous to<br />

sequencing or to the notes of music notation. It is saying that the synthesizer does not exist be<strong>for</strong>e it is<br />

time <strong>for</strong> you to begin playing it, that it exists <strong>for</strong> 15 seconds, and then goes out of existence once you have<br />

finished playing it.<br />

This is part of the power of software synthesis — that it allows you to reallocate computing cycles and<br />

allocate them toward whatever algorithm you like. You can (literally in the space of one tick of the sample<br />

rate clock) switch from using all of the Capybara’s resources as an effects processor to using all of the resources<br />

to implement a polyphonic subtractive-synthesis synthesizer. <strong>The</strong> resources are generic; they are<br />

things like how much memory is available and how many multiplications and additions can be done in<br />

one sample clock (22 microseconds). <strong>Kyma</strong> can just as easily use the memory and the arithmetic unit to<br />

implement a filter as it can to implement an oscillator or read a sample stored on the hard disk.<br />

Part of the beauty of software is that everything is reconfigurable and modular, and by manipulating<br />

symbols and graphic icons, you are actually manipulating electrons flitting across metal pathways at<br />

nearly the speed of light, not physical masses that require manufacturing, materials, and space. <strong>The</strong> fact<br />

that it all ends up producing sound in the air is a little bit astounding when you stop to consider it. But<br />

we can’t spend too much time feeling astounded by computers and software, since you are probably getting<br />

anxious to get to work and there are still a few more things to cover in this overview — like how can<br />

we control time?<br />

Time flies like a banana<br />

<strong>The</strong> Capybara would not be able to implement the time-varying hardware example from the last section<br />

if it were not keeping track of time; that is how it knows when it is time to stop one <strong>Sound</strong> and begin<br />

computing the next one.<br />

<strong>The</strong>re are three <strong>Kyma</strong> modules that allow you to take some control over time on the Capybara: Time-<br />

Controller, TimeStopper, and WaitUntil.<br />

<strong>The</strong> input to a TimeStopper module is loaded into the Capybara, but the time clock is stopped until the<br />

value of the Resume parameter becomes positive. For example, even if the input to the TimeStopper had<br />

a duration of 1 samp (the shortest duration possible), it would last <strong>for</strong>ever unless the value of Resume<br />

changed from 0 to 1 at some point.

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

Saved successfully!

Ooh no, something went wrong!