London Music Hack Day 2012 - Transcribertron
Music Hack Day (MHD) is an international 24-hour event where programmers, designers and artists come together to conceptualize, build and demo the future of music. Software, hardware, mobile, web, instruments, art - anything goes as long as it’s music related. I have been before, as I’m sure you all remember from last years blog post
Transcribertron is the name of the software I worked on with a couple of Fivium colleagues for London Music Hack Day 2013. It’s software that takes listens to music that you play and transcribes the pitches and durations into MusicXML.
This year Music Hack Day was held in the Shoreditch Village Hall, which is a building off Hoxton square for use by community projects like this. It’s a nice idea but unfortunately I think I preferred previous years where the event was held in the offices of a sponsor company as you get proper chairs and desks. Shoreditch Village Hall had possibly the most uncomfortable chairs I’ve ever had the misfortune to sit in and desks made out of rough-cut plywood on benches. Entirely painful for the forearms and very un-ergonomic!
The event in general was as awesome as it usually is though. A few familiar faces, great ideas, good food and drink and generally an all round good vibe. Other hack days aim for the MVP and prizes and can be pretty competitive or end up being a hipster coding showcase but MHD always comes off as a more casual, fun and exciting place to try out new ideas.
This year I was working with people where our shared skill was client side web coding so we planned to use the javascript Web Audio API as it would give us common ground. It’s a pretty neat API giving you reasonable access to all the usual audio hooks you might expect. The API does differ between browsers still and is in a bit of a state of flux so documentation is rather scarce or incorrect, which added to the challenge.
We initially thought about a guitar-hero style game for the browser but to begin with we thought we’d start off with a pitch detection library and have a play. However it soon became apparent that making a full game would be quite tough within the deadline and that it wasn’t worth dedicating our time for a full game that if half-finished wouldn’t demo well. Instead we took the easy route and started working on something to automatically transcribe notes for us, which meant smaller milestones and each one would end up with something reasonable to demo on the Sunday, meaning it wouldn’t be too bad if we ran out of time.
This project also has some actual practical use to it, unlike the Barbertron of last year. When composing it’s often easier to play what you’re thinking of than write it down, and some pro music engraving tools let you do this. Most free music tools, like MuseScore, don’t have this feature, or if they do it doesn’t work very well. So Transcriberton could actually save people time and money!
As for the coding side of things, Stephen worked on the scrolling canvas based staves, Matt worked on getting the pitch detection library working properly and buffering up notes as they played and I dealt with the timing and MusicXML export side of things.
The work split worked fairly well and played in to each of our skills and by Sunday we had a working system, which you can try out here!
Click Start, allow access to the microphone if prompted, and then start playing some music. When finished you can stop and export the information as MusicXML to be imported in to your favourite software that supports importing MusicXML.
The video of our demo has since been uploaded with Matt on guitar, Me supporting and Stephen doing most of the talking. We cut our demo short as the rules were that people would start clapping at 2 minutes to let you know your time was up, but we got clapped for a working demo and though the general applause was get-off-the-stage applause!
You can find the source on github, though as it was a hack weekend project there hasn’t been much work on it since. Also, as a javascript project you can see the entire source by viewing the source of the demo page too.
Hopefully I’ll get to go to London Music Hack Day 2014, and hopefully you will to.
Photos of us working/demoing shamefully pinched from Thomas Bonte on Flickr.