Intelligent MIDI Sequencing with Hamster Control

by Levy Lorenzo

Abstract:

This project was initially fueled by the desire to explore the MIDI protocol. It was decided that this would be accomplished by building a MIDI device. I also aimed to make something novel that had never been done before. But to balance out the unusual nature of its design, I wanted to also to create something that was very musical.After much consideration of different technical design aspects and contemplating various musical ideas, I was able to arrive at a project that would fulfill all of my musical and engineering goals.An intelligent MIDI sequencer was designed with hamster control. The MIDI sequencer intelligently produced melodies by manipulating the musical elements of rhythm and note-choice. Guided by inputs based on hamster movements, Markov chains were used to perform such beat and note computations. In culmination, 3 simultaneous voices were produced spanning 3 octaves and 3 rhythmic tiers. Each voice was controlled by two hamsters: one that was responsible for adjusting the rhythmic qualities of the melody and another that modified the note sequence. With all of these elements in combination, an output was produced with very musical qualities.All of this was implemented using an Atmel Mega32 microcontroller, distance sensors, a HamsterMIDI Controller, and 6 hamsters. Embedded C programming implemented the algorithms and computations within the sequencer.Overall, this project was successful. The control between the hamsters and the musical intelligence turned out very well. The music sounds as good as I imagined, and I am very satisfied with the outcome of my design experience.

Full Report in PDF format (For reasons I don't understand, you may need to save this file, then view it locally).

Video of hamsters controlling the system

Example of music in wav format

Example of music in MP3 format.

APPENDIX C - Hamster MIDI Controller Photographs:

Complete System with Hamsters
Hamster Sensing Unit
Sequencer with MIDI OUT
Controller Side Panel- Outside
Controller Side Panel- Inside
Mounted GP2D02 Sensors
Controller Prototype Board