Otomata - Generative Musical Sequencer16 Jul 2011
Click on the grid below to add cells, click on cells to change their direction, and press play to listen to your music.
Update: Click here to get Otomata for your iPhone / iPod / iPad!
Official facebook page: http://www.facebook.com/pages/Otomata/218837764796473
Also this reddit page has many examples: http://batu.in/otoreddit
And there is a subreddit for Otomata: http://www.reddit.com/r/otomata/
What is this anyway?
Otomata is a generative sequencer. It employs a cellular automaton type logic I’ve devised to produce sound events.
Each alive cell has 4 states: Up, right, down, left. at each cycle, the cells move themselves in the direction of their internal states. If any cell encounters a wall, it triggers a pitched sound whose frequency is determined by the xy position of collision, and the cell reverses its direction. If a cell encounters another cell on its way, it turns itself clockwise.
This set of rules produces chaotic results in some settings, therefore you can end up with never repeating, gradually evolving sequences. Go add some cells, change their orientation by clicking on them, and press play, experiment, have fun.
If you encounter something you like, just press “Copy Piece Link” and save it somewhere, or better, share it!
Here is something from me to start with:
And here is an action video:
Here are replies to some common questions:
Q: Will you add feature X?
A: I really strived for simplicity for this instrument. there are a lot of things that can be added, but I don’t want to clutter things. The ability to change the scale that is used and ability to change the overall tempo is already added in the second release. Always open to suggestions.
Q: MIDI Output? OSC output?
A: I will look into my possibilities for doing this. I will make a standalone version of this at some point which will emit OSC and MIDI. A VST and AU version might follow. These will take time. Sorry.
Q: What did you use to program it?
A: I programmed this with the HaXe programming language (it is awesome, look it up). I wrote a DSP library with HaXe and programmed this to try it actually. So far it works nicely!
Q: Why can’t I load pieces from other peoples’ links?
Q: Will you open source it?
A: I will open source the HaXe DSP library I used to program this. I might open source the whole thing while I’m at it. Also the code needs a bit of clean-up to be meaningful.
C: I found this bug where the cells move in circles. I broke it lol!
A: Nope it is not a bug. They are called oscillators. Use them to your benefit! Try this.
Q: Can I use the output in my own piece, am I allowed to do that?
A: By all means do so! Hell do it even if I said no. I’d love it if you give some sort of attribution, still cool if you don’t do it.
C: You are a filthy liar! You can’t create “never repeating” patterns with a system whose state space is finite!
A: You are right. I should have said “(practically) never repeating” above. But please do the math, it is possible (but not proven) that there might exist some configurations where the exact repetition would take (billions of billions of times) longer than the known age of our universe. I am not a mathematician by any means, so that is as far as infinity goes for me (I also believe that light travels in infinite speed in a vacuum, come at me bro! I am a digital being, speed of light is my universe’s sampling rate). That said, I can see how my exact wording would make you cringe, sorry about that!