Wednesday, 8 June 2011

Rudimentology

Rudimentology was our final end of year performance held in Stevenson college for the Performance Technology students.

The nature of the show was to show off and present the experiments and projects that the class had come up with using programs such as Max MSP and Pure Data.

Video Footage By Ivor Blair


The fundamental idea of the show was based upon and original drum composition composed by Tam Dickson, composed using Logic Pro. Once this composition was made, it was decided that the piece would be played by numerous people around both an acoustic drum kit as well as electric drum kit pads. The acoustic drum kit was positioned in the center of the room with the drum pads connected around the kit. Each pad was connected to Max Msp to sound a sample when hit. Each pad had a different sample allocated to it with the samples making up the sounds used in Tams original composition so that the composition could be played across the pads. In the final performance 5 people needed to play around the drums and pads to meet the requirements of the composition. Throughout the piece members changed pads and live drumming was used throughout to highlight areas of the composition both on its own and with the sampled sounds.




Ivor had created a a sound manipulation device using the RJDJ software on his iphone that uses the Pure Data program.. Through the software, he created four separate four bar scenes that did different things, for example he had one scene that manipulated the live audio coming into the iphone to sound as if you were talking in bubbles. In the final performance, RJDJ openend the show, manipulating the live input that it was hearing from Seans Wii mote and Mikes Theremin.



Sean created a Max Msp patch that worked with a Nintendo Wii remote. The Wii remote uses bluetooth to connect wirelessly to Seans Max patch. The remote was then placed inside a hamster ball. The remote then sent signals for Max to process how the ball moved, depending on the balls movement, it would trigger samples from Tams composition and alter the pitch of the samples. The ball was thrown, spun, rolled and moved in different positions to create different variations on Tams composition.



Fearn had created two devices. The first was a keyboard that played back notes depending on where your hand was positioned inside a box. All notes made up a major scale and served as keyboard that did not need to be touched to play. Her second device was a musical pencil. A circuit was created on a piece of paper using a drawn a line. Once a finger was placed on one end of the line and the pencil on the other, the circuit became active. Drawing along that line then created notes that varied in pitch as you drew closer or further away from your finger.



Mike had manipulated a moog theremin. Again the theremin is an instrument that does not need to be touched to manipulate pitch and volume. Mike had created a Max Msp patch that was based upon a sample of Tams drum composition. Using your hands changed where in the sample that you were looping and the length.



Everything on show was a huge success. The final performance saw Mike, Sean and Ivor manipulating the sounds and samples of Tams composition. As these were all DI'd through the PA system, they were then faded out to the full composition being played out with the acoustic and electric drums.
I thoroughly enjoyed the event but with that I could have used my own project in the show. As written in the previous post, I wanted to integrate Tams drum composition into my pong game. I feel this would have been another great addition in user interaction that could have fit in along with Ivor, Mike and Seans piece. On the day I helped set up the venue, moving drums around and gathering anything that anyone needed to help present their projects.

*All photos by Lisa Wickstead 

My Failed Experiment

As touched upon in earlier blog postings I have wanted to create a pitch detection game of pong, the idea being that the paddle is controlled by pitch recognition, moving up and down and when the ball strikes the paddle, a random sample is played that is integrated from the drum pattern that our performance technology project is based upon.
I started working on this project after being inspired from a similar project as seen below:


In this video, the user created a game of pong using MAX/MSP, Jitter and Flash and used pitch detection to control one paddle and colour detection to control the second paddle.

For my experiment I was using a Max5 to control the pitch elements and decided to use a program called Processing to create my game of pong.
The reason for choosing processing is because I don't have a wide knowledge of computer programming or flash skills, programming seemed relatively straight forward in its command based programming style as opposed to a script such as html.. Being an open source software, there is a huge audience that are creating new things on the platform that made it more appealing to someone new to the field.
As pong was used in one of the softwares demonstrations, there are plenty patches already made that give the general structure for the game. I used one of these patches and modified it to suit my needs, slowing down the paddle speed as well as making it slightly bigger, changing the speed of the ball as I felt it to be too fast when you are trying to play with pitch to hit it and decided to make it a one player game. I had originally decided to make this for two people to play but went against that idea as I thought one microphone may pick up too many pitches at once. I was not completely sure how to write so that the ball bounced against the wall instead of the paddle so used a second patch and copy and pasted sections and modified the scripting until I understood how the ball should bounce and not bounce into the side or too early.
Here is a screenshot of my game of pong in action:


The next stage was to have pitch detection working in Max 5. Having never used pitch detection before I had to find info on how to send live audio into Max and for that to read the pitch of my voice. 
Using the Cycling 74 website, I came across a tutorial on how to use live inputs in Max:
From there U researched pitch detection and found that I'd need an external tool for Max named sigmund which would gather pitch data in Max that is detected from the selected audio input device. From here I managed to create a simple patch based upon the Sigmund help document that detected the pitch of my voice received through my computers microphone.


My first problem I came across was filtering what I did not need in my max patch. I knew that to control my pong paddle efficiently that I would need the pitch detection to be accurate from the lowest note that I make to the highest. In the patch that I modified, my slider would move from the bottom to roughly the middle when I made the lowest note, meaning I needed to make a cut off so that the bottom of my slider was the lowest note possible. I couldn't figure out however where in my patch to add the numbered cut off.

My second and worst problem was the integration between my processing pong game and my Max 5 patch. Having both patches almost ready to go with only slight modifications needed, I needed to figure out how to integrate both pieces. I tried looking all over the internet for similar patches made. The best I could find was a patch that was using a midi controller in Max to control faders in Processing. Unfortunately processing doesn't come complete with the ability to link these two objects easily and external plug ins need to be added into both programs. My searching led me to the belief that I needed the ability to send OSC messages to each program and possibly needed GUI controls to aid my pong, pitch abilities.

This is unfortunately where I got a bit over my head and couldn't figure out how to actually link the two pieces and how to program each side so that they work with the other and had to call a day on the project.

This is a project that I would like to continue and do further searching on and believe that if I can get the two sides working with each other that it will open up a lot of new possibilities with the new skills that I have learnt on each format.