CCRMA

Music 220b: Lecture Notes 6


Phrase level control and monophonic algorithms


Function-value and Interpolation Statements in Stella

Phrase-Level envelopes are applied to a parameter over groups of events, using piece-wise linear breakpoint functions. Parameters affecting source fusion are controlled in this way in fusion.lisp. Notes within a chord can fuse together into one note under certain conditions. In the example, an envelope determines the strength of the fusing effect. EnvelopeEd can be used to graph the breakpoint data, though the output format must be changed to x y for use in the interpolation expression, eg. (interpolation x1 y1 x2 y2...)

Monophonic Algorithms

Until this point we've been treating music as if it all came from a keyboard: Start a note and forget about it until the NoteOff, letting it do whatever it was meant to do. The MusicKit also allows a note to be updated during its lifetime, much as a player would on a non-keyboard instrument. There are 4 types of MusicKit Note events:

NoteDur
the default type, which we've used to now, actually a combination of the next 2...
NoteOn
turn on an instance of a SynthPatch and start its time-varying envelopes
NoteOff
begin the envleope release segments and turn of the SynthPatch instance
NoteUpdate
at any time send the SynthPatch instance any parameter changes
DBwaveMono1.lisp demonstrates the declaration of a part (more on this in a couple of weeks) which is needed to associate NoteUpdates with a particular SynthPatch. What you'll see in the example is first a part declaration, then a NoteUpdate sent to the part setting any constant parameters (remember that values are "sticky" in a Scorefile), and then a sequence of NoteDurs to play the tune. All these are tagged to happen on the same part, though there is the possibility of polyphony here if NoteDurs overlap. PluckMono1.lisp shows a different form, using the tag parameter to guarantee that all events happen on exactly same SynthPatch instance. There is no possibility of polyphony.


Assignment

This week is "let's catch up on all previous assignments week"...


©1995 Fernando Lopez-Lezcano. All Rights Reserved.
nando@ccrma.stanford.edu