Alex McLean

Making music with text

Haskell hack

by Alex on May 22, 2009

*UPDATE* This entry is ancient, but for some reason gets quite a lot of traffic, see Tidal for a more up-to-date page!

Finally off the back burner, some music in haskell.

This is very much in progress, more ideas to implement but I think it’s getting quite interesting already. Beat rotation heavily influenced by douglas.

32 thoughts on “Haskell hack

  1. Jeff says:


    Do you plan to release this?
    How portable is this, will it run on win32?

  2. Please, show us the code! :-)

  3. douglas says:

    WOW! I don’t think 200000/60 is even legal in the USA! This sounds great.

  4. Darrell says:

    Very cool, much more fun the boring java I write all day. What is the point of a language you have to compile AND interpret, Come on Sun, Pick One!

  5. vlad says:

    Nice hack. Show us more!

  6. Linus says:

    You have way too much time :) Great work :)

  7. Pingback: i.justrealized: Rhythm using Haskell

  8. Nicolas says:

    Say, I wouldn’t like to be debugging this at 3am

  9. Alex says:

    That is awesome. Love your work :) I’d like to use something like this for game music.

  10. Jiyunatori says:

    damn sweet ! I’m trying to build something similar … that would be nice to release the code !

  11. Dan says:

    This looks much like Haskore … have you perchance been reading the Haskell School of Expression? ;)

  12. Alex says:

    Thanks a lot for all the encouragement! I will post something about how this works, and release the code in good time.
    Dan: I bought HSoE but didn’t like it too much, I’m not into midi. Interesting that this looks similar to haskore though, I’ll take another look at that sometime.

  13. Devin says:

    Alex, I love you buddy, but I’ve been to your site at least 100 times looking for code. Pretty please?

  14. Shae Erisson says:

    Wow very cool! When do we get to play with the source?

  15. Alex says:

    Sorry to not release the code straight away. I need to think through some ideas first, particularly as this is probably going to form part of my PhD research.

  16. Kassen says:

    I really like this, it seems like a logical next step in your ultra-high-speed livecoding setups. The use of the command buffer in editing is nice as well; I tend to get lost in the amount of code buffers I’m using quite early on in my sets and this solves that.

    I do feel that this mode of performance, while a efficient way of getting data into a sequencer compared to -say- Live it also seems to go at the expense of public thought. Now; I much prefer a new look at sequencing over TOPLAP compliance for it’s own sake but I was still hiping you could comment on that.

  17. Pingback: Command-Line Techno » Synthtopia

  18. Pingback: grb's status on Thursday, 28-May-09 18:07:56 UTC -

  19. Basement Hum says:

    Very nice! I hadn’t seen any sound stuff done in haskell before. Exciting stuff. (via em411)

  20. nicolas weil says:

    that music drove my cat crazy ! he tried to enter inside the computer to kill that bug … sounds like the music made with Pure Data.

  21. Pingback: Das Kraftfuttermischwerk » Haskell Musik Hack

  22. Pingback: # » Programmiersprachen Techno

  23. Scott says:

    You’re gonna make Richie Hawtin jealous if you keep this up. Awesome stuff dude.

  24. Pingback: links for 2009-06-13 » -

  25. Gabrielg1976 says:

    Very Nice I like this I never played Haskell but i think im going to have to start..

  26. Pingback: Patterns in Haskell « Alex McLean

  27. josiano says:

    haha, that’s really cool =)


  28. Pingback: Haskell hack – Alex Mc Lean

  29. Pingback: random notes, links and pixels

  30. Karl says:


  31. Wax78 says:

    Damn, that’s something to see that for a coder :D

    The way you play with it is also great, good music.

  32. shookees says:

    Nice, although the distortion is friggin’ irritating :p

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>