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.

SyntheticSpectrumFrom<strong>Sound</strong>s<br />

Spectral Sources Category<br />

Generates a synthetic spectrum whose amplitudes, frequencies (and optionally, bandwidths) are<br />

controlled by two input <strong>Sound</strong>s. One input supplies the amplitudes and the other supplies the<br />

frequencies (optionally alternating with bandwidths). You can think of each cycle of the input <strong>Sound</strong>s as<br />

defining one frame of the spectrum. If the input <strong>Sound</strong>s change from cycle to cycle, then the spectrum<br />

will also change from frame to frame.<br />

A SyntheticSpectrumFrom<strong>Sound</strong>s (like other <strong>Sound</strong>s in the Spectral Sources category) outputs spectral<br />

envelopes in the following <strong>for</strong>mat:<br />

Left Channel: Amp1 Amp2 ... AmpN<br />

Right Channel: Freq1 Freq2 ... FreqN<br />

For each frame, Amp1 is the amplitude of the first partial (and Freq1 is the frequency or pitch of the first<br />

partial), Amp2 is the amplitude of the second partial (corresponding with Freq2), and AmpN is the<br />

amplitude of the highest numbered partial (specified in NbrPartials). <strong>The</strong>n the whole sequence repeats<br />

<strong>for</strong> the next frame of the spectrum. Because of this repetition rate, the output of the<br />

SyntheticSpectrumFrom<strong>Sound</strong> has a kind of periodicity to it, where the period is the equal to the same<br />

number of samples as there are partials in each frame.<br />

Amplitudes<br />

If the period of this <strong>Sound</strong> in samples is equal to NbrPartials, then one cycle of this <strong>Sound</strong> defines one<br />

frame’s worth of amplitudes <strong>for</strong> the synthesized spectrum. (For example, to synthesize 80 partials, set<br />

the Frequency of this <strong>Sound</strong> to 80 samp inverse if you want the cycles to line up with frames). If the<br />

repetition rate of this <strong>Sound</strong> is lined up with the number of partials in each frame of the spectrum, then the<br />

wave<strong>for</strong>m of each cycle of this <strong>Sound</strong> will correspond to a kind of spectral envelope <strong>for</strong> each frame of the<br />

spectrum. For example, if you select ExponRev as the wave<strong>for</strong>m of an oscillator whose period is 80<br />

samples and set NbrPartials to 80, then each frame of the spectrum will have high amplitudes on its<br />

lower-numbered partials and lower amplitudes on the upper partials. Even more interesting is to make<br />

this <strong>Sound</strong>’s frequency adjustable within a narrow range so you can create spectral envelopes that "drift"<br />

because their repetition rates are slightly out of phase with the number of partials being generated on<br />

each frame.<br />

FrequenciesAndBandwidths<br />

If the period of this <strong>Sound</strong> in samples is equal to NbrPartials, then one cycle of this <strong>Sound</strong> defines one<br />

frame’s worth of frequencies (or pitches i f you have LogScale checked) <strong>for</strong> the synthesized spectrum.<br />

(For example, to synthesize 80 partials, set the Frequency of this <strong>Sound</strong> to 80 samp inverse if you want<br />

the cycles to line up with frames). If the repetition rate of this <strong>Sound</strong> is lined up with the number of<br />

partials in each frame of the spectrum, then the wave<strong>for</strong>m of each cycle of this <strong>Sound</strong> will provide the<br />

frequencies <strong>for</strong> each partial in one frame of the spectrum. For example, if you select Ramp as the<br />

wave<strong>for</strong>m of an oscillator whose period is 80 samples and set NbrPartials to 80, then, in each frame of<br />

the spectrum, the lower-numbered partials will have low frequencies, and the higher-numbered partials<br />

will have high frequencies. Even more interesting is to make this <strong>Sound</strong>’s frequency adjustable within a<br />

narrow range so you can create spectra that "drift" because their repetition rates are slightly out of phase<br />

with the number of partials being generated on each frame.<br />

If the SyntheticSpectrumFrom<strong>Sound</strong>s is controlling something that requires bandwidth (like<br />

FormantBankOscillator or VocoderChannelBank), and you have checked the SendBandwidths box, then<br />

373

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

Saved successfully!

Ooh no, something went wrong!