GMS IconThe GMS is a Gestural Music Sequencer developed in Processing by John Keston. The application samples video and displays it either normally or inverted so it looks as though you’re looking into a mirror. Each frame is analyzed for brightness, then the X and Y data of the brightest pixel is converted into a MIDI note. The X axis is used to select a pitch, while the Y axis determines the dynamics. As users move, dance, gesture, or draw in front of the capture device, notes are generated based on a predetermined scale. Currently the available scales are pentatonic minor, whole tone, major, minor, and chromatic, all of which can be dynamically selected during a performance.

GMS ScreenshotThe scale can also be adjusted using probability distributions. Each note in the twelve tone chromatic scale can be given weighted randomness from zero to one hundred. Notes set to zero will not play, and notes set to one hundred are most likely to play when the probability distributions are enabled.

Other dynamic controls include MIDI out channel, BPM, low and high octave, transposition, sustain, duration selection (manual or randomized with probability distributions), BPM adjustment, and note randomization. A “free” mode allows the durations to be manipulated by the mean brightness of the video input. Finally, four, simple video filter presets were recently added that can be applied by pressing shift + [1-4]. The application works especially well in dark lighting while using a light source to control the sequencer. More information on the controls and features can be found in the readme.txt file distributed with the download.

Important notes:
1. Read the readme.txt!
2. There are known bugs in this software (see step 1).
3. Please follow the steps in the getting started portion of the readme.txt before emailing me.
4. [This step is not necessary with Mac OS X 10.6.x Snow Leopard] To use the inter-application drivers (IAC Drivers) with the GMS to send MIDI to and receive external sync from external applications like, Ableton Live, or Reason, you must install the Mac OS X universal binary java Midi subsystem (mmj.jar).
5. Have fun and if you make something cool post a link in a comment.

*UPDATE* I have suspended working on the GMS due to other projects and time commitments. The most current version does not run on the latest version of OS X (I don’t know about Windows). If you’re interested in revising the source code it is available on GitHub. If anyone is interested in taking this on I will do my best to help and answer questions.

Download the GMS Beta from Google Code

View a video short about the GMS
Gestural Music Sequencer Documentary Short

Audio examples and more video produced using the GMS

Special thanks goes to Grant Muller for his extensive work on improving the RWMidi library for Grant was also an essential resource on external MIDI synchronization and optimization of the application. Thanks, also to Ali Momeni for his suggestion of using probability distributions and inspiring me to develop the software as a potential tool for Minneapolis Art on Wheels.

171 thoughts on “GMS

  1. Thanks for the quick reply. I’ll keep at it and in the meantime, let me know if anyone else with Lion has any luck.

  2. Pingback: Fourteen Live Mixes from Ostracon: Track 1 | Audio Cookbook

  3. Pingback: Fourteen Live Mixes from Ostracon: Track 1 | Uber Patrol

  4. Ok, GMS is now working with Lion. I re-installed the old java files like you mentioned and that seemed to be the solution. I am looking forward to showing you what I’m working on. It’s pretty exciting and you have been a great help in many ways. THANKS!

  5. Pingback: Fourteen Live Mixes from Ostracon: Track 11 | Uber Patrol - The Definitive Cool Guide

  6. Pingback: Excerpt from Ostraka Improvisation at NAMAC 2012 | Audio Cookbook

  7. Pingback: Excerpt from Ostraka Improvisation at NAMAC 2012 | Uber Patrol - The Definitive Cool Guide

  8. Ok, so i feel like i have a very simply fixed issue but since i am brand new to all of this I dont know what to do. I have GMS for windows on a 64 bit machine. the program opens fine, i can bring up my webcam and i get a square around the brightest thing. i followed the directions in clicking the internal sync box and i have chosen a midi out device. the thing is,m i hear no sounds, do i need to have another program open in the background?

  9. Hey John, thanks for the response! This is where I am at:

    I am on a Win7 64bit machine. The webcam image is working properly, and i get a tracking box as well. I saw in the comments link you posted that I needed WinVDIG which i have, so thats good. I downloaded Maple and found it is only for 32bit, so also in the comments on the link you sent I found that LoopBE is a possible alternative, I installed that and now it comes up in GMS as a “External Midi Device”, from the looks of it LoopBE connects GMS to another program, like Ableton Live. So now I just need to find out how to receive data from LoopBE in Ableton, that is if I am understanding this properly.

    I still do not know what to do with the “Choose Midi Output Device” section, how do I know what to pick? Is LoopBE an alternative to that, or do I need both?

    Also, I do not know what to do with the Internal Sync/External Sync boxes.

  10. Sound like LoopBE should work well for you. You will have to configure your DAW to receive MIDI from LoopBE though. In Ableton it would be in the MIDI preferences.

    Also, use External Sync if you want your DAW to manage the clock, or Internal Sync if you want the GMS to manage the clock.


  11. I fell in love with GMS running Mac 10.6, and have unfortunately upgraded to Mac 10.9 (Mavericks), and GMS no longer works. :( I’ve tried reinstalling Mandolane Midi, and the Java Libraries- no luck. Keep getting a message that says Mandolane won’t run on my OS when I start the latest GMS release.

    Any suggestions to get GMS to play well with Mac 10.9?

    Thank you so much in advance!

  12. Hi Dana. I don’t use Mandolane MIDI, and I haven’t upgraded to Mavericks either. Probably the best thing to do would be to try compiling a version of the GMS on 10.6.x. That’s what I had to do to get it up on Snow Leopard. Unfortunately I can only do this after I’ve upgraded my Mac. Otherwise you could download the GMS source and try compiling it in Processing yourself. If you’re not comfortable doing that I’ll try to find someone with Mavericks that will let me make a binary. Good luck and I’ll keep you posted. Glad to hear that you like using it!

  13. Hi John,

    Me again. :( Upgraded to Yosemite, 10.10.3, and yep, GMS not opening. I should have known better than to upgrade. Arg.

    Any insight to this? I’ve chased all the Java leads I can, trying several different versions of Java. The GMS icon bounces in the dock, then settles, and the menu bar up top changes to say GMS, but that’s it. No interface ever opens on the screen, and the menu items under the GMS in the menu bar are the OS X default items, (about this app, services, quit)

    Sorry to continue bugging…. I just really love GMS.

    Hope all is well!

  14. Hi Dana. I’ll have to recompile for Yosemite. Been planning on upgrading, but haven’t gotten around to it yet. I’ll keep you posted.

  15. Ah, I see. Not sure if there’s any way I can help out, but I totally understand taking your time on the upgrade! No hurry, hahaha.

  16. Pingback: John Keston | ARTG 2260 – Programming Basics

Comments are closed.