WulfCode - MIDI livecoding environment @_syphus
WulfCode - MIDI livecoding environment  @_syphus
Uploaded April 2014 | Updated September 2026, 2 weeks ago
A demo and walkthrough of WulfCode, a custom syntax interpreter and environment for MIDI live-coding in improvised audio/visual performance.

I wrote this from scratch in 5 nights ahead of a live set I'm doing at an Algorave (www.algorave.com) gig tomorrow, 26th April 2014, in Gateshead UK. I'm not a great coder, and I only really know Java, so WulfCode is not very efficient and may well contain lots of bugs (I guess I'll find out on the night!).

This is HEAVILY inspired by Thor Magnusson's ixilang, a simplified SuperCollider livecoding interface. ixilang is very cool, much cooler than WulfCode, but I haven't got a clue about SuperCollider since I never did any livecoding before this week... So rather than struggle to define my own SC instruments, I thought I'd have more fun controlling a load of my own instruments in Ableton Live - mostly my own Reaktor ensembles and some Sampler instruments/kits. If you want to get into 'proper' livecoding (and I'm not sure whether this qualifies as 'proper' livecoding), definitely check out ixi-audio.net/ixilang and all the other resources available.

Sinewulf is usually a 3-person live improv electronica/house/techno act consisting of Brendan Ratliff, Craig Walton and John Pope and although I'm doing this gig solo under the Sinewulf name, I intend for WulfCode to form a major part of our future gigs.

Eventually, when I get time, I'll tidy up the code and open source it. Currently it opens two windows, each filling half of an OS X screen, with the livecoding interface in one and some event-driven realtime visuals in the other. As I explain in the video the timing's a bit off in the screencapture because screen recording takes a fair bit of CPU grunt, on top of the MIDI, audio and visuals that the computer's handling.

The audio comes from synths and drum instruments set up on separate Ableton Live tracks, but there's no notedata in Live - it only plays what's sent to it by WulfCode. Live also runs the MIDI clock that's sent to WulfCode, so changing the BPM in Live changes the speed of WulfCode.

Give me a shout on Twitter (@echolevel) if you've any questions, or hit up @sinewulf to hear recordings of some previous gigs. When I've got some spare time I'll try to refine WulfCode a bit, but I'll be keen to help if anyone else wants to use it!
WulfCode - MIDI livecoding environmentEcholevel - Vetiversyphus - Bubblecode [MS-DOS Impulse Tracker mod]syphus - brewed [Amiga Protracker mod]syphus - too fool [Amiga Protracker mod]syphus - sceney [MS-DOS FastTracker .XM mod]syphus - Forest Hill [MS-DOS FastTracker .XM mod]Down The Broom (reel)The Water of Tyne - traditional Tyneside song (English concertina)Protracking With Syphus - Parallel port sampling & lo-fi hip hop Pt 2Echolevel - Vinegar TomSyphus - Plesiosaur
Echolevel |

WulfCode - MIDI livecoding environment

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER