Adam Lindsay has put together some really nice documentation for the remix API:
- An Overview of the Echo Nest Remix API – This is, as Adam puts it, a “high-level tourist’s guide” to the API. In this guide, Adam walks the reader through the hierarchy of information returned by the API (beats, bars, tatums, sections and segments), and then goes on to describe some of the ways all of this information can be retrieved and manipulated using the remix methods. Adam has put together some rather ingenious classes and patterns that make walking through the information in a song really easy. For instance, to find all of the beats in a song that fall on the first beat of the measure, one could code:
beats = song.analysis.beats ones = beats.that(fall_on_the(1))
I like Adam’s way of thinking about remix: “Remix 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”
- remix module documentation – Adam has generated some Javadoc style documentation for remix. This lays out all of the classes, building blocks, helper functions and variables that you need to know about to use remix. Until now, it has been necessary to look at code samples or delve into the remix code to see what methods and tools were available. This set of documentation lets you drive the car without having to open the hood to start it. Great stuff.
Thanks much, Adam for providing this documentation. The whole community is benefitting from your work. Awesome!