

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Material Type: Exam; Class: Special Studies in Music:; Subject: Music; University: University of Wisconsin - Milwaukee; Term: Spring 2007;
Typology: Exams
1 / 2
This page cannot be seen from the preview
Don't miss anything!
Music 680: Special Topics in Music - Interactivity and Improvisation (Spring 2007) Handout 1: January 24, 2007 Some Pd basics the Pd window will display any information or error messages as appropriate check the “compute audio” box to turn on sound! edit mode vs. run mode while in edit mode you can create objects, number boxes, message boxes, etc. you can move, connect, delete, and alter them this is the mode where you create and edit your patch while in run mode you can interact with the patch change values in number boxes by clicking and dragging (or clicking and typing) send messages by clicking on their boxes, etc. this is the mode where you perform your patch note that the patch can be generating sound in either mode - which is useful for debugging documentation from the pull-down “Help” menu, choose “Browser...” then choose “2.control.examples” for basic control techniques ”3.signal.examples” demonstrates various synthesis methods, etc. and “5.reference” provides access to the help files for all the built-in objects in your patch, right-click or control-click on any object to get its contextual help patch the four most basic kinds of “things” objects - perform actions in Pd (program) messages - tell objects what kind of actions to perform (data) numbers are a particular kind of message can be integers (ints) [“round numbers”] or real numbers (floats) [with decimal points] number boxes - for the display of and interaction with numeric messages comments - don’t do anything but are extremely useful! there are additional “things” for user interfaces, data structures, etc. the law of gravity: messages flow from the top of your patch window to the bottom thus, inlets are at the top of an object, and outlets at the bottom try to organize your patches following this rule - they will be much easier to read inlets and outlets: communication between objects the leftmost inlet typically triggers the action of a control object (to put it another way, a control object only acts when it receives a message to its left inlet) outlets typically fire right-to-left to correspond with this (do all the work to fill the right inlets of the next object, and then message the left inlet) ”trigger” object as a way to control sequence and synchronize trigger repeats its input to a series of outputs, firing right-to-left the “bang” message: a universal “start”/”go”/”do it!” command for many control objects
Some useful control objects clip: constrain a number to fit within specified boundaries delay: output a bang after a user-specified interval (in milliseconds) float: store a floating-point value inlet: creates an inlet for an abstraction (patch-within-a-patch) int: store an integer value and truncate floating-point values to integer values max: sets a lower bound on a numeric value metro: a simple metronome left inlet takes “bang” and “stop” messages to start and stop the output right inlet sets the interval between outputs the output is a periodic “bang” message at the interval set by the right inlet min: sets an upper bound on a numeric value moses: “parts a stream of numbers” the right inlet specifies what value to sort the stream at numbers sent to the left inlet are tested and sent to the left outlet if less than the test value ...and sent to the right inlet if greater than or equal to the test value outlet: creates an outlet for an abstraction (patch-within-a-patch) pack: takes individual messages and combines them into a single “list” of messages (the opposite of unpack) pipe: output identical to input after a user-specified interval (in milliseconds) (like delay, but outputs the input to the left inlet, instead of a bang) random: generate a random integer receive: nonlocal signal connection (in conjuction with send) route: use the first value of a list to select one of many outlets for the remaining list values select: send a bang to a particular outlet when a particular input is received to the left inlet send: nonlocal signal connection (in conjunction with receive) table: creates a one-dimensional array (data structure) array contents can be accessed using tabread and tabwrite tabread: output values from a table (array) tabwrite: input values into a table (array) trigger: synchronize actions by repeating an inlet right-to-left across outlets unpack: takes a list of messages and splits them into individual messages (the opposite of pack) +: adds together numbers (ints or floats) sent to its inlets -: subtracts numbers (ints or floats) sent to its inlets - “left inlet minus right inlet” *: multiplies numbers (ints or floats) sent to its inlets /: divides numbers (ints or floats) sent to its inlets - “left inlet divided by right inlet”