Friday, September 29, 2006

For Colin, or those of you that don't believe in charging for intellectual property (me)

I've used it before. I like this better than Pd (Miller Puckette made a lot of Jmax, I think). If you think crashes are fun, this is a good old time. Eh, it's not that bad. I just like making programs crash when I first get them. Good for knowing what kind of ground you're standing on.

Tuesday, September 26, 2006

I hate updates...

Has anyone updated to 4.6.2? I hate updating so much, and I probably shouldn't. All those crusty max veterans make me scared of updating, but I've never had any real problems. How much does an incremental update do?

Monday, September 25, 2006

Field trip to Center for World Music

Tuesday, after the start of class, I'd like to have us all go to the Center for World Music, on the top floor of the Levis building next to Krannert. If possible we're going to bring a mic and some laptops, and record some of the unbelievable instruments in the gamelan orchestra collection there.

We have to come back to the Music Building before 11 am, since the gamelan has a class at 11 - then we'll hash out details for October 12, and do some debugging if there's any time left.

Sunday, September 24, 2006

So, I decided to post a follow-up on the "party". Here's what I ended up blogging on my own personal blog:

So I did something totally out of character and threw a party at my place last night. I'm not really a party person. They tend to be loud, and I hate the pressure of keeping a conversation going. But, I threw one anyway. I was hoping to get to know some composers and maybe find partners for the next few Max projects.

Well, I'm glad that at least some people showed up. Talia came. She and I are going to work on a student composition for the November Student Composers Concert... which btw I should probably e-mail Pin Hsin about. Brb. Okay, sent the e-mail to Pin Hsin letting her know that Talia's on board. Then Dr. Taylor and Colin came. They were fun. Dr. Taylor sat in his chair and kept rocking back and forth like a little kid. It was funny to watch. Colin was kind of a god-send. He has a lot to say and really kept the conversation going. I'm really glad that he came, cuz for a while I was grasping for things to ask Talia about. But I was a little disappointed that no one else showed up. Talia and Colin are already working on a covers project, that Colin so generously invited me to join, but I think I should pass on (a lot of the covers are over my head). And, well, it's not like I can work on a project with Dr. Taylor. So, all in all, I didn't really accomplish what I set out to do. But I got a lot of beer out of the whole thing!

10/12 Beckman concert details

Here is an announcment for the October 12 performance in Beckman:

We only get to play for a half hour, from 12:20 to 12:50 pm. Also, right now it's just listed as "Steve Taylor's composition class." So we need to get a plan! In Tuesday's class I would like to figure out exactly who will play, and for how long. I don't mind having a bunch of people on laptops, as long as we have enough mixer inputs, and we can rehearse. I'm happy to use class time for rehearsal if necessary.

Saturday, September 23, 2006

sound art exhibition: open call for submission

Hey everybody
My friend Rustle Wiess is trying to put together an exhibition of sound peices, installations, preformances, etc. This will probably be held at the open source gallery in champaign, but first we need some submissions. the last exhibition rustle organized at open source was packed and lots of fun. This could be a great venue for any art peices you've been working on that deal with sound. If interested, or have questions, ask me or leave a reply to this or i can get you in touch with rustle.

Friday, September 22, 2006

***Max/MSP party at my place***
Come get to know your peers... especially ME!

September 23
@ 8:00 pm

1105 W Oregon St #9

I’ve got Cheerios, and Cheezits... and tap water, and that’s pretty much it. So bring stuff to share. If anyone’s got a portable stereo, bring that too! Sorry, alls I got is my radio and laptop (I lead a very minimal, and some would say pathetic, existence). Oh, and Dr. Taylor can come too, although you may want to leave the kids at home, cuz it’s BYOB.

Tuesday, September 19, 2006

Initial Settings

I'm sure this is one of the most basic fundamentals of this program, but I have a knack for not picking up on simple stuff until I'm already into the harder stuff...How does one go about making initial settings for patches? For example, the faders I'm using for the input gain to the delay line default to 0 when I open the program and I have to toggle the hold button on and off to get it up to where it should be. I assume there's some kind of object that can feed into those faders upon starting the patch. Any advice? Thanks!

Monday, September 18, 2006


I've been trying to improve the interface on my patch by replacing the number boxes with dials, but i'm running into a problem. For values that range from zero to one (e.i. modulation depth or delay feedback), a dial is not working because it seems to only deal with integers. i tried to change its setting in GET INFO by changing the range to 1 and the multiplier to 0.01, but it automatically set the range from my 1 to a 2 and my 0.01 to 0. why won't it let me do this, or is there another dial type object i could use?

Thursday, September 14, 2006

For Packy

They have lots of formulas for inverse mapping in the tutorials, but I just realized that there's a new? object called 'scale' that does the same thing. I don't think we talked about it class, but we probably did. Check. Check. Check. Check it out.

Monday, September 11, 2006

Tutorial 30 - feedback and bypass

Here's a screenshot of Tutorial 30, showing the feedback loop with modulation. You can see that the feedback number goes into a multiplier object, which loops back to tapin~.

The multiplier and addition objects below cycle~ deal with the modulation. (The ctlin object will only work if you have a midi keyboard.)

The final two multiplier boxes are for controlling the overall level - if it's too loud, this is the number box you drag to 0. (MSP patches use lots of *~ and line~ objects.)

Take a close look at the Dry <-> Wet slider box; when this slider is set all the way to Dry, that is identical to Bypass switch: it sets the L/R Direct level to 1.0, and the L/R Delay level to 0. Not to put too fine a point on it, but this tutorial patch is almost identical to Project 1.

Good luck for tomorrow! Get as much done as you can - we will spend class time answering questions and debugging.

MSP toggle switch?

hey maybe someone can help
This seems so obvious, but I am trying to make the bypass for the delay and cannot find an easy way to do it. I was hoping to interrupt the signal going to the delay with a toggle, but the toggle does not seem to accept MSP patch chords. Is there an easy way to do this?
Right now I am trying to basically build something that will do the job of a toggle, but it seems too complicated for what I'm trying to do.
Any ideas?

Event Control

Do we need to have event control in our patch yet (like the standalone you gave us)? I sure hope not.



Can anyone explain what bypass and hold do exactly?
I guess I forgot...

And one more question,
My feedback level is only 0.25 max per channel, and my output level is 0.5 max per channel. But if I input some signal with 0.25 feedback and 0.5 output, I get feedback getting louder and louder. My gain inspecters are set to 128, which shouldn't add any amplitude.

Does anyone know why it's happening??

Saturday, September 09, 2006

More help for Project 1

If you're having trouble with the modulation controls for your delay, take a look at MSP Tutorial 30, "Flange." (In the documentation it's called Tutorial 29.) Flange is basically identical to a feedback delay with modulation, as described on p. 229.

The David Brooke Wetzel VK Emulator is quite similar to Tutorial 30 in this way; you should study them both.

Finally - don't worry about the exact number of repetitions in the delay, as I said in class on Thursday. Just increase the feedback level (between 0. and 1.0) to control the approximate number of repetitions. Good luck!

Is anyone else having issues with the trial version of Max/MSP?

I can't display the DSP in any of the typical ways. I can't option-click anyhing. I can't select get info for any of the sliders, number boxes. It won't open files from through buffer! AHHHHH!

Do any of you have insights to share about this problem?

Thursday, September 07, 2006

Help for Project 1

A clarinetist and professor of music business/technology, David Brooke Wetzel, has made a standalone application in Max which functions as a replacement for the Narcissus digital delay - you can read about it and download it here:

And there's more information about Professor Wetzel here. I've also uploaded his app to the Music404a class directory, so you should be able to use it on the CAMIL computers.

It works really well, and I recommend that you study it carefully - you can imitate it as much as you like. But because it's a standalone, you can't unlock the patcher, or copy and paste: you will have to recreate all the objects and connections yourself. Even just doing that, though, will be a good way to learn more about Max/MSP.

Tuesday, September 05, 2006

Project 1 - digital delay

The delay we'll be building for this project is based on Thea Musgrave's Narcissus for flute and electronics, composed in 1988 for the Vesta Koza DIG411 Delay, a unit no longer in production. So we'll build it in Max/MSP. Jonathan Keeble will be performing this work on his upcoming faculty recital, so we'll actually get to use our delay for a professional performance.

We need the following capabilities:
  • 1024 milliseconds maximum delay
  • BYPASS and HOLD controls with foot switch outputs
  • Foot pedal on Volume control on Delay output
  • Feedback control (number of repeats 0 -> 10) -- MSP refers to these as taps, as in a multi-tap delay
  • Modulation control (speed and depth - but Narcissus only uses depth
The flutist has three foot controls (these can actually be controlled by the computer operator if necessary):
  1. on/off Bypass
  2. on/off Hold
  3. volume pedal controlling the outgoing delay signal
There are three other controls, which the flutist is supposed to control by hand:
  1. amount of feedback (or delay taps)
  2. modulation depth (modulation speed is not used)
  3. amount of delay time
Start by looking at the relevant MSP tutorials, 27 and 28 on delays and delay feedback. For modulation, please review MSP tutorials 9 and 10.

For ways to control the delay, review Max tutorial 14, "Sliders and dials," and also make sure to read Max tutorial 19, "Screen aesthetics." Don't worry about the foot pedals yet - you can just use the Toggle object for on/off, and a slider (or even just a number box) for volume. For other ways to control Max, check out Tutorial 20, "Using the computer keyboard." (Note: Max tutorial 22, "Delay lines," is about delaying messages, not audio - the two things are different.)

Please feel free to use the blog's comments to ask questions about the project! And we'll be spending class time on it this week as well. It's due a week from today, September 12, at the beginning of class.

Sunday, September 03, 2006

Working With MIDI and Max in CAMIL:

There are three stations in CAMIL I that have MIDI controller keyboards should you desire to use them with your work this semester (i.e. for Tutorials 12 - 18, etc.). Here's how to set them up to work with Max:

1. Turn on the MIDI controller keyboard (switch is on the far left of the back of the keyboard).
2. Start up Max/MSP
3. Go to the File menu and select MIDI Setup. Press the "Auto Setup" button. You should see "MK - 249C USB MIDI keyboard" at the top of the "Input Device" list and "AU DLS Synth 1" at the top of the "Output Device" list. Both the of them should display "a" for "Abbrev" and "0" for "Offset". You can edit them manually if the "Auto Setup" does not take care of that, but it should.
4. Open the "thru.pat" patch from the Max Tutorials folder (/Applications/MaxMSP 4.6/Documentation/Max Tutorials/).

You should be good to go!

(Why all this? The MIDI controller keyboard is not a synthesizer. It doesn't make sound at all. Instead, it just sends MIDI messages telling other devices to make sound. It functions as an input device (sending MIDI messages into Max), but doesn't function as an output device. Instead, the AU DLS Synthesizer that is part of the Mac OS X system is selected to act as the synthesizer). Thus, in MIDI Setup, we've configured the MIDI controller to send MIDI to Max, and Max to send MIDI to the DLS Synth. As is, you would just hear the MIDI that Max sends out but would not hear what is played on the controller. The "thru" patch copies the MIDI messages coming from the MIDI controller and sends the copies to the DLS synth so that you can hear what is played on the controller as well as what comes from Max. See the Max Tutorial, p.6.)

Getting sound in CAMIL while using Max/MSP:

These guidelines apply for all of the machines in CAMIL I except for the teacher station (i.e. they apply for CAMIL 1 through CAMIL 15).

Hardware Setup:

** Headphones:
- Please remember to bring your own headphones -- the lab does not supply them.
- There is an 1/8th-inch to 1/4-inch adapter at each workstation should you need one.

** M-Audio FireWire Solo interface:
- The computers in CAMIL I are generally connected to an M-Audio FireWire Solo audio interface. This is found to the right of the monitor.
- The headphones jack is on the far right side of the front panel (and probably has the adapter plugged into it already).
- There is a output volume control directly to the left of the headphones jack.

** Please leave the hardware setup like you found it when you came in to ensure that it works for the next user.

(Optional: Should you need to input sound into Max/MSP, there is an XLR microphone input and a quarter-inch guitar input on the front panel, and there is also a pair of quarter-inch "unbalanced" inputs on the back. There is an "input select" button on the front of the interface that toggles between the mic and guitar inputs on the front and the pair of unbalanced inputs on the back. There input trim knobs on the front panel and a phantom power switch for a powered microphone should you need it -- make sure you need it before you use it [generally only for condensor microphones, but not always])

Software Configuration:

When you open Max/MSP, there are a couple of things you should do to ensure that the audio will work properly:

1. Go to the Options menu and select "DSP Status..." from the pulldown menu. You will probably need to adjust what is listed for the "Driver". It will probably say "CoreAudio Built-in Audio" when you start the program and you should change it to "CoreAudio FireWire Solo Multichannel". You'll probably have to change this each time you start the program.

2. Go to the Extras menu and select "Audiotester" from the pulldown menu. This program could be a really useful debugging device for you, so don't forget about it. To use it, you must first click on the "start" box that is above the "dac~" MSP object. You can then test audio output by either or both of the "on" boxes in the output half of the Audiotester window. Be careful - depending on the volume level on the M-Audio FireWire Solo interface, the sound might be fairly loud. This is a good point to adjust the volume as needed. You should click on the "stop" box attached to the "dac~" before closing the window.

(Should you be using the FireWire Solo interface for input [i.e. with a microphone] you should be able to use the Audiotester for checking levels. You could adjust the input trims on the FireWire Solo as appropriate at this time.)

That's about it!


I posted this earlier as a comment, but I'm not sure if anyone saw it.

Name: Brian GulikMajor: AdvertisingInstruments Played: Piano/Keyboard, VoiceComposing Experience: I've been composing music for two rock bands and forpersonal projects for five years now.
Improvising Experience: I occasionally improvise with my band, Operetta

Previous Experience: I often listen to computer music, and I took one class twoyears ago at Allen Hall called "Intro to Electronic Music" in which we worked withsampling and midi on Pro-Tools.

I hope to acquire a thorough understanding of the computer programs used so Ican compose music in this style on my own after the class is over.

October 12 in Beckman

I've reserved performance time for us at the Beckman Institute on north campus, from 12:20 to 1 pm. It's a paying gig. We'll need to bring our own amplification, but I think that shouldn't be too hard. As soon as possible I'd like to get names of interested performers and instruments; and I also need a group name for publicity.

Any ideas? Did I mention it's a paying gig?

Friday, September 01, 2006

Mac OS X; Storing your files; Connecting remotely


The Finder is the basic component of the Mac OS X filesystem. You can use the Finder in a few ways:

1. If it says Finder in the upper left of the screen (as opposed to the name of some other application), you can open a new Finder window by going to the File menu and selecting "New Finder Window" or by pressing Command + N (Command is the Apple key near the bottom left of your keyboard).

2. If it doesn't say Finder in the upper left corner of the screen, you can click on the rectangular face icon in the bottom left of your screen (it's on a strip of icons called the Dock). This will bring a Finder window to the front of the screen or possibly open a new Finder window. If you do this, the upper left corner of your screen should say "Finder" near a blue Apple icon.

3. If it doesn't say Finder in the upper left corner of the screen, you can also click on the desktop and his will put you in Finder mode.

If you open a Finder window in one of these ways and you will probably see several items in the upper left section: Network, "CAMIL ??" (where ?? is some number), and Classes. Network won't be very helpful.

If you select "CAMIL ??" then you'll see the following items in the main part of the Finder window: Applications, Developer, Local, and Temp. All of these are directories that are stored LOCALLY -- on the computer's hard disk.

/Applications: This is where programs, including Max/MSP, are stored. You won't probably be storing much stuff here. You can, however, put short cuts for various applications on your Dock by dragging the appropriate icon from the /Applications folder to the Dock.

/Developer: You probably won't be using this directory (folder). Applications and utilities for software developers are stored here.

/Local: Again, you probably won't be using this directory. Lisp applications are stored here.

/Temp: You CAN store things here. See below for more information.

Notice that there is also an icon for "CAMIL ??" on the upper right part of the desktop. If you double click this icon, you will get a new Finder window that displays the above-mentioned local directories.

Right below the "CAMIL ??" icon on the desktop is an icon that says "Classes". You can double click this and it will take open a Finder window that contains several folders for various classes. There is a shortcut for this in your finder window also. The Classes directory is not actually stored on the machine you're working on. Instead, it is stored on the CAMIL file server. The Classes directory contains sub-directories for several classes, including our own, MUS404A. You CAN store things in here too (but see below).

In the lower left portion of the Finder window you'll see shortcut icons for several other directories. The icon that looks like a house and is labeled with your username is a shortcut to your Home directory on the CAMIL Server. Everybody with a CAMIL account has a Home directory on the server and there is currently a 2 GB storage limit for data there (this is under review and may be lowering soon due to limited server space). Your Home directory contains sub-directories such as /Desktop, /Documents, /Movies, /Music, /Pictures. You'll see shortcut icons for those places over to the left too.


There are three main places: /Temp, Classes, and your Home directory. Here are my suggestions for using these three places:

Home: You can store whatever you want here. As mentioned above, the disk quota is presently 2 GB but will probably be lowered shortly due to a lack of server space. The CAMIL server is backed up nightly, so this is a safe place to store important things. Also, only YOU can access the files in your Home directory.

Temp: As this is a local directory on the machine you're using rather than a directory on the CAMIL server, it is not backed up (although the computers in CAMIL are pretty stable). Also, there is no guarantee that somebody else won't be using that particular computer next time you come in, so it might be difficult to get to your files. And anybody may be able to use the files you store here. HOWEVER, there is plenty of space here. It may be good to store stuff you're currently using here temporarily (hence the name "Temp") because of the local location. For example, writing audio files to Temp is a much better idea than writing them over the internet to your Home account on the CAMIL server. Writing any kind of file over the internet takes a bit longer than writing it on the local hard drive. You may want to store patches that you're using currently here and then copy them to your Home directory on the CAMIL server at the end of your work session so they are safer.

Classes: Should be used primarily for things you want to share with other class members. You could put Max patches that you want to share here for instance, or interesting articles. Classes is on the CAMIL server and is backed up nightly, so it's a safe place to store things. Please don't put a bunch of your own files here simply because you've run out of space in your CAMIL Home folder (be nice to the server! thanks).


You can connect remotely to the CAMIL server to access your Home directory or the Classes directory. This will let you access your files or your classmates' files from home or somewhere else. Here's how:

*Using Macintosh OS X:
1. In the Finder, go to "Go" and "Connect to Server" (or use the shortcut Command + K).
2. Enter "" (without the quotes) as the Server Address
3. Press Connect
4. Select "Registered User" and put in your CAMIL username and password.
5. Press Connect
6. Select the directories you would like to access are probably either Classes or your Home directory (here it's represented by your CAMIL username). Select the appropriate directory and click Go to "mount" the directory on your computer.
7. An icon for the mounted directory will appear on your computer's desktop and a Finder window will open for the mounted directory.
**Important: when you are done using the directory (and especially before powering down your computer) you should unmount the directory from your computer. To do this, pick one of the following:
1. Drag the icon for the mounted directory to the trash (which turns into an eject symbol);
2. Select the icon for the mounted directory and then select "Eject ...." from the File menu; or
3. Select the icon and press Command + E.

*Using a PC: I'm less clear on this one, but I know that you can download a program called WinSCP that will do pretty much what the Mac OS X system does when you "Connect to Server" as above. You would also enter "" as the server address and then use your CAMIL account username and password to connect. You'll probably get taken directly to your Home folder. You can get to the Classes folder by following the following path from the bottom level: /Shared Items/Classes/MUS404A.

Introduction mccrory

Name: Martin McCrory

Major: Music Composition and Computer Science (minor). Planning on studying Music Information Science in graduate school.

Instruments played (including voice): Percussion, piano, oboe.

Any composing experience? Probably been composing seriously since the middle of high school, and I dibble-dabbled in composing maybe as early as

Any improvising experience? Some jazz-band experience playing piano, and a very minimal amount of classical improv.

Any previous experience with computer music, or electronic performance?
Used Cubase for some electronic pieces (and some old AWESOME techno music I wrote a while ago), taking Wyatt's EA techniques class as well as Garnett's Computing Arts class.

What do you hope to gain from this class? I guess I hadn't put my finger on it before, but I had always wanted some kind of object-oriented environment GUI for dealing with sound. Max seems like she will fit this bill quite nicely, and I'm looking forward to learning how to apply my studies with Max to my compositions, as well as towards my graduate work.