Rocco’s blog

Just another myblog.arts site

Personal Research

MAX/MSP

Using Max

Max when opened has no tracks, grid or any resemblance to music.

I started learning how to use the layout, objects, messages and numbers to make randomisers and audible sounds.

The X button turns the circuit on and off.

Metro is the metronome and 180 is the BPM.

Random 40 means it randomly picks a number from 0-40.

+ 40 ups the pitch by 40 to make it higher pitched.

Make note, allows a note to be played for the random number picked. 60 means the volume / velocity. 200 is the length of the note.

Noteout is what the note sounds like and 1 is the preset.

All of these together make a randomised sequencer playing random notes between 40 notes in the sound of a piano.

The code I made

After making a simple patch, understanding the interface and remembering a few key binds, I decided to attempt making a simple mono-synth. The image below shows the simple mono synth I put together

Simple sine wave monosynth

After making this mono-synth, I then added in an attack and release part, replacing the divide in the VCA section with a ddg.velamp. This object has a velocity input, attack input and release input (both attack and release are affected by the knobs in this patch) and outputs a new envelope.

New patch with labels on the new objects.
Inside the ddg.velamp object

After this, I added a filter onto the synth and replaced the sine wave with a sawtooth wave. Using the phasor~ instead of cycle~ object, I was easily able to change the wave form. For the filter, I took the output of the phasor and put it into the biquad~ signal input. Biquad it the object that allows the filter to work, being a two pole, two-zero filter. I have a filtergraph~ also going into the biquad, this will be object that effects the filter and biquad. I have a umenu going into into the filtergraph to allow presets for the filter. Below the filtergraph, numbers showing the cut-off, gain and resonance (Q) value are there for ease of use. The patch is below and is annotated as well.

The last thing I will do to this patch is to make it polyphonic.

To make this polyphonic, firstly I had to change the input section. Poly 4 1 allows multiple notes to be played and the 4 is how many voices there are. Pack 0 0 0 packs all of the information from the poly object into one input and can be unpacked later. Route 1 2 3 4 allows the input to be routed into 4 different channels. After this we move into the oscillator section. Here we have 4 monophonic oscillators in unison essentially. The unpack object, like stated before, will unpack the packed data for modulation. The rest of the oscillator and the mixer is identical to the first monophonic synthesiser.

I decided to add an attack, release and EQ onto this poly synth. To this I just had to replace / 127. & adsr~ into a ddg.velamp, allowing attack and release modulation. And had all the oscillators enter biquad~ to allow EQ modulation.

I also decided to double the voices just to see how this would sound.

This patch is by no means perfect, because how how I designed this the voices can get stuck on certain notes and a way to delete the note it was playing would stop this issue.

I enjoyed learning and using MAX/MSP, its a software I will be using in the future and researching further into. Unfortunately I do not own MAX but I do own Ableton suite, meaning I have access to the MAX for live function, which also allows my patches to be sequenced in Ableton.

Leave a Reply

Your email address will not be published. Required fields are marked *