Michael J. Wilson Music 220b Winter 2011 Homework #1 ---------------------------------------------------------------------- IDEAS / COMMENTS: I wanted to make my timbres performable in real-time, so I made them all adhere to an "instrument" class modeled after the "dinky" ChucK example. They all respond to noteon and noteoff events, with noteon being velocity sensitive. I ended up making more than six timbres: Time-varying: fm_expander.ck fm_graoww.ck fm_trumpet.ck Static: fm_bell.ck fm_organ.ck fm_pure.ck fm_spacey.ck fm_stab.ck fm_stackup.ck Percussive: fm_kick.ck fm_possibly_cymbal.ck fm_snare.ck Making the timbres was a lot of fun, but it was tricky trying to get specific sounds. By the end of the assignment I felt like I had a good basic understanding of how FM synthesis works. The piece is entitled "FM Forever!" and was completed January 26, 2011. I ran the final render on one of the CCRMA workstations in the ballroom. I used Rosegarden to record and sequence the MIDI control data. I kinda wanted to make an abstract piece, but ended up making something much like the type of music I made before. I used a lot of old tricks and didn't really expand my compositional horizons very much. But I'm satisfied with how the piece turned out, and will hopefully get a chance to branch out more in later assignments. It's a bit of a compilation of various motifs, but ends with a bit of abstract detail. It degenerates into a single sine wave at the very end, which I find vaguely fitting for a piece using FM synthesis. I didn't really plan it that way initially though. ---------------------------------------------------------------------- RUNNING: There are three different launchers that you can use the timbres with: First is "bleepin_launcher.ck" which, upon shredding, will shred all the instruments and then shred "bleepin.ck" to test out one of the instruments with random pitches, durations, and velocities. You can modify "bleepin.ck" to pick which instrument you want to test. Second is "midi_controller_launcher.ck" which, upon shredding, will shred all the instruments and then shred "midi_controller.ck" which will expose one instrument to MIDI control (responds to noteon and noteoff messages on all channels). You can hook up your keyboard or other MIDI instrument and play one of the instruments monophonically in real time. Third is "midi_song_interface_launcher.ck" which shreds all the instruments as well as "midi_song_interface.ck" which was the setup I used to record the piece for this assignment. It assigns several instruments to different channels, pans them, puts a bit of reverb on the overall mix, and dispatches MIDI events. ---------------------------------------------------------------------- DIFFICULTIES This assignment took a lot of time! I had a bit of trouble getting the sounds I wanted. This website helped me get on track: http://www.gorenfeld.net/lou/FMGuide.html