Difference between revisions of "220b-winter-2008/hw1"
From CCRMA Wiki
Line 12: | Line 12: | ||
=== Specification (part 1 of 3): Crafting Timbre's with FM === | === Specification (part 1 of 3): Crafting Timbre's with FM === | ||
* check out the FM synthesis/drone examples [http://ccrma.stanford.edu/courses/220b/ck/ here], in particular | * check out the FM synthesis/drone examples [http://ccrma.stanford.edu/courses/220b/ck/ here], in particular | ||
− | ** [http://ccrma.stanford.edu/courses/220b/ck/fm-by-hand.ck fm-by-hand.ck] : fm synthesis, 1::samp at a time | + | ** FM synthesis basics in ChucK |
− | ** [http://ccrma.stanford.edu/courses/220b/ck/fm-synth.ck fm-synth.ck] : more commonly used FM synth basis, setting sync to 2 | + | *** [http://ccrma.stanford.edu/courses/220b/ck/fm-by-hand.ck fm-by-hand.ck] : fm synthesis, 1::samp at a time |
− | ** [http://ccrma.stanford.edu/courses/220b/ck/fm-synth2.ck fm-synth2.ck] : yet another way to do FM synthesis in ChucK, via the Step UGen | + | *** [http://ccrma.stanford.edu/courses/220b/ck/fm-synth.ck fm-synth.ck] : more commonly used FM synth basis, setting sync to 2 |
− | ** [http://ccrma.stanford.edu/courses/220b/ck/Drone-1.ck] : FM synthesis with SinOsc modulating a SqrOsc | + | *** [http://ccrma.stanford.edu/courses/220b/ck/fm-synth2.ck fm-synth2.ck] : yet another way to do FM synthesis in ChucK, via the Step UGen |
− | ** [http://ccrma.stanford.edu/courses/220b/ck/Drone-2.ck] : the above with an added, time-varying "demon bunny" filter | + | ** time varying Drone example (from class) |
− | ** [http://ccrma.stanford.edu/courses/220b/ck/Drone-3.ck] : layering three of the above, controlling each independently | + | *** [http://ccrma.stanford.edu/courses/220b/ck/Drone-1.ck Drone-1.ck] : FM synthesis with SinOsc modulating a SqrOsc |
+ | *** [http://ccrma.stanford.edu/courses/220b/ck/Drone-2.ck Drone-2.ck] : the above with an added, time-varying "demon bunny" filter | ||
+ | *** [http://ccrma.stanford.edu/courses/220b/ck/Drone-3.ck Dorne-3.ck] : layering three of the above, controlling each independently | ||
* using FM synthesis in ChucK, create the following: | * using FM synthesis in ChucK, create the following: | ||
** 3 different "static" timbres | ** 3 different "static" timbres |
Revision as of 22:29, 20 January 2008
Contents
Homework #1: Timbre-scapes
Due date: 2008.1.30 11:59:59pm (or thereabout), Wednesday.
Reading
- Real-Sound-Synthesis:
- chapter 3
- sections 4.0, 4.1, and 4.2
- chapter 10
Specification (part 1 of 3): Crafting Timbre's with FM
- check out the FM synthesis/drone examples here, in particular
- FM synthesis basics in ChucK
- fm-by-hand.ck : fm synthesis, 1::samp at a time
- fm-synth.ck : more commonly used FM synth basis, setting sync to 2
- fm-synth2.ck : yet another way to do FM synthesis in ChucK, via the Step UGen
- time varying Drone example (from class)
- Drone-1.ck : FM synthesis with SinOsc modulating a SqrOsc
- Drone-2.ck : the above with an added, time-varying "demon bunny" filter
- Dorne-3.ck : layering three of the above, controlling each independently
- FM synthesis basics in ChucK
- using FM synthesis in ChucK, create the following:
- 3 different "static" timbres
- building blocks: oscillators, filters, etc.
- experiment with various parameters such as carrier frequency, modulator frequency, index of modulation, etc.
- 3 time-varying timbres
- building blocks: oscillators, filters, time-based control code
- can be a "drone" (but doesn't have to be)
- the time-varying process(s) should be somehow coupled to one or more of the FM/filter parameters
- next, take a timbre from above, and apply an ADSR envelope to "carve" out an attack, decay, sustain, and release
- test this by making some bleeps and bloops
- 3 different "static" timbres
Specification (part 2 of 3): Algorithmic Sectionals
Specification (part 3 of 3): Brainstormin'
- without writing any code, imagine and think through how you might map a cellular automata to:
- create/help create a piece of music
- control timbre
- no right/wrong answers - but try to think it through
- convey what you come up with in word, diagrams, etc.
Note
- Have fun with it!!!
Deliverables
turn in all files by putting them in your Library/Web/220b/hw1/ directory, and then linking to them from your Library/Web/220b/hw1.html
- 1)
- 4) a short README text (readme.txt) file that:
- conveys your ideas/comments in constructing each program
- contains instructions on running your programs
- describes any difficulties you encountered in the process