ocre Posted April 18, 2011 Share Posted April 18, 2011 Look at all these little things~ So busy now~ http://earslap.com/projectslab/otomata/?q=3o4o5o6o6f6k6c60504030202b2z2h2o http://earslap.com/projectslab/otomata/?q=1y3y5y7u7g7v755535121x1d3f5g5b3x http://earslap.com/projectslab/otomata/?q=6i5s4h5j6x7n4c3m233l2g1a7w0t1984 http://earslap.com/projectslab/otomata/?q=506y0g5r702b8x253o371o6f316v5p2d78051q8y http://earslap.com/projectslab/otomata/?q=1t2a3d4l0e5x6072884o5u6o403220 This one pry sounds most like a song. Quote Link to comment Share on other sites More sharing options...
Arek the Absolute Posted April 18, 2011 Share Posted April 18, 2011 http://earslap.com/projectslab/otomata/?q=2q2q4k4z7z4u1k4268684j4l4g4x4d4v this is getting too addictive not only does this one sound somewhat pretty, its really pretty to look at http://earslap.com/projectslab/otomata/?q=256y256y2v6d181o1l1k247l1j6t7z7j4n4a6z2k707q this one goes for a little before repeating : ) Quote Link to comment Share on other sites More sharing options...
drake7707 Posted April 18, 2011 Share Posted April 18, 2011 I wish you could actually place oscillators onto the grid, instead of having them show up by chance.Unless there IS a way and I don't know about it... :/ There is, but it requires some fiddling to get them in the correct place: From the FAQ: 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 (http://www.earslap.com/projectslab/otomata?q=8t8d8x821e16) Quote Link to comment Share on other sites More sharing options...
Sir_Downunder Posted April 18, 2011 Share Posted April 18, 2011 Damn, this thing is addictive just slapped a random pattern together and this is what came out: http://earslap.com/projectslab/otomata/?q=0w1y2p3f8e7u6a5g8975615b4j3x2n1206 Quote Link to comment Share on other sites More sharing options...
Nabeel Ansari Posted April 18, 2011 Share Posted April 18, 2011 http://earslap.com/projectslab/otomata/?q=0w0i1y2p3f3c2m1305010b0z0h0s078r8y8p8f8k8c8m838975615b4j5h6s7i Quote Link to comment Share on other sites More sharing options...
Calpis Posted April 18, 2011 Share Posted April 18, 2011 Surprisingly I really like how this turned out: http://earslap.com/projectslab/otomata/?q=4j4d4o5p6p5k6k6v604v4031213z2z2d2o Quote Link to comment Share on other sites More sharing options...
Gollgagh Posted April 18, 2011 Share Posted April 18, 2011 I'm finding I like the ones with as few cells as possible the most Quote Link to comment Share on other sites More sharing options...
Dissidia Posted April 18, 2011 Share Posted April 18, 2011 More scales and tempo now please. Quote Link to comment Share on other sites More sharing options...
eilios Posted April 18, 2011 Share Posted April 18, 2011 http://earslap.com/projectslab/otomata/?q=1v3p6g513d2a2054 this is too addicting, it's like audiotool all over again Quote Link to comment Share on other sites More sharing options...
drake7707 Posted April 18, 2011 Share Posted April 18, 2011 I've written my own version in c# in a couple of hours. It's based on the same rules. You can download it from: http://dl.dropbox.com/u/8797691/Procedural%20Midi.zip Mirror on rapidshare (in case I accidentally delete it from my dropbox): https://rapidshare.com/files/458065368/Procedural_Midi.zip The source is included for those who have Visual studio installed. The notes per cell are hard coded in the NoteController class. The nr of rows & cols are hard coded in Form1.cs. I did this as a challenge to write a similar thing in 1 hour or less (it took 3.5hours in total ) so there is no comments whatsoever. I did try to make it a bit structured though. I can probably add more stuff to setup, but now it's near midnight and I have to work tomorrow so maybe later Quote Link to comment Share on other sites More sharing options...
Dissidia Posted April 18, 2011 Share Posted April 18, 2011 Pretty cool, will be looking forward for more features now Quote Link to comment Share on other sites More sharing options...
EC2151 Posted April 18, 2011 Author Share Posted April 18, 2011 I love the differing choice of instruments, man. Awesome, awesome work. It's the second step towards a really awesome application, I can feel it. The only thing I can really recommend is the implementation of some sort of save feature, but other than that, it's really pretty cool (I like using the new age pad myself). EDIT: In your application, are there still oscillators? I think there are, but I'm not sure (by oscillators I mean the white squares that are in a circular motion). DOUBLE EDIT: Don't answer that question; I just found out that yes they're still there. Excellent. Quote Link to comment Share on other sites More sharing options...
Gollgagh Posted April 19, 2011 Share Posted April 19, 2011 aw hellz yeah Quote Link to comment Share on other sites More sharing options...
DarkeSword Posted April 19, 2011 Share Posted April 19, 2011 I've written my own version in c# in a couple of hours.It's based on the same rules. You can download it from: http://dl.dropbox.com/u/8797691/Procedural%20Midi.zip Mirror on rapidshare (in case I accidentally delete it from my dropbox): https://rapidshare.com/files/458065368/Procedural_Midi.zip The source is included for those who have Visual studio installed. The notes per cell are hard coded in the NoteController class. The nr of rows & cols are hard coded in Form1.cs. I did this as a challenge to write a similar thing in 1 hour or less (it took 3.5hours in total ) so there is no comments whatsoever. I did try to make it a bit structured though. I can probably add more stuff to setup, but now it's near midnight and I have to work tomorrow so maybe later Pretty cool, but I think I still prefer the flash version. GM soundbank without any delay effect makes it really dry, and it's not like I can pipe this into FLStudio or anything. Quote Link to comment Share on other sites More sharing options...
alfredofreak Posted April 19, 2011 Share Posted April 19, 2011 The source is included for those who have Visual studio installed. The notes per cell are hard coded in the NoteController class. The nr of rows & cols are hard coded in Form1.cs. I did this as a challenge to write a similar thing in 1 hour or less (it took 3.5hours in total ) so there is no comments whatsoever. I did try to make it a bit structured though.I can probably add more stuff to setup, but now it's near midnight and I have to work tomorrow so maybe later Interesting. I'm looking forward to checking out the source code. Well, once the semester ends. >_< Quote Link to comment Share on other sites More sharing options...
EC2151 Posted April 19, 2011 Author Share Posted April 19, 2011 What I like about Drake's version is the fact that everything i make sounds like something Steve Reich wrote. Though the original's reverb is definitely a plus. Quote Link to comment Share on other sites More sharing options...
Moseph Posted April 19, 2011 Share Posted April 19, 2011 I'd think it would be fairly straightforward to take drake's version and add output to a MIDI channel, assuming you could find the correct libraries for C#. Then it would just be a matter of using a MIDI yoke/loopback to feed it to a sequencer to record it. Quote Link to comment Share on other sites More sharing options...
Nabeel Ansari Posted April 19, 2011 Share Posted April 19, 2011 I'd think it would be fairly straightforward to take drake's version and add output to a MIDI channel, assuming you could find the correct libraries for C#. Then it would just be a matter of using a MIDI yoke/loopback to feed it to a sequencer to record it. Does C# have such libraries? Quote Link to comment Share on other sites More sharing options...
Moseph Posted April 19, 2011 Share Posted April 19, 2011 Does C# have such libraries? A Google search turns up several C# MIDI libraries that look capable of providing output, although I haven't looked at any of them in detail. Quote Link to comment Share on other sites More sharing options...
drake7707 Posted April 19, 2011 Share Posted April 19, 2011 I'd think it would be fairly straightforward to take drake's version and add output to a MIDI channel, assuming you could find the correct libraries for C#. Then it would just be a matter of using a MIDI yoke/loopback to feed it to a sequencer to record it. I'm using the standard windows MCI API to output midi messages (http://msdn.microsoft.com/en-us/library/ms709461(v=vs.85).aspx). It only accepts midi messages (specified by the midi protocol) itself so if I dump everything into a stream with delta ticks and slap a header on it I have basically a midi file. I've yet to find a midi library in c# that can play individual notes and export them to a midi file though (most only accept entire midi files). It's been a long while since I've worked with midi files, it was in vb6 and I had to define the entire midi file description myself, so it'll probably take a while to get a correct exported version of it. I've noticed however that my version is slightly different sometimes, such as in : http://earslap.com/projectslab/otomata/?q=0k4e8z. Normally the left cell should rotate to a downwards direction (or at least that's what he specified), yet in otomata that doesn't happen. If I can find the time I'll clean up the code a bit and make more stuff configurable rather than using constants. Edit: I found some time to change the constants to variables and added support to save/load the board to a text file. You can get it here: http://dl.dropbox.com/u/8797691/ProceduralMidi_v2.zip I hope I didn't screw anything up with the actual notes because I'm at work at the moment and unable to actually hear the notes being played. Quote Link to comment Share on other sites More sharing options...
Moseph Posted April 19, 2011 Share Posted April 19, 2011 I'm using the standard windows MCI API to output midi messages (http://msdn.microsoft.com/en-us/library/ms709461(v=vs.85).aspx). It only accepts midi messages (specified by the midi protocol) itself so if I dump everything into a stream with delta ticks and slap a header on it I have basically a midi file. I've yet to find a midi library in c# that can play individual notes and export them to a midi file though (most only accept entire midi files).It's been a long while since I've worked with midi files, it was in vb6 and I had to define the entire midi file description myself, so it'll probably take a while to get a correct exported version of it. I've noticed however that my version is slightly different sometimes, such as in : http://earslap.com/projectslab/otomata/?q=0k4e8z. Normally the left cell should rotate to a downwards direction (or at least that's what he specified), yet in otomata that doesn't happen. If I can find the time I'll clean up the code a bit and make more stuff configurable rather than using constants. Edit: I found some time to change the constants to variables and added support to save/load the board to a text file. You can get it here: http://dl.dropbox.com/u/8797691/ProceduralMidi_v2.zip I hope I didn't screw anything up with the actual notes because I'm at work at the moment and unable to actually hear the notes being played. I'll have to read a little more about the MCI, but I think the type of output I'm talking about would have to be accessed through the more advanced MIDI services. Basically, you'd be querying the system to find out what MIDI output devices are present, then allowing the user to select the MIDI device they want to send to. Sorry I can't be more specific, but I've never coded anything that deals with MIDI beyond simple GlovePIE scripts. If I get a chance, I may look at your code and see if I can implement something. Edit: To clarify, what the program does right now is to output through the default Windows MIDI player -- called the Microsoft GS Wavetable Synth, I think, which is probably the hardcoded behavior for MCI MIDI output. Depending on how the system is set up, there may be other MIDI output devices to send through, such as a soundcard's MIDI out or a MIDI loopback program, so what would need to happen would be for the program to find these other output devices and allow you to select which one to use. Quote Link to comment Share on other sites More sharing options...
StarZander Posted April 19, 2011 Share Posted April 19, 2011 So much fun. I love these kind of things. http://earslap.com/projectslab/otomata/?q=6g607k618t1b10881m2m75 Quote Link to comment Share on other sites More sharing options...
OmegaDonut Posted April 19, 2011 Share Posted April 19, 2011 http://dl.dropbox.com/u/26684258/ProceduralMidi_MIDIOutput.zip I added to drake7707's program the ability to choose which MIDI output device you select, which means it can be used with MIDI loopback devices, such as LoopBe. A quick guide to getting this to work: 1) Install LoopBe. Download link is here. 2) Inside ProceduralMidi, you'll see another drop-down box below the instrument box, which probably currently says "Microsoft Wavetable GS Synth". Change it to "LoopBe Internal MIDI". 3) Set your VST host or whatever program you're using to use LoopBe as an input MIDI device. I've already been able to output notes directly to synths in FL Studio. p.s. drake, would you be interested in making ProceduralMidi a Google Code\Codeplex project? Quote Link to comment Share on other sites More sharing options...
drake7707 Posted April 19, 2011 Share Posted April 19, 2011 http://dl.dropbox.com/u/26684258/ProceduralMidi_MIDIOutput.zipI added to drake7707's program the ability to choose which MIDI output device you select, which means it can be used with MIDI loopback devices, such as LoopBe. A quick guide to getting this to work: 1) Install LoopBe. Download link is here. 2) Inside ProceduralMidi, you'll see another drop-down box below the instrument box, which probably currently says "Microsoft Wavetable GS Synth". Change it to "LoopBe Internal MIDI". 3) Set your VST host or whatever program you're using to use LoopBe as an input MIDI device. I've already been able to output notes directly to synths in FL Studio. p.s. drake, would you be interested in making ProceduralMidi a Google Code\Codeplex project? I've uploaded the code and release to http://proceduralmidi.codeplex.com/, I've also refactored the code to group stuff together and commented everything. I've moved all the cellular automata logic to the Board class, which means it's much easier now to create a new subclass of AbstractBoard and implement other rules and when cells are active (= played in the iteration). .. Not that I have any ideas for a new ruleset at the moment , anyone any ideas ? Quote Link to comment Share on other sites More sharing options...
EC2151 Posted April 19, 2011 Author Share Posted April 19, 2011 Argh, I was dicking around with this program last night instead of writing a paper for university....... >_> At least it came out nice... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.