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.

SyntheticSpectrumFromArray<br />

Spectral Sources Category<br />

Creates a synthetic spectrum from two arrays: an array of amplitude values <strong>for</strong> each track in the frame,<br />

and an array of frequency values <strong>for</strong> each track in the frame (and, if SendBandwidths is checked, a<br />

corresponding array of bandwidths <strong>for</strong> each of the tracks as well). A SyntheticSpectrumFromArray<br />

should be fed to an OscillatorBank, FormantBankOscillator, or VocoderChannelBank in order to<br />

synthesize the partials, <strong>for</strong>mants, or bank of vocoder filters. <strong>The</strong> SyntheticSpectrumFromArray produces<br />

a set of envelopes <strong>for</strong> controlling the parameters of an OscillatorBank, FormantBankOscillator, or<br />

VocoderChannelBank.<br />

NbrPartials<br />

This is the number of partials (or filters) to synthesize. In most cases, it should be the same as the size of<br />

the Frequencies array; however, you can specify a slower update rate <strong>for</strong> the envelopes by using a larger<br />

number here. <strong>The</strong> time between updates of the control envelopes is equal to the number you specify<br />

here but in units of samples. If you enter 128 here, <strong>for</strong> example, the envelopes will be updated every 128<br />

samples (that is about every 3 milliseconds if your sampling rate is 44.1 kHz).<br />

LogScale<br />

Check this box to output the Frequencies (and, optional Bandwidths) in log rather than linear frequency.<br />

In most cases, this box should be unchecked; the only time it should be checked is if you want to<br />

manipulate the frequency envelopes in pitch space rather than in hertz.<br />

SendBandwidths<br />

Check this box to send bandwidth in<strong>for</strong>mation. Bandwidths are required <strong>for</strong> controlling the filters of a<br />

FormantBankOscillator or a VocoderChannelBank, but they are not required <strong>for</strong> controlling the oscillators<br />

in an OscillatorBank.<br />

Envelope<br />

This is an overall amplitude envelope.<br />

Amplitudes<br />

Enter an array of amplitude values separated by spaces. Enclose any arithmetic expressions or units<br />

within curly braces, <strong>for</strong> example:<br />

!Amp1 {!Amp2 * 0.5} {-6 db} !KeyVelocity {!KeyDown ramp: 5 s} {0.1 s random}<br />

<strong>The</strong> number of amplitude values should be the same as the number of frequency values (and optional<br />

bandwidth values). If the frequency, amplitude (and bandwidth if used) arrays are different sizes, the<br />

smallest array will be used, and any extra values in the other two arrays are thrown away.<br />

Frequencies<br />

Enter an array of frequency values separated by spaces. If you leave off the units, the values will be<br />

interpreted as frequencies in hertz. Enclose any arithmetic expressions or frequencies with units within<br />

curly braces, <strong>for</strong> example:<br />

609 {!Freq1 * 1000} {2048 hz} {60 nn} {5 c}<br />

<strong>The</strong> number of frequency values should be the same as the number of amplitude values (and optional<br />

bandwidth values). If the frequency, amplitude (and bandwidth if used) arrays are different sizes, the<br />

371

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

Saved successfully!

Ooh no, something went wrong!