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