Spelunking with the GMS

A have completed a lot of functionality on my Gestural Music Sequencer recently. I added new keyboard controls to change the durations, create dotted notes, increase and decrease BPM, change to one of four preset scales (including a newly added whole tone scale), and toggle between “free mode” and “BPM mode”.

Free mode ignores the BPM and bases the intervals between notes on the mean brightness level of each frame. Since the brightness levels of video can vary dramatically from one environment to another I added a way to dynamically calibrate free mode. While the GMS is in free mode the up and down arrows calibrate the time intervals between notes, whereas, when in BPM mode the up and down arrows adjust the BPM.

Originally the note durations were set with the up and down arrows. Now it’s done with the bottom row of letters on a qwerty keyboard (z,x,c,v,b,n,m) with z being a whole note and m being a sixty-fourth note. All of these durations can be dotted or un-dotted by pressing the period key. This makes it easy to go from slow to very fast phrases instantly.

Here’s a two minute test recording I made to illustrate some of the new functionality. I used the new whole tone scale, and changed the durations with the new keyboard controls. I felt a bit like a cave explorer while making this recording. I had my Petzl headlamp on so I could gesture with my head as if I was looking down a dark cave, while manipulating the keyboard controls with both hands. I’d include a photo, but that’d be embarrassing.

GMS Spelunking

GMS with New Timing Code

As I mentioned earlier I’ve added new timing code to the GMS. The feature allows you to dynamically change the duration of notes based on more precise timing. The durations range from whole notes down to sixty-fourth notes. I included dotted notes in the list, but I left out the tuplets for now. Currently changing the durations is achieved by the up and down arrows, but I’ll probably change it so that you can go from a one duration to another without having to scroll through them all. I also setup a “free” mode where the timing ignores the BPM and bases the time intervals between notes on the average brightness of the frame. I’ll write more about that later. For now here’s a test recording using the new timing code at 120 BPM.

GMS with New Timing

Mechanical Music Making Machines

I just saw an article on Make: called Felix’s Machines. An artist named Felix Thirn created this extraordinary mechanical musical instrument.

I did a little bit of research and found a couple video examples of his work in progress.

You can see and hear the evolution of the devices and musical compositions that the South London based artist is creating.

Felix’s Machines August 24, 2008
Felix’s Machines November 19, 2007

 

 

Bug in GMS Makes High Speed Glitches

I’ve started working again on my Gestural Music Sequencer after putting it down at end of the quarter for grading and paperwork. The main task that I’m working on is managing the timing so that it’s no longer tied to the frame rate. To do this I’m using Java’s Thread class in Processing.org to drive the tempo independently from the frame rate. Thanks to toxi over at PostSpectacular.com and his response to a question on precise timing, I learned what was necessary to set note durations based on tempo created from Java’s System.nanoTime() method. So far I have enabled eleven durations, from a whole note down to a sixty-fourth note.

While implementing this feature I inadvertently created a bug that set the time interval to zero. I quickly fixed the bug, but not before hearing some pretty amazing sounding glitches out of Reason as it received a stream – make that a tsunami – of note on data as fast as the processor could send it. Here’s how it sounds when Reason is flooded with note on information. The high pitch ringing is caused by the frequency of notes being sent, which turns out to be about 739 Hertz, in other words, seven hundred thirty-nine notes a second. Not even Ingvay Malmsteen can play that fast.

GMS: Super Fast Notes

Screeching Letter G

To create this sound I used a large hollow letter G and slid it along a Formica table top. Grandpa-George has an expansive collection of letter Gs from old signs and other sources hanging on one of their walls.

The G that I used to make this sound had not been mounted yet. The material that the letter was made from made a resonant screech when the thin edges of the back side of it slid along the Formica table top.

Screeching Letter G