TouchOSC Controlled Glitch Looper in MaxMSP

Custom TouchOSC LayoutI don’t have this patch ready to share yet, but I thought I could at least explain a little bit about it and offer an audio example. What I’m working on is a device to manipulate samples in unconventional ways using alternative input methods. This audio clip, for example, was generated using a Max patch that adjusts the playback frequency and length of a sample using an x-y controller. The x-axis controls the frequency while the y-axis controls the sample length. For a controller I used an iPod Touch running TouchOSC. I’ve been using Mrmr as well, but wanted to try TouchOSC now that it has an editor to create custom layouts.

My goal is to create several pages in TouchOSC that allow you to manipulate one of five samples in several different ways. The image is a shot of my iPod Touch displaying the custom layout that I created and connected to my Max patch for creating the sound linked below.

Mad Looper

Monophonic Step Sequencer Max Patch Download

Max5LogoHere’s an archive that contains the patch and a standalone application (Mac OSX only) of the step sequencer that I built in MaxMSP a few days ago. The sequencer works pretty well sending MIDI, but I haven’t really fine tuned the internal synthesis. Currently it uses a function object with an adjustable domain to adjust the amplitude envelope of a sinusoidal, but if the note length (function domain) is either too short or too long, clicks occur between notes. What I need to do is ramp up or down to the proper level for each new note. I’ll post an update here when I come up with a solution. If any Max veterans out there have any suggestions, please feel free to post a comment.

MonoStepSequencer.zip

Step Sequencer Built in MaxMSP

step_seq_detailI built this step sequencer in Max/MSP today as an exercise. My intent was a to build a simple step sequencer, however it got more and more complicated as time went on. This is probably not a tool that I’d actually use without some significant changes, but I learned quite a bit in the process of creating it.

The core of the sequencer is an itable object that contains the note sequence. The user interface items all have a green background. The first thing I wanted to be able to do was to allow the user to set the number of notes in the sequence and adjust the note range (click the image for a detailed view). Then I wanted to be able to randomize the notes regardless of the length and range of the sequence. I also added the ability for the user to set the velocity of each note in the sequence with a multislider object.

BPM, note length, amplitude envelope, and master volume are all also adjustable. After all that I added in the ability to send the sequence to a noteout object, so it can be played via MIDI. Here’s a clippy sequence I created using the tool.

Clippy Step Sequence

The Microtonal Beep Master 9000

beep_master_9000One of my recent class assignments led me to create a patch that automates the playback of a pair of microtonal tones with a frequency range of 200Hz to 1200Hz. I call it the Beep Master 9000 (press tongue firmly against cheek). The large toggles in the upper left turn on and off each of the sine waves individually. The large bangs to the right randomize the frequency when clicked. Below the bangs are a couple of smaller toggles that turn on metronomes that automate the randomization of the frequency for each cycle~ object. The number boxes allow the user to adjust how often the pitches are randomized in milliseconds. The encapsulated sub-patch (“p rightMetro” amd “p leftMetro”) multiplies the frequency of each metro by 0.25, 0.50, 0.75, or 1 randomly. This causes the beats to change by divisions (i.e. 4 times faster when multiplied by 0.25, twice as fast by 0.50, and so on). Here’s a sequence I created using the Beep Master 9000.

Beep Master 9000

Mapping Pitch and Amplitude to the Track Pad with Max/MSP

trackpad_to_pitch_and_amplitudeCurrently I’m taking a graduate class in Max/MSP/Jitter at the University of Minnesota with Ali Momeni. Recent experiences including a night class in July at CNMAT (the Center for New Music and Audio Technology, UC Berkeley), and this current class at the U are really opening up my eyes (and ears) to the possibilities of Max 5. As a result I’m becoming more and more convinced that this is the ideal platform for the kind of projects I’m currently interested in.

The workload in the class is intense, but I have decided to punish myself even further by committing to post the audio output of at least one Max patch per week on Audio Cookbook in a new category called One Max Patch Per Week. It’s not quite as ambitious as my One Sound Every Day project, but with my busy schedule I should be able to keep up the pace.

Here’s my first entry into this new category. It is a simple way to map the input from the track pad or a mouse to the pitch and amplitude of a sinusoidal sound wave. For the patch I used the “pictslider” object, which outputs the x and y coordinates as scaled values.

I mapped the x coordinate to pitch with a range of values between 200 and 800 Hertz, and the Y to the amplitude with the typical MIDI based values of 0 to 127. I’ve included a screen grab of the patch so you can see how simple it was to do this.

Track Pad to Pitch and Amplitude