Writing on remix

I haven’t been writing on this blog. Never mind why not. I have, however, been writing on this site, trying to fill in the CMS’s content a little more.

I wrote a couple pieces on work I have done with The Echo Nest Remix API. It wasn’t planned, but it ended up being a good way out of a writing logjam I had found myself in. It was prompted, of all things, by a tweet by a colleague. Was there a place that explains it all? Actually, no, there wasn’t.

It’s not the finest literature, but I hope that my overview at least communicates my enthusiasm for the project. I’ve been talking about the principles behind Remix for years and years, but never found quite the right framework for giving those ideas shape. Why, yes, of course multimedia descriptions can be used to drive changes to the underlying media.

My favorite way of thinking of Remix is that it makes each song its own API: each song offers queries into its own features, and can return any number of transformed versions of itself, all of which are sensitive to the original song’s musical features

That sentence wasn’t written off the cuff: it distills the essence of my current personal research.

I had meant to write about some further examples, but instead got sidetracked and spent some time looking at automatic documentation methods. It turns out that epydoc is pretty useful software. I had never used the reStructuredText markup language before, either. Although I found it to be a bit heavy on the “ant turd tokens,” it was surprisingly usable, especially for code documentation.

So the second release I made last week was of the API documentation. I’m not completely comfortable with where it’s hosted, but I did design the URL to be stable and long-lived, if it needs to be. In editing and polishing the documentation, it definitely helped me understand things better, and appreciate that this is turning out to be one formidable bit of software.

The third release was the one I had been planning from the beginning. I had hoped to let the world at all in one go, but the enthusiasm behind them (my own and from the people to whom I showed early versions) was too great for things to wait for my explanation of the Dissociated Mixes.

I knew I wanted to tell people about these mixes after the surprising results I got from writing a code example that illustrated what a sorting operator could do. A bit of thought, and the card metaphor came about. I wanted to make it as accessible as possible to a general audience, but also give enough detail to people who were technically minded—whether about technology or about music. Although the other documentation has gotten some attention from developers, I’m really enthusiastic about this piece for a general audience. It also approaches a silly topic with a fairly straight face. Sounds familiar