New! If you like Otomata, check out my new instrument Circuli by clicking here!
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/
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:
http://www.earslap.com/projectslab/otomata?q=0d6p224s4v508n7n6012
Here is an action video:
Edit: Woah so this has become famous! My sincerest thanks to you all!
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?
A: You most probably have JavaScript disabled.
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!
———
Thanks a lot for the interest. I have many nice instruments to play with at prototype state and will keep doing this. Follow me from wherever you please to get notified.









Comment
cool!!
— ahmet kizilay · Apr 10, 10:39 AM · #
Beatiful piece of engineering .
— Emin E≈üref Akbay · Apr 10, 06:04 PM · #
Try this: http://earslap.com/projectslab/otomata/?q=06122n3x4j5x6n728646
— Joel · Apr 10, 09:04 PM · #
This it great! Next you should allow multiple scenes so that one can compose a whole piece with it! (I wonder if you can do it in HTML5...)
— CpILL · Apr 10, 09:20 PM · #
This is great. A reset button would be great, to go back to the last manual modification (also maybe in a stack, so one can go back in time). cheers!
— Patrick · Apr 10, 09:24 PM · #
hypnotic! i wait and wait and wait for them to finally collide & change the loop, try and try and try to resist the urge to add another cell :)
— alln4tural · Apr 10, 11:31 PM · #
Awesome, truly. The set of rules you've used is known as a 'lattice gas automaton' - see http://en.wikipedia.org/wiki/Lattice_gas_automaton - did you base it on lattice gases, or is it a case of convergent evolution? In either case it sounds great - and the HaXe DSP lib idea is great too.
— Nathaniel · Apr 11, 01:00 AM · #
Thanks all! There is a lot that can be added... Multiple scenes, a scene sequencer, more scales etc. I wanted to keep it as a simple - limited toy that doesn't force you to make "more" decisions. If my math is correct, there is more than 146 x 10^45 states of the system by itself. Lack of options is limiting and also liberating in a way. That said I'm not against it, maybe some time. :) alln4tural: That's the spirit! Nathaniel: Thanks a lot! I was pretty sure that something like this must have existed in literature but I pretty much came up with it while I was drifting to sleep last month. Maybe I've read it before somewhere and it was in my subconscious who knows? Btw, the HaXe library is a lot like SuperCollider, I translated many of the SC UGens by hand. The library works with the familiar server, synths, nodes etc, very similar. But at the moment very verbose because there is no operator overloading in HaXe.
— Batuhan · Apr 11, 02:11 AM · #
Great! Would like to have to possibility to kill a cell.
— Minkepatt · Apr 11, 02:45 AM · #
Minkepatt, thanks, yes it is not very obvious but if you rotate a cell enough times (by clicking on it) it will eventually vanish (the states are Up, Right, Down, Left, Off).
— Batuhan · Apr 11, 03:00 AM · #
It is fun! Loved it, it sounds nice. Happy to see that you're still alive :) You know what i mean =) Is there any possibility of changing the direction of a cell while playing? Especialy while adding a new cell also while playing :D The cell goes away very quickly.
— Can Kzz · Apr 11, 09:05 AM · #
http://earslap.com/projectslab/otomata/?q=4w3q4w3q4s5a4s5a6u6a1o1t1d1j6j6x
— Felipe Campelo · Apr 12, 02:14 AM · #
http://earslap.com/projectslab/otomata/?q=8t7o6d5j4x3n22160q76
— Batuhan · Apr 12, 03:57 AM · #
I like the sound of this one: http://earslap.com/projectslab/otomata/?q=8q7t6o5d3d2o1t0q3v2014085v607488
— Felipe Campelo · Apr 13, 02:28 AM · #
http://earslap.com/projectslab/otomata/?q=184g78400n8n315m
— · Apr 14, 05:13 AM · #
Will be beautifull if something like this have as VSTi plugin...
— netrunner · Apr 14, 06:08 AM · #
Man! Tts amazing tool... http://earslap.com/projectslab/otomata/?q=2k5z483j0n80386z6l5k It's just play for about one hour greetings!
— netrunner · Apr 14, 07:15 AM · #
Netrunner, thanks. And the link you just posted is one of my very favorites now. Great balance and variations!
— Batuhan · Apr 14, 07:48 AM · #
http://earslap.com/projectslab/otomata/?q=5t8t188j2q0v3o7v001g624t5g4q4x6g5c503b446o7q
— skydiver · Apr 15, 02:04 AM · #
http://earslap.com/projectslab/otomata/?q=0t2s4n0i123v5k600z3u1u192531
— billy · Apr 17, 04:25 AM · #
Awesome fun!
— G May · Apr 17, 05:09 AM · #
http://earslap.com/projectslab/otomata/?q=045b7o885n695n843p0n84
— G May · Apr 17, 05:15 AM · #
http://www.earslap.com/projectslab/otomata?q=3o3n0u8t
— TheHemming · Apr 17, 05:32 AM · #
Try http://earslap.com/projectslab/otomata/?q=4t6s2p4g05334573
— Ahimsa · Apr 17, 05:37 AM · #
cool! it's improved from the original one i saw (without the arrows).
— gpa · Apr 17, 05:38 AM · #