Hackpact documentation (week 1)

I started my hackpact month last night with this screencast, playing around with time offsets and functors.  I think the audio gets *slightly* ahead of the video, probably due to some jack-audio drops.  If for some reason you want a better quality version you can look at the source mpeg-4 file on blip.tv.

I was happy with applying a sine wave to the time offsets, giving a bit of swing to the rhythm.  Combining that with a straight (pure 0.0) pattern grounded it nicely I think, so the rhythm was played straight on top of shifting it forward and backward in time.  (although this is live I can play sounds slightly in the past due to a 0.2 second system-wide artificial latency).  I also played with a simple chorus effect by having lots of offsets on top of one another amongst other stuff.

Not sure I like the end result of this as music or not, I’ll listen with fresh ears before I decide on that.  But then I think the point of my hackpact is to practice live coding rather than doing great music so that doesn’t really matter.


For this one I used nekobee, it took quite a while to get haskell talking to it over DSSI (a nice way to talk to synths over OSC, but it turns out it uses a vaguely non-standard tag to send MIDI bytes).  I quite like the results although there’s much to tweak and I didn’t get the levels quite right.


Baas and bleeps… Trying to focus on the music rather than the language for this one. UPDATE: I screwed up the panning, and have updated the below with a mono version. The original stereo version is over here might be better quality due to the transcoding but the panning is annoying.

[Rather than choke up my loyal reader’s RSS feed I’ll add further day’s hacks here on this post rather than make new ones, unless I do something major (like actually release some software).]


Oops, forgot to update the blog with this yesterday. Here’s some minimal acid from the 4th.


Getting harder to make myself make a screencast but I’m enjoying it more and more. Tried going extra slow for this one. Switched to vimeo hosting due to transcoding problems.


Tried going extra fast after the previous extra slow offering. Some nice bits towards the start but didn’t manage to keep it up really.


A low point today, have some pattern visualisation stuff I wanted to get done but didn’t manage to get it working tonight. Polar coordinates too much for my tired brain. I did manage to make a start on slides for my haskell user group talk next week though, very much a work in progress but any feedback much appreciated. Not a hack but bah.


  1. This is certainly an interesting approach to composition 😉

    I see by about ten minutes in you’d got nekobee to trigger slide by overlapping notes. It’s worth noting that the decay time is set to minimum when accent is triggered (like in a real 303) – have you got a way of changing the velocity? Maybe add another sine to bump the velocity over 90 to trigger accent occasionally.

  2. Hey Gordon,

    Thanks for the tips and the great software! I’ll be sure to fiddle with the velocity and slide in #4. I think somewhere in #3 I moved the nekobee window into view briefly…



Leave a Reply

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