MaxMSP Assignment 2


Sound file player

Follow the steps below. Start with level 1, and try your best to move up the steps. It's OK if you don't get past level 1. I will ask you to take a screenshot of your patch and AirDrop it to me next class. It's OK if your patch doesn't work, or if you are confused. I just want to see that you tried.

Level 1
Make a very simple sample player that triggers the three audio files I gave you in class with your computer's space bar (you can re-download the audio files
here) . Base your work on what we did in class, and make sure your patch does the following:

• Pressing the space bar triggers the samples in the order: Sample1, Sample2, Sample3, and then goes back to Sample1, Sample2, Sample3, and on and on.

• A way to stop playback when pressing the key "s".

• A way to set the trigger number so that you can start on any of the three samples.

• There should a final volume control, and a meter at the output.

• The sound files should load when you launch the patch (i.e., you don't need to click on
a button to load them).


Use the following objects:
key, number, sel (maybe you'll need two…), button, counter, sfplay~, sflist~, message, send (s), receive (r), live-gain~, dac~, comment, loadbang

Level 2
• Modify the patch so that each space bar triggers a sound file, but also changes the level (volume) of each sound file. Sample1 should play at full volume, Sample2 should play at half its full volume, and Sample3 should play at a quarter of its full volume.

You will need to add the following objects:
Modify the message object from above with a second extra ";" to send to another receive object, receive (r), *~ (this is the MSP object for multiply), flonum,

Level 3
So far, pressing space bar while a sound file is playing will interrupt it to start a new sound file. How can you modify the patch so that the audio files don't interrupt each other and can play polyphonically (i.e., Sample2 can play while Sample1 is playing, etc.)? Note that you will also have to adapt the way you're changing the level of each sound file, and also how pressing the "s" key stops the playback.

No new types of objects are needed (just more of the above). However, consider using s~ and r~ to avoid lots of patch chords.


Level 4
Add a way to turn on a loop function for each sound file.

No new types of objects, but you will need to use $1 function in a message object. Hint: look at the Help file for sfplay~, and copy/paste what you need.