Category Archives: haskell

Hackpact week 3

It’s the third week of the hackpact. A few have fallen by the wayside, others are doing impressively well. Adam is doing great learning supercollider, Sam is cracking away on a diverse range of ideas, Joe has put a lot of himself into his involved hacks, poetry with a smell of solder, Gabor pushing fluxus in wild new directions every day, Scott still soldiering on with ChucK every day, part of the inspiration for the hackpact and now part of it, and Cormac‘s easy sounding but in reality clearly really challenging rule based photography project that he’s tackling with increasing need for imagination. Honorary mention for Dan who threw himself at the project with some ace daily projects before going offline for a bit, hopefully he’ll rejoin us.
I hope I haven’t missed anyone, sorry if I have — let me know.

hackpact15

Another screencast with some good moments and also a couple of bugs found… I realised I forgot to switch off cpu scaling, so there might be more jumps in the recording.

hackpact16

Preparing for the haskell users group talk, so I tried to make some ultra quick demos of features of my pattern language. Failed really, I kept getting distracted at making the patterns sound better rather than demonstrate how they work, so I will likely just do a live demo instead.

The results are on youtube — I’m doing the presentation in google docs, and youtube is the only way of getting videos in there. In fact this is the only way I found of making a presentation with videos in under linux. Video support in openoffice sucks and didn’t work anyway, the html based s5 gets all slow and glitchy with videos in, the video library used in the python based bruce wouldn’t play any video I found, etc, etc…

hackpact17

Got through the haskell users group talk in one piece, happy with it actually. I managed to do some short sub-minute demos for it today which I think made it easier for people to follow, and I think count as today’s hackpact. Here’s the final presentation in full:

hackpact18

Uploaded my current Haskell stuff. Not very useful at all without instructions for how to install and use it which I’ll get to soon in a proper release, but some might be interested to read through the Pattern module at least.

Big shout out to Kassen, while he is behind on documenting his hackpact stuff he assures that he’s still doing daily hacks in the background. Hope to hear more from his side of our acidpact soon.

I’m pretty tired, going to try and make a new screencast tonight nonetheless.. Ah, here you are. Got rid of need for explicitly calling parser by using the overloaded string literals extension, thanks for the tip Ganesh.

hackpact19

Today’s screencast is here, although it’s not all that. No update tomorrow, we’re off to do some live coding at Plymouth Planetarium, documentation will hopefully surface eventually.

hackpact20

Well the planetarium experiment went well, hopefully will turn into a tour. Some documentation to appear sometime soon.

hackpact21

Too tired to make music, so worked on a poster design. Ended up too gloomy, to rework.

hackpact22
[[blue, blue [lightblue lightskyblue lightblue, lightblue lightskyblue lightblue ~] blue, blue], blue lightblue ~, blue]

Saturday night stream

I’m going to do a live a/v stream from my sofa 10pm GMT this Saturday 13th December ’08, livecoding with Perl and hopefully also a little language parsed with Haskell.  You can find info about how to watch, listen to the stream and join the chat over on the toplap site.

I did something similar last weekend, a remote performance to the Piksel festival in Norway, and I enjoyed it so much I had to repeat it.  Hopefully it’ll become a regular thing, yeeking has already offered to do the next one.

I’m doing the streaming with gstreamer, I don’t know if it’s possible to do live screencasts in this way with anything else and it offers a huge amount of control.  I reached the limits of gst-launch so have written a little gstreamer app to use for this weekend.  I’ll be releasing that soon…

Another thing – it’s the xmas dorkboteastlondon tomorrow (thurs) and one of our best line-ups ever.  Unmissable if you’re in around…

Vocable bugfix

Apologies to those who weren’t getting any sound from vocable, here’s a version with a quick bugfix from Rohan Drape that makes sure control buses are properly initialised. It should work for everyone now. Thanks Rohan!

By the way you might notice that vocable records everything you do under the ‘logs’ directory.  I’d be really interested in seeing your log files and the dorky words and funky rhythms you are typing in.  Please send me a copy if you don’t mind — don’t be shy now…

ASCII Rave in Haskell

I’ve been playing with using words to control the articulation of a physical modelling synthesiser based on the elegant Karplus-Strong algorithm.

The idea is to be able to make instrumental sounds by typing onomatopoeic words. (extra explanation added in the comments)

Here’s my first ever go at playing with it:

For a fuller, more readable experience you’re better off looking at the higher quality avi than the above flash transcoding.

As before, I’m using HSC3 to do the synthesis. If anyone’s interested, I plan to release the full source in September, but the synthesis part is available here

Canntaireachd for sinewaves

An early sketch of a system of vocables for describing manipulations of a sine wave.

The text is a bit small there, it’s better in the original avi version.

Vowels give pitch, and consonants give movements between pitches.

Inspired by the notation of canntaireachd. Made with hsc (Haskell client for scsynth). As ever, code available under GPL
on application.

I’m not sure where I’m going with this. It’s nice to describe a sound in this way but to use it in music the sound has to change over time otherwise it gets repetitive and therefore boring in many situations. I think I either have to develop ways of manipulating these strings programmatically, or ways of manipulating how they are interpreted. Both approaches would involve livecoding of course…

Programming in Haskell

Not really a review, just a strong recommendation… Graham Hutton’s Programming in Haskell is published mid January 2007, but Cambridge University Press are shipping already — I got mine just before Christmas and wish I had it earlier… It is by far the best introduction to Haskell I’ve seen, at least for someone new to functional programming such as myself. The chapters on parsing and and IO are a good mark of the book, together clearly yet stealthily introducing monadic programming in an easily digestible form. Well this book has plenty of other aspects I could praise, but like I say this isn’t a review, just go read and enjoy it yourself.

It’s great to read a really clear, concise text book, I could almost feel my brain re-organising itself while I read it. The experience reminded me of reading K & R after some months of confused C hacking, feeling everything clicking into place. That would be over ten years ago now, gah…