Composing with Computer

Assignment page

Assignment 1
Due: Monday, January 17

Read chapters 5, 6, and 7 in Ballora and answer these questions (open as a PDF file), to be turned in on Monday.

Assignment 2
Due: Thursday, January 20

Open Max. Under the Help file, open Max Tutorials. (Not MSP Tutorials). Go through the following tutorials and be sure to read the text associated with them:

Basics

MIDI

Then create a series of Max patches and save them to your flash drive. These patches should do the following, based on each of the tutorials in turn:

Basics

  1. Write a program that prints a friendly, original message to the Max window. Safe as Basic1 to your tumb drive.
  2. Write a program that prints a short sentence to the Max window by way of a cascade of bangs. Save it as Basic 2.
  3. Do something fun with the toggle object and the metro object, like create a metro where you can choose multiple metronome speeds with one click.
  4. (No activity for Message Ordering, but do understand the concept).
  5. Write a little calculator that adds and subtracts two numbers that you enter.
  6. Open this little patch that takes in MIDI from the on-screen keyboard and spits it out to the local Mac synthesizer. Modify this program so that it adds a fifth to the note that you play, like we did at the end of class on Monday.
  7. Create a little program that uses Makenote, as in the MIDI tutorial 2 and also as in the previous patch.

Having absorbed this, try to creat a Notein-Noteout patcher that "does something interesting" when you play a single melody on the MIDI keyboard. Here is the patch you can use to get started.

Some ideas:

Assignment 3

Making a Max Patch that responds to keyboard or bang inputs

Here is a list of possible tasks you could accomplish to create a 'hyper-piano,' which is a piano that plays more than one note when a key is hit. Or you can creat an on-line patch that responds to bangs. Open this pdf for suggestions.

Remember, as always, this is a three-hour minimum assignment.

Here are the patches we created on Thursday (download to the local computer then open within Max):

Random Harmonizer

Velocity to pitch (you could try to alter this to come up with a better way to cancel the final hung note)

Gate-It. We didn't get to this, but check it out. It shows how to use the all-important gate object to open and close the flow of information. Here, stepping on or off the foot pedal open closes the harmonizer.

Assignment 4

DUE: Monday, January 31

By this time, you should have put a total of 12 hours into learning Max. If you haven't yet done, so you need to catch up.

Monday’s Max Assignment: Either come up with your own idea for a final “hyper-piano” patch that is actually useful and musical, or open this pdf, first pointed out in Assignment 3, and try out those ideas. I would like everyone to have something workable that responds to a keyboard command and 'does something useful.' Try to use some or all of the the following suggestions.

Required: make use of at least one subpatcher. See below.

-----------------------------

First, within Max, go to “tips and shortcuts” under the help menu and read this very helpful list of things that make programming in Max easier.

Make use of: Object boxes, message boxes, toggles and bangs, integer and/or floating point boxes, and be sure to use the comment box.

MIDI:

1. Notein from the keyboard or the virtual “slider” keyboard.
2. The Mod wheel on the keyboard, or you can use a slider or dial (under the sliders choices) to emulate the 0-127 range of the mod wheel. Take into Max through the ctlin in object. You can give this two arguments, the first being the continuous controller number, so that that ctlin object will only look for the CC data that corresponds to that number.

Graphical interfaces:
1. The Gswitch (which you’ll find under the ‘buttons’ options in the new object pallete (when you double click the space).
2. Sliders and/or dials (these can be connected to dials and sliders on the Oxygen keyboard through the ctlin object).

Some or all of these useful objects (typed in as text). If you don’t know for sure what these do or haven’t used them yet, type them in and go to their help page (option click while the window is locked):

1. Counter – counts bangs and outputs the count number. A range can be set.
2. Split – sets a range of numbers to output out the left outlet, sends everything else out the right 3. Comparatives: > , < , != , ==, && , || (the or object)
4. Pack and unpack (puts together or pulls apart a list of numbers, for example note number and velocity)
5. Iter – unpacks a list one item at a time
6. Gate. When the gate is open (with a toggle), output goes through. When it’s closed (no X in the toggle), no data gets through.
7. Change – filters out repeated numbers
8. Mathematical functions – simple arithmetic and other mathematical functions are available
9. Others as you come across them. Often reading the help file will direct you to similar objects, and you can thereby increase your knowledge of what’s available. Also make use of at least one embedded subpatcher window (type “patcher” or just ‘p’ into an object box to create the subpatcher window).

 


A Feeling for Harmony Hompage