Algorithmic Music with seeded HMM and Stochastic Noise
A demonstration of a prototype generative music system using a variety of techniques from seeded HMM to stochastic noise.
The prototype has two generative music systems:
- A generative controller that uses a hidden markov model to generate new compositions from a seed music database
- A random music generator using a variety of algorithms from a windchime emulator to stochastic noise.
The system is built with Java, and uses an open source synth ZynAddSubFX as the sound source.
It was written in 2006 based on research work I did for my Music Masters degree in 2003, and I’m currently porting parts of it to C#/Unity & HTML5/WebAudio.
In 2007 I produced 2 relaxation music albums each with 4 x 15 minute tracks using this system, mixed with ambient environment nature sounds from another generative system. Currently these are offline but I hope to redistribute them again sometime. Here is a track from Album #1:
Generative music systems are a rich field of exploration, and the methods presented here are well known.
I have extended them a little more with some added features such as:
- Object database containing seed compositions with metadata
- More parameters for randomization and variability
- More experimentation with noise generation algorithms to drive music generation
Potential uses of such as system are varied:
- Affective computing – detected user emotions to drive system feedback via music mood matching
- Art and music therapy
- Music education
Some screen shots are below, followed by a video that briefly explains both systems.
Check out the video for a more in depth explanation.
You can read more about my music research here: