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.)

17 comments

abscond

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?

Zorbid

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…

why

said on May 5th 10:06

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

why

said on May 5th 10:31

sirreality

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.

yaxu

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.

cdcarter

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.

yaxu

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.

yaxu

said on May 5th 17:45

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

why

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.

yaxu

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

cdcarter

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!

Eric

said on May 7th 09:34

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

cdcarter

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.

cdcarter

said on May 7th 21:36

http://pastie.caboo.se/59745

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!

Daniel

said on May 17th 19:14

Interactive fiction with an interactive shell! Making music!
http://www.netjam.org/quoth/

Comments are closed for this entry.