Difference between revisions of "220b-winter-2013/hw1"

From CCRMA Wiki
Jump to: navigation, search
(Specification (part 1 of 2): Crafting Timbres with FM)
(Specification (part 1 of 2): Crafting Timbres with FM)
Line 17: Line 17:
 
** examples from class
 
** examples from class
 
*** [http://ccrma.stanford.edu/courses/220b/lectures/ck/oscs2.ck oscs2.ck] : acid FM bass
 
*** [http://ccrma.stanford.edu/courses/220b/lectures/ck/oscs2.ck oscs2.ck] : acid FM bass
*** [http://ccrma.stanford.edu/courses/220b/lectures/ck/oscs-poly2.ck oscs-pol2.ck] : multi-drone version of above
+
*** [http://ccrma.stanford.edu/courses/220b/lectures/ck/oscs-poly2.ck oscs-poly2.ck] : multi-drone version of above
 
*** [http://ccrma.stanford.edu/courses/220b/ck/Drone-3.ck Drone-3.ck] : layered drone, controlling each independently
 
*** [http://ccrma.stanford.edu/courses/220b/ck/Drone-3.ck Drone-3.ck] : layered drone, controlling each independently
 
* using FM synthesis in ChucK, create the following:
 
* using FM synthesis in ChucK, create the following:

Revision as of 12:05, 22 January 2013

Homework #1: Timbre-scapes

Timber.jpg


Due date: 2012.1.31 11:59:59pm (or thereabout), Thursday.

Reading


Specification (part 1 of 2): Crafting Timbres with FM

  • check out the FM synthesis/drone examples, in particular
    • FM synthesis basics in ChucK
      • fm2-sync.ck : more commonly used FM synth basis, setting sync to 2
    • examples from class
  • 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


Lumberjack.jpg

Specification (part 2 of 2): Musical Statement

  • explore and employ controlled randomness and chance, time-varying timbre and compose a musical statement
    • macro-level structure/form: as an exercise, the piece should contain at least 3 sections (think about the flow and relationship between sections)
    • think about how to leverage randomness to controllably generate passages...
    • potential parameters that can be influenced by chance and trajectories.
      • pitch
      • rhythm
      • meter
      • timbre / synthesis parameters (e.g., FM parameters)
      • dynamics
      • tempo
      • texture
      • many, many others
    • plan/score your composition somehow, pay attention to the above, and especially to the control of timbre
    • take advantage of the timbre, time-varying control, and "bleepin'"/note/pitched event capabilities you've developed in part 1
    • write ChucK programs to generate the different passages/sections/layers; for each, run/record the program multiple times, tweak parameters, and choose the best result for each part.
    • put them together in audacity/ardour, or a bigger ChucK program (final audio file - wav)


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/index.html - email Takako, Rob, and Spencer with your hw1 URL

  • 1) your static timbres (part 1): 3 chuck files
  • 2) your time-varying timbres + bleeps/bloops (part 1): 3 chuck files + 1 bleepin' chuck file
  • 3) your musical statement (part 2): chuck files + final mix (.wav file)
  • 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
  • 5) your index.html should link to these files (optionally, you can include your README directly in your index.html)