Code · Work

Repoint: A manager for checkouts of third-party source code dependencies

I've just tagged v1.0 of Repoint, a tool for managing library source code in a development project. Conceptually it sits somewhere between Mercurial/Git submodules and a package manager like npm. It is intended for use with languages or environments that don't have a favoured package manager, or in situations where the dependent libraries themselves aren't… Continue reading Repoint: A manager for checkouts of third-party source code dependencies

Code · Mighty Convolvuli · Work

What does a convolutional neural net actually do when you run it?

Convolutional neural networks (or convnets or CNNs) are a staple of "deep learning". There are many tutorials available that describe what they do, either mathematically or via quasi-mystical appeals to intuition, and introduce how to train and use them, often with image classification examples. This post has a narrower focus. As a programmer, I am… Continue reading What does a convolutional neural net actually do when you run it?

Code · Work

Notes from the Audio Developer Conference

I've spent the last couple of days at the 2017 Audio Developer Conference organised by ROLI. This is a get-together and technical conference for people who work on audio software and software-driven-hardware, in practice mostly people working on music applications. I don't go to many conferences these days, despite working in academia. I don't co-write… Continue reading Notes from the Audio Developer Conference

Code · Programs for Music

Mp3 decoding with the MAD library: We’ve all been doing it wrong

The MAD mp3 decoder library is widely used in open source applications that play or edit mp3 audio files. It's a respected library that consists of high quality C code, has a fairly friendly API, and was evidently written with great care. It's now getting old (last updated in 2004) but people trust it. I… Continue reading Mp3 decoding with the MAD library: We’ve all been doing it wrong