Difference between revisions of "ChucK/fm.ck"
From CSWiki
Line 1: | Line 1: | ||
+ | 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 | // carrier | ||
sinosc c => dac; | sinosc c => dac; |
Revision as of 23:33, 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; }