
Generating Music (with an algorithm) - bozho
http://techblog.bozho.net/?p=1021
======
b1daly
There are at least two major areas of music composition which the algorythmic
attempts fall vastly short of humans.

One is that real music composition is never done where the timbres are
separated from the composition. Classically notated music looks kind of like
this, but it's really just a shorthand. A composer knows intimately the sounds
she is working with.

For pop music, the timbre itself is a mode of creative expression. Innovation
in musical timbres and sounds is an expected part of pop music. (I'm using
"pop" in the most general sense, covering a large amount of contemporary
genres). The meaning of the music is not captured by simplistic reference to
musical notation concepts.

The other major limitation of generated music, to my ears, is that of overall
compositional structure. The units of composition usually are short, and only
locally referenced. So the compositions lack interesting shape over the course
of time.

If you think of a composition as a story, it's as if a bunch of plausible
paragraph that are coherent within them selves are strung together with only
loose reference to each other. So a longer "plot" doesn't emerge.

~~~
Joeboy
> One is that real music composition is never done where the timbres are
> separated from the composition.

It's true that composers almost always have a sound in mind when they write
the notes, but it's very common to perform compositions using entirely
different instrumentation to that originally envisaged.

------
mixedbit
In 1995 Douglas Hofstadter wrote a short essay that describes his amazement
with a piece of music composed by a program. Interesting reading:
[http://www.cs.washington.edu/education/courses/cse403/03su/m...](http://www.cs.washington.edu/education/courses/cse403/03su/materials/Essay-
Douglas-Hofstadter.htm)

~~~
bozho
Great. The composer doesn't need to have gone through emotional breakdown,
drugs, or whatever, to create beautiful music. He just needs talant. And I
think talant may be at some point expressed in zeroes and ones.

------
stagas
The best one I've ever heard was AlgoMusic[0] on the Amiga by Thomas Schürger.
I used to spend hours listening to it. And it was a pleasant surprise while
searching for it now, to find out that the author has a brand new project
called SoundHelix[1] that has all the awesomeness of AlgoMusic, and sounds
even more incredible. You should listen to the examples[2].

[0]: <http://aminet.net/package/mus/misc/AlgoMusic2_4>

[1]: <http://www.soundhelix.com/>

[2]: <http://www.soundhelix.com/audio-examples>

------
Strilanc
I've been wondering how long it would be until web sites like this started
showing up, where you can listen to automatically generated music on demand.

Hopefully they keep improving until they make the best human composers look
mediocre, despite being millions of times faster. Unbounded amounts of new
high quality low cost music? Yes please.

~~~
DanBC
Have you seen DarwinTunes?

(<http://darwintunes.org/>)

~~~
b1daly
Just checked it out, very interesting concept. But from what I heard the music
doesn't seem to be evolving much!

------
jmmcd
I have generated quite a bit of music using evolutionary algorithms. My
research is mostly about figuring out representations that are not at too low
a level (eg 1 "gene" per note). I like representations that in some way
represent the patterns, oscillations, and processes that seem to drive music
forward over time.

A paper: <http://ncra.ucd.ie/papers/gecco2011_jmcdermott.pdf>

Some short mp3s:
[http://www.skynet.ie/~jmmcd/software/GraphMusicDemoPieces.tg...](http://www.skynet.ie/~jmmcd/software/GraphMusicDemoPieces.tgz)

Longer, slow-developing stuff on soundcloud (using slightly different
software): <http://soundcloud.com/jmmcd/tomorrow-is-a-new-day>

~~~
bozho
they sound pretty nice :) will read the paper immediately

~~~
jmmcd
Thanks -- I think they're kind of nice at a "local" level, but they don't have
the more "global" coherent movement that yours have.

------
mrcharles
This is probably one of the best algorithmic music generators I've heard. It
has a lot more feel of composition to it than most I've heard.

------
hayksaakian
The music at any given point sounds great, like classic video game bgm, but
theres one thing that irks me. I don't feel a clear start and end to the
music, it just seems abrupt both ways.

~~~
bozho
true that, I'll try to improve the general structure, so that it sounds
complete

------
teeja
The program might benefit a lot from better timbres. It's hard to appreciate
(or not) other features when the tones are so pallid, so impoverished.

------
MichailP
Nice work. Is anybody aware of automatic music performing software? I think
that this is similar to automatic generation of music but more structured and
therefore easier to implement. I remember reading some studies about software
performing classical compositions, but never found working prototype to play
with.

~~~
bozho
I've read some papers about software used to help live performers, some sort
of co-performer, or accompanying robot. But I can't find the paper right now..

~~~
MichailP
Yap, there is a bunch of papers, but no publicly available prototype to try.
Imagine having a python module:

from imaginary_music_module import piano_performer as p

p.play("chopin.ly", style="Pogorelich")

That would be nice :)

------
diminish
Terrific, I guess the first virtual minds will love these first algorithmic
songs; from an historical point of view.

------
songgao
Have you ever thought of using some more complicated algorithm for randomness,
e.g., genetic algorithm?

[http://scholar.google.com/scholar?q=genetic+algorithm+music+...](http://scholar.google.com/scholar?q=genetic+algorithm+music+generation&btnG=&hl=en&as_sdt=0%2C1)

~~~
bozho
I have indeed looked at some genetic algorithms and a lot of papers on the
topic (in fact, my former university has a course about that, so I read the
coursebook). Most of what I have read is either included, attempted, or in
TODO. And obviously, I need to read some more.

~~~
songgao
That interactive thing looks useful. It might be possible to build a music
composer (website) using collective intelligence, i.e., producing music by
taking people's response into consideration?

~~~
bozho
The idea of "liking" and "disliking" is to: 1\. Get a collection of 'best'
tracks that sort-of advertises the successful parts of the algorithm 2\. To
let me analyze which intermediate decisions in the generation process are good
and which not, so that I can make the good ones happen more often.

------
simonbohs
I took part in a "create a game in a day" event recently. Some of the
compositions sounded like they would have been perfect for the game, which
leads to the strange question: what is the copyright on music composed by the
algorithm?

~~~
bozho
Creative Commons is the one I picked

------
jasonebaugh
There is Wolfram Tones: <http://tones.wolfram.com/>

It makes the mistake of trying to generate in established genres. None of the
genres I care for were anywhere near the mark.

------
hakaaak
Man, that is some pretty crappy music. Good effort though. Algorithm needs
more theory. Good music isn't that random. You are missing phrasing,
repetition, rhythm.

~~~
bozho
I'm not missing it - all three things are encoded there. They might not be
that "visible", which is a point of improvement, but the theory is there. As I
wrote in the blog "random" generates noise. That's why composition rules are
needed.

------
gtani
Hmm, no mention of Prof. Cope at UCSC

<http://artsites.ucsc.edu/faculty/cope/experiments.htm>

~~~
mhax
My thoughts exactly. Virtual Music gives a great insight into Cope's ideas:
<http://mitpress.mit.edu/books/virtual-music>

Sadly his code (lisp if I remember correctly) isn't on github either...

------
gnosis
Also see:

<http://musicalgorithms.ewu.edu/algorithms/import.html>

~~~
bozho
I deliberately made it generate/play tracks with 0 user input. This thing
might be good, but I couldn't make it play anything meaningful

------
gordaco
Another one, with a pretty bizarre UI: <http://www.melomics.com>.

------
virtualritz
Does not work for me in Chrome. Works in Safari. I'm on a Macbook Pro.

~~~
bozho
strange. It works on chrome on windows.

------
markyc
it sounds like i expected it would :)

~~~
bozho
bad, or artificial? If "artificial" - that's the performance side, and it
depends on the soundbank. If a real performer plays the same score, it would
sound better. The point is to have nice compositions first :)

~~~
markyc
sounds are ok (to my untrained ear), and great effort building this!

still, a little too random

since it's algoritmic, maybe you can go for a little "coherence" throughout a
piece, if it makes sense?

~~~
bozho
sure, any feedback is welcome. The thing is still in an experimental phase,
and I'm trying to improve it bit by bit

------
rorrr
You need better instruments sounds, they sound worse than S3M instruments that
I messed with in the 90's.

~~~
bozho
Will look for a better soundbank, indeed

