Jump to content

220b-winter-2012/hw1

From CCRMA Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Homework #1: Timbre-scapes


Due date: 2012.2.5 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
      • fm-by-hand.ck : fm synthesis, 1::samp at a time
      • fm2-sync.ck : more commonly used FM synth basis, setting sync to 2
      • fm2-step.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
      • Drone-3.ck : layering three of the above, controlling each independently
      • fm-mod.ck : interpolating FM synthesis parameters
  • 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



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 Ge 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)