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.

Time Scaling<br />

This section is the dual of Frequency Scaling on page 124; you cannot change the duration of a disk track<br />

or sample without also changing its frequency and vice versa. For example, try playing disk file rate<br />

chipmunks & monsters and twice as long = octave lower. Not only does changing the rate also change<br />

the frequency, it also seems to shift the <strong>for</strong>mant regions up or down, giving the impression that a larger<br />

or smaller source produced the sound (the chipmunk or monster effect).<br />

Granular Time Stretching<br />

Many of the same modeling techniques used in the Frequency Scaling section can also be used to scale the<br />

duration of a recording without affecting its frequency. For example, if we assume that the sound was<br />

produced by a train of impulses hitting a filter, we can use granular time-stretching (see <strong>for</strong> example<br />

time-stretched virtue and time-stretched speech) which slows down the rate without affecting either the<br />

fundamental frequency or the <strong>for</strong>mant frequencies.<br />

In sample cloud stretch dur, two SampleClouds are used to granulate a speech sample. Experiment with<br />

different values <strong>for</strong> !Rate, !TJitter, and !GrainDur in the virtual control surface, and then open up<br />

the <strong>Sound</strong> to see how it works.<br />

Try playing granular time/freq antonio, triggering a repetition of the poem using MIDI key down. This<br />

uses several TimeFrequencyScaler <strong>Sound</strong>s on the same sample ‡ but once a second randomly chooses a<br />

new rate and a new frequency scale. Each time you trigger it from the keyboard it will choose different<br />

rates and different frequencies. live random granular time/freq is the same idea, except that you can<br />

choose the live input as the GenericSource and granulate the live input.<br />

Controlling the TimeIndex of a Resynthesis<br />

If you analyze the spectrum of a sample, you can resynthesize it using an OscillatorBank or a GAOscillators.<br />

Unlike sample playback, an oscillator gives you independent control over duration and frequency.<br />

<strong>The</strong> TimeIndex of a GAOscillators, SumOfSines, or REResonator resynthesis is normally a linear ramp<br />

function that starts at -1 at the beginning, grows to 0 by the middle, and reaches a value of 1 by the end.<br />

In rate control on GA, the TimeIndex OnDuration is set to:<br />

2.39415 s + ((1 - !Rate) * 10)<br />

If !Rate is 1, then the time index has its normal duration and the GA reads through its envelopes at the<br />

normal rate. However, if !Rate is less than 1, the OnDuration is larger, and the time index takes longer<br />

to get through the amplitude envelopes, thus increasing the duration. (Try playing this <strong>Sound</strong> and adjusting!Rate<br />

in the virtual control surface). This technique is not without its artifacts; if you try dur<br />

scaled FL GA, you can hear features like vibrato and tremolo slow down when you slow down the rate.<br />

<strong>The</strong> same technique can be applied to the time index that controls the amplitude and frequency envelope<br />

rate of a full-blown additive resynthesis using the SumOfSines or a spectral source and an Oscillator-<br />

Bank. For example, play Kurdish dur scale § and adjust the !Rate from the virtual control surface.<br />

tantalizing celthrpGliss uses<br />

exp L * 100 s + 2 s<br />

as its OnDuration. Since exp has an exponential function shape, the value of OnDuration gets larger as<br />

time goes on. <strong>The</strong> result is a resynthesis of a harp glissando that never seems to reach the top.<br />

In bass-keydown slows time, ‡ the OnDuration is set to<br />

5 s + (100 * !KeyDown) s<br />

‡ This is a fragment of a poem written and per<strong>for</strong>med by composer and fellow <strong>Kyma</strong> user Antonio Barata.<br />

§ Analysis of sample from Thomas Tibert’s New World Order sample collection.<br />

‡ Analysis of sample from Thomas Tibert’s Methods of Mayham sample collection.<br />

172

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

Saved successfully!

Ooh no, something went wrong!