MAX SoundSampler Puzzle

Building blocks to my weird music

October 2, 2023

Link to patch folder

For this puzzle, my end goal is to produce a 90 second mashup of instrumental samples taken from three genres of music – pop, R&B, rock. Initially I am assuming this will require a whole lot of experimenting with MSP object parameters to land on a sample that sounds…hopefully somewhat pleasant (since I have no prior experience in this). 

At first I became very overwhelmed by the options, not understanding which objects would be suitable to play around with. For example, how would the groove~ object be different from sfplay~? why does sfplay~ not need a buffer~ object? What is the difference between record~ and sfrecord~? What are the parameters for buffer~?

So I decided to play around with each of the MSP sampling tutorials to understand these objects better. I cut a few audio samples from the following songs:

1) Evanescence – Before the Dawn

2) Future – Mask Off

3) Pharell Williams – Happy

The plan is to manipulate these sounds across the sampling tutorials, experiment with them and record the new variations. Once I have a few variations, I will combine them into a 90 second track.

Exploring through the tutorials

From the MSP sampling tutorial, I tried to figure out how to record sounds, load multiple tracks and manipulate them. I used this example to preload some of my tracks and sample them from random points. I used the urn object to play them randomly every 1.5 seconds.

Creating the abstraction

This is the abstraction I named mixMe to be used for the playing my base tracks. I followed what we did in class and added the amplitude with line object to smoothly control the volume.

I also tried to create a separate abstraction to load two different beat tracks. I tried using the decide and if-else objects but the groove doesn’t seem to take those as inputs. I also tried with the umenu and prepend set objects but those were invalid inputs too. I need some more time to figure this out.

Building the mixer

After saving my abstraction patch mixMe, I called it into my main patch in two separate instances. I set two different presets to play them on. I also added the previous sample mixer to play all together. 

I experimented with the clocker object to set the whole audio sequence to play for 90 seconds.

I also had to make sure all my audio files and abstraction patches were in the same directory.

Where did I get stuck?

I really wanted to understand the Audio playback options MSP offers, and how the objects communicate with internal audio. I kept playing around with the controls, but MAX needed to be closed and restarted many times for the changes to take effect. I kept getting frustrated at points when my audio wouldn’t play unless I reopened the patch file. 

I wanted to record from the internal audio of my device whatever concoction of sounds came from my patch. Before I figured out MAX has a Quickrecord feature just for this, I tried to record the internal audio with the adc~ object. It works well if I am not playing the dac~ at the same time. The Audio input device also needs to be changed to stereo mixer (for windows). Works very well for microphone audio though.

 

This was previously in my main patch file where I tried to capture 5 seconds of the sound mixture, but it came out very distorted.

I tried to also chop up the same audio file and play the pieces in a random sequence but it works well only with recorded voices, not the music files I am working with.

Iteration 1

The following is my complete mixer. I wanted to add more randomness to it and make the melodies more harmonious, but it needs more time. Layering the audio doesn’t sound the best, and as in the demo video (click here) it feels very much like a bunch of songs have been put through the blender. 

Iteration 2

So from all the elements I wanted in this mixer, I have been able to incorporate randomness in loading samples and the abstraction. Given more time I want to be able to solve the problems I talked about, to be able to select songs in my abstraction and record parts of my song that works into a new mix.