ChucK/fm.ck

From CSWiki
Revision as of 23:29, 8 March 2006 by Gewang (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Basic example: FM synthesis, by-hand, advancing time by one samp at a time.

Things to try:

  • different modulator/carrier frequency ratios
  • different index of modulation
  • spork a shred to modulate the modulator, possibly at a lower rate
  • spork a shred to play a tune
  • run and watch the spectrum in the audicle
  • a lot of other things
// carrier
sinosc c => dac;
// modulator
sinosc m => blackhole;

// carrier frequency
220 => float cf;
// modulator frequency
550 => float mf => m.freq;
// index of modulation
.5 => float index;

// time-loop
while( true )
{
    // modulate
    cf + (index * mf * m.last()) => c.freq;
    // advance time by 1 samp
    1::samp => now;
}