Prelude in Haskell

May 5th 03:07
by why

The music is minimal, but the terminals are fun to watch. This one’s got a little language for making notes and beats that is immediately obvious, if you can manage to read the screen. (See also: the betablocker sneak peek.)



said on May 5th 04:23

I’ve been longing to get more into this.

I made a random arpegiator in ruby, but I only managed to make it export MIDI files, not been able to play the sounds live, through a MIDI Channel on OSX. Any ideas?


said on May 5th 08:01

In the sam vein you’ve got Impromptu on OS X, an midi sequencer + graphic output, in a Scheme environment, thought for live performance, by editing the code on the fly…


said on May 5th 10:06

abscond: I’m sure something could be cooked up with dl/import and some API calls from IOKit.


said on May 5th 10:31


said on May 5th 12:53

The planets are aligned by Jove! I take a break from reading “The Haskell School of Expression: learning functional programming through multimedia” to download Haskore and this appears!

Jeremy Voorhis

said on May 5th 16:52

Readers may also enjoy ChucK and Audicle, a programming language and environment for improvisational musical programming and dsp.


said on May 5th 16:59

Coo, thanks for linking to my screencast, I have a bit more at my website. On the subject of livecoding we’re putting together a livecoding festival in Sheffield, UK this July.


said on May 5th 17:14

I think today I will try and make something that will at least let me type a note sequence and get it played. I might just start with RubyCocoa, then try and get it on DL, because I really don’t grok DL yet.


said on May 5th 17:43

By the way, betablocker is by Dave Griffiths, check out Al-Jazari! And more about livecoding at the Temporary Organisation for the Promotion of Live Algorithm Programming.


said on May 5th 17:45

A final plug, Dave and I are two thirds of slub.


said on May 5th 17:59

yaxu: Great to hear from ya. The robots and thought bubbles of Al-Jazari are pleasant and there’s a wonderful batch of scheme that I’m sure all of the readers will have some fun tinkering with.

Got any little hacks for us? Like one of your handiest routines to leave us agape.


said on May 5th 18:26

I’m not very good at ruby but

ruby -e 'c = []; (0 .. 1024).map {rand}.sort{|a, b| c.push(a, b); a <=> b}; print c.pack("f*")' > /dev/dsp


said on May 6th 11:20

My attempts fell through. Partially because the AudioToolbox documentation is weak, and partially because I got totally sidetracked by impromptu. That is a bitchin program!


said on May 7th 09:34

I always liked the Just-In-Time Library for SuperCollider. You can make some noise real quick.


said on May 7th 21:13

Ok, tonight I sat down with JRuby, and hacked out a ruby interface to a MIDI synthesizer. It’s not quite complete yet, I am gonna add some DSL like stuff, and complete the DRb wrapper.


said on May 7th 21:36

That was as far as I could get tonight. It needs the ability to do looping notes properly, and to play more than one note at a time. But it makes noise, and is fun! Try it!


said on May 17th 19:14

Interactive fiction with an interactive shell! Making music!

Comments are closed for this entry.