After tons of experiments, I felt it was a bit difficult to tell a complete and interesting story in 90 seconds if I wanted a great listening experience, not to mention the random factors in the program. Therefore, I changed my plan to create a random jazz performance. Because jazz music can be highly improvisational, I expected the mixing of jazz excerpts to be interesting to listen to.
Random Jazz!
Please download my Random Jazz! program and its audio files from here.
Program Explained
My performance is driven by a semi-auto program. It starts with a click on a yellow button, followed by the “recording in progress” audio. Then, the audio of a metronome is triggered, and jazz excerpts start to play randomly. Finally, when the 90-second time is up, the “recording stops” audio is triggered and the performance ends.
- Start and end audios: I like to have an indication of the beginning and end of my performance so that it doesn’t feel abrupt to the audience. Therefore, I got the idea from the Zoom meeting audio and added the “recording in progress” and “recording stops” audios in my program.
- The metronome: The sound of the metronome is a “click.aiff” file driven by a metro 4n object. I also connected a transport object to it to keep track of the beats and measures, which are used for triggering different sets of jazz excerpts later.
- Jazz excerpts: For the part of jazz excerpts, I first selected 3 excerpts: a piano piece, and double base piece, and a cymbals piece. They are from the same audio file “jazz.aiff”. Then, I applied the start-end time sets to my performance patch. For each selected excerpt, I made a tone variation by changing its playback speed. The original excerpt and its variation form an excerpt set, and only one of them can be triggered at a time. However, the two excerpts can overlay when the time interval between two audio segments is too short. The 3 timepoint objects control the starting time of the excerpt sets: piano set starts at measure 3 beat 1, double base set starts at measure 7 beat 1, and cymbals set starts at measure 15 beat 1.
- Preset: To make sure the performance is 90 seconds long, I connected a counter from 1 to 90 to the preset. With the preset, I also realized time-based volume control of the metronome audio and the jazz excerpts.
- Volume abstraction: Since I need to control the volumes of several audios, a volume abstraction would be convenient.
- Manual control: There is room for me to manually control the performance. For example, I can control the possibility of triggering each of the excerpts or the frequency of bangs generated by the metro. While the volumes are stored in preset, I can also manually modify them when needed.
Summary
- I learned about several MSP objects and their usage.
- I learned how to use preset objects.
- I learned when and how to create an abstraction.
- I started to use color to mark special objects (e.g. the number objects available for real-time manipulation) and to indicate their functional similarity (e.g. the number objects controlling the metro objects in the jazz excerpts section are all in aqua blue).
- I learned how to route a patch cord to make the interface clearer. It’s not a good practice to route all the patch cord though, since some routes will overlap and makes it hard to see the connections among objects.
- Have a clear plan before making any move. This will save a lot of time!
- Learn fully about a tool, but focus on the needs rather than the tools. Tools should serve needs.