Difference between revisions of "ChucK/fm.ck"

From CSWiki
Jump to: navigation, search
Line 1: Line 1:
 
Basic example: FM synthesis, by-hand, advancing time by one ''samp'' at a time.
 
Basic example: FM synthesis, by-hand, advancing time by one ''samp'' at a time.
 +
 
Things to try/add:
 
Things to try/add:
 
 
* different modulator/carrier frequency ratios
 
* different modulator/carrier frequency ratios
 
* different index of modulation
 
* different index of modulation

Revision as of 22:34, 8 March 2006

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

Things to try/add:

  • 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
  • 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;
}