pouët.net

Procedural Ambient

category: general [glöplog]
gloom: for me, the fundamental question is whether or not the resulting music actually is any _good_. For me, it doesn't matter if an artist or computer made it, as long as it sounds cool. Nevertheless, there will always be an "artist" behind the code. Putting algorithms into play and tweaking them so that they generate something beautiful is as good an art form as anything to me. I guessed you would be the first one i knew to agree :)
added on the 2009-12-16 19:56:30 by Duckers Duckers
gloom, procedural music has existed not for decades but for centuries.
added on the 2009-12-16 20:26:16 by _-_-__ _-_-__
yeah it's called "house"!
added on the 2009-12-16 20:27:30 by Gargaj Gargaj
As far as I see it, procedural music is exactly that, an algorithm deciding what notes to output when and with what instrument. I yet have to find an advantage to it. If I can fill 10 minutes of a 4k intro with never-repeating music in just 1,3-1,5kb for the whole music code, then hell yeah, that's the way to go. Create your uber-l33t generation algorithm and you're set. That's the artistic aspect, the algorithm. I still yet have to find a way or an algorithm to make music interesting enough 10 minutes straight.

My little experiment was just a proof of concept, that a computer can choose at random a new note to play, that sounds good to existing notes; which is the basic requirement for any procedural tune generator.
added on the 2009-12-16 22:08:21 by xTr1m xTr1m
This sounds quite nice. Try the 27k/28k rating version.
added on the 2009-12-22 10:00:25 by raer raer
reviving an old thread because I played a bit with the ideas present in the papers I posted about earlier here.

http://uucidl.com/temp/navi-trial2.mp3

This recording above was made w/ human intervention (picking notes) + algorithmic chord progression generation.

added on the 2010-04-18 18:04:56 by _-_-__ _-_-__
Our program generates midi notes:
BB Image

The sound generator is reaktor + ableton live w/ custom effects.
added on the 2010-04-18 18:09:04 by _-_-__ _-_-__
quite awesome.. even if it gets a little "random" towards the end..
added on the 2010-04-18 18:11:25 by mad mad
What I like in this algorithm is that it is fully deterministic, the randomness here comes from my interactions with the program here. Need to learn how to work with it after all.

However if by random you meant "aimless" yeah, I agree. The algorithm has no knowledge of a beginning and an end and that's I think pretty mandatory for generating pleasing tracks. (But for now I'm just interested in using it as a tool to "augment" live performances)
added on the 2010-04-18 18:19:48 by _-_-__ _-_-__
mandelbrot where not made by an artist to make the image look cool, which it in turn did. it was just a simple formula which produced (a) stunning image(s) (with zooming etc..) by drawing it on the complex plane. and we see it everywhere in demos.
added on the 2010-04-18 18:44:33 by rudi rudi
nowadays we see quaternion julia mandelbrots, but thats a another story...
added on the 2010-04-18 18:45:30 by rudi rudi
Nice :)
added on the 2010-04-19 19:14:16 by xTr1m xTr1m
Quote:
If I can fill 10 minutes of a 4k intro with never-repeating music in just 1,3-1,5kb for the whole music code

well, in standard 4k softsynth, pattern and notes are taking around 200 to 400 bytes compressed. That's probably possible to fit some kind of procedural note generator into this size.... But it will be pretty hard to give enough emotions compare, for example, to a puryx's elevated soundtrack!
added on the 2010-04-19 22:08:02 by xoofx xoofx
As the topic starter, i'm curious. Has there been any further research on this topic? I'm suspecting that cdak/quite did something similar.
added on the 2014-01-19 23:34:01 by xTr1m xTr1m
I've just recieved this cool synth as a gift from EatMe, which is somewhat relevant to this thread:
http://www.hgf-synthesizer.com/avatar-st.html
added on the 2014-01-19 23:51:12 by numtek numtek
Ambient, yeah, but procedural? Are you aware that this is pretty much a 70MB ROMpler plugin? Or what is the "procedural" point you're trying to make? :)
Unfortunately I can't listen to any of the examples as the links seem to be dead.

I'm also a musician (with not much theory background), not a coder and my maths is quite fuzzy. But if you want to make ambient music that sounds good, I guess you need to make sure that your program keeps track of every note that is currently sounding so that there is no dissonance.

It will also need to make decisions based on the current notes sounding as to which chord/scale the next note will belong to. This will determine the direction of the music in terms of chord progression. If you really want it to sound nice, it will also need to have certain rules about which chords/scales can follow one another without it sounding too random. (pentatonic anyone?)

And that is just for the note / chord changes. This doesn't include when to change notes / chords or for how long to hold a note / chord. If you use only evenly-spaced note / chord changes it might quickly start to sound boring.

Finally, for ambient, you're going to want quite a good reverb effect to tie it all together and probably a nice delay effect which means more cpu overhead.
None, that is why I said 'somewhat relevant'. You can skip the 70mb data and use your own data as a source btw. But it isn't procedural no, it is way cool though :)
added on the 2014-01-20 10:14:31 by numtek numtek
Quote:
Too bad that I can't pump my data to 4klang.


well, admittedly there's no ready to use solution.

then again the source is available and all you would have to do is:
- find the function processAnyhow in the file Go4kVSTiproc.cpp
- remove the code block from line 66-78 (which handles the midi input from the vst host)
- add your generator algorithm there and spawn/kill notes using the existing functions:
Code:Go4kVSTi_AddVoice(int channel, int note) Go4kVSTi_StopVoice(int channel, int note)


then compile the plugin and have fun (or not) :)
added on the 2014-01-20 10:53:17 by gopher gopher
Quote:
I'm suspecting that cdak/quite did something similar.


IIRC brothomstates told me that he hardcoded the track because it made use of complex feedback delay networks to generate the pad sound, which he couldnt control otherwise.
so i'm pretty sure the harmonics/note content was created and controlled manually.
added on the 2014-01-20 10:58:16 by gopher gopher
numtek: Fair enough :)
Quote:
Quote:
I'm suspecting that cdak/quite did something similar.


IIRC brothomstates told me that he hardcoded the track because it made use of complex feedback delay networks to generate the pad sound, which he couldnt control otherwise.
so i'm pretty sure the harmonics/note content was created and controlled manually.


"the pad sound" meaning just one note or entire harmonies? If it's just one note then it has nothing to do with the score itself.
added on the 2014-01-20 14:29:43 by xTr1m xTr1m

login