Slashdot Mirror


Cellular Automata and Music Using Java

Justin Powell writes "Take computers, mathematics, and the Java Sound API, add in some Java code, and you've got a recipe for creating some uniquely fascinating music. IBM Staff Software Engineer Paul Reiners demonstrates how to implement some basic concepts of algorithmic music composition in the Java language. He presents code examples and resulting MIDI files generated by the Automatous Monk program, which uses the open source jMusic framework to compose music based on mathematical structures called cellular automata."

10 of 115 comments (clear)

  1. DNA Music by A3thling · · Score: 5, Informative

    Lets hope it sounds better than DNA music. That was tried a while ago and was horrible.

    --
    Josh
    1. Re:DNA Music by wash23 · · Score: 5, Interesting

      DNA music sounded horrible but it was an interesting novelty. With the right kind of encoding scheme you could probably make something that sounded nice. A friend and I once experimented with fractal music (literally) by writing a script to generate the mandelbrot set in a format that was readable by an amiga-based tracker (OCTAMED). The number-of-iterations (color) value was mapped to pitch and instrument. It was neat because it not only sounded pretty interesting (he tweaked the way the numeric value was mapped to instrument and pitch), but you could also watch the mandelbrot pattern scrolling past in ASCII-form when you hit play. Fun diversion for an afternoon anyway.

  2. sounds like an arstechnica performance... by mrgreenfur · · Score: 5, Interesting

    a teacher/performer/artist/programmer at my school did a performance at arstechnica called 'cell phone symphony' where he used the audiences cell phones to make music! Each person sat in one chair, mapped to a grid on his computer. They got special phone connections with the phone company to dial a lot at once. They got a big projector to projet over the audience, and had a spotlight (of sorts, from the projector) pop up on someone when their phone rang. The whole audience watched via a big mirror.

    heres the wired article.

  3. Forget music! by AKAImBatman · · Score: 5, Interesting

    I've got old skool sound effects right here. The whole game fit in 4K, even won the 4K Java Game programming contest.

    It requires that you have Java installed in order to play. It doesn't work on Linux, tho. Sorry. Complain at Sun to get full screen mode working on Linux.

  4. Orwell was right! by k4_pacific · · Score: 5, Interesting

    Could it be?

    "Here were produced ... sentimental songs which were composed entirely by mechanical means on a special kind of kaleidoscope known as a versificator." --Orwell's '1984'

    --
    Unknown host pong.
  5. Fractal music by VAXGeek · · Score: 5, Informative

    If you like that, try this: Fractmus 2000 (win32)

    --
    this sig limit is too small to put anything good h
  6. Music using weighted random Markov strings... by Anonymous Coward · · Score: 5, Interesting

    ...might be interesting. Play a note at random, choose a note based on the weighted probability of the next note in a corpus of music, then use the first two notes to figure out the weighted probability of the third, and so on.

    Then if you go out four notes and only one note has any probability of being the fifth in that series, drop off notes from the beginning of the string until there is more than one possibility and continue. Something like:
    1
    12
    123
    1234
    (note 5 always follows notes 1234, so drop the 1)
    (1)2346
    (1)23467
    (note 8 always follows 23467, so drop 2, note 8 still follows 3467 so drop 3, then there is more than one possible note)
    ((1)23)4679 {etc}

    Then the music would probably sound really familiar, but just about the time you catch on it segues into another pseudo-familiar tune.

  7. douglas adams by golgafrincham · · Score: 5, Interesting

    damn, this man was insightful. he wrote about an internet-like structure describing the network of the h2g2 book, but he did also describe (at a very detailed level) how to create and use this kind of sound "tools" in his "dirk gently" novels.

    i mean, just read what he wrote about computer interfaces in h2g2 (when ford is breaking into the hq). adams was damn smart and way more funny than clarke.

    but did you know that adams did not invent this style of writing sf? read "the star diaries" by stanislaw lem. funny. uh... just read anything written by lem. you think clark or heinlein novels are great? just as an example, do you wanna know where the matrix authors stole the idea of these human-driven fighting robots? "The Invincible".

    --
    beer as in "free beer"
  8. Who owns the copyright? by El+Mulo · · Score: 5, Interesting

    Who owns the copyright of the computer generated music? The programer? The user? The machine?

  9. Java vs. specialty languages by jtheory · · Score: 5, Interesting
    It's not the capabilities of jMusic or the Java Sound API that led them to Java. If you just balance a list of capabilities in the musical realm, there are plenty of specialty languages and environments -- i.e., MAX, PD, ChucK, and so on -- that have greater built-in capabilities, because they are languages or scripting engines focussed only on music. That's also the downside of those languages, though; they are specialty languages.

    In '97-'98 I wrote a bunch of music theory training programs for the Music department at my school (they eventually became this website), and I tried out MAX first before I went with Java. MAX was far better equipped to handle the music-related requirements (anyone remember Java 1.0.2?). But with Java I could put my applets online, run them on any OS, and (biggest bonus) get some serious experience in a language that would get me my first job when I got out of college. Learning a new language to a level where you can tackle an ambitious project is a big investment. There are a lot of musicians and composers with day jobs as developers (like me) who want to be able to leverage what they already have, if feasible. And nowadays, Java has pretty good support for audio, as general-purpose languages go, so many projects wouldn't be giving up much to use Java.

    Here are a few snippets from the jMusic website that suggest why they chose Java for their project:
    Programming in jMusic is programming in Java, not in a meta-language or scripting environment. This means that the full power and cross platform independence of Java is maintained, it also means that the more you know about Java programming the more useful jMusic will be to you. Learning jMusic can be a fun way to gain Java programming skills while focusing on making music.

    [...]Because jMusic has full access to the Java language and support structures, your jMusic work can be as extensive as Java allows (and that is VERY extensive).
    There are more hints at this in the intro of the article, as well.
    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.