The Loop Librarian
Automatic Classification of Audio Loops for Music Production

hbursk [at] stanford.edu | tekirk [at] stanford.edu | steinunn [at] stanford.edu

center for computer research in music and acoustics (CCRMA)
stanford university





Introducing the Loop Librarian

The Loop Librarian is a new software application aimed at people producing loop based music. Instead of having to search through folders and directories for audio loops, the user can simply open the Loop Librarian and have instant access to all their loops no matter where the files are located on their hard drive. To make the browsing process simpler, the audio loops are automatically tagged with metadata classifications including fidelity, sonics, tempo, meter, and key. Using the Echonest Analyze API for audio feature extraction in conjunction with LIBSVM, a C++ library for Support Vector Machines, any raw audio data can be classified with impressive accuracy. Once the desired audio loop is found, it can be drag and dropped into the user's favorite Digtal Audio Workstation.

This is the project of Hayden Bursk, Turner Kirk and Steinunn Arnardottir for Music 220c - Research Seminar in Computer-Generated Music, Spring 2008.









The Video








The Details

When an audio file is imported into the Loop Librarian, it is uploaded to the Echonest Analyze API where the audio is analyzed and a collection of feature extractions are returned in the form of an XML file. The list of features are then parsed into an SQLite Database and run through a Support Vector Machine classifer to decide its fidelity, sonics, and key. If the user finds the classifications inaccurate, the tags can be changed through the Graphical User Interface, and the Support Vector Machine algorithm will be automatically retrained. This allows the Loop Librarian to be trained and tuned according to the user's particular loop collection and tastes.

Using a single SVM algorithm, the Loop Librarian was able to acheive a six-fold cross-validation rate of 86%.




The Future

The collection of tags, sonics, fidelity, and key, will continue to be expanded to also include genre and instrumentation. In addition to automatic classification, a clustering algorithm will be implemented to offer loops that are similar to each other based on rhythm, pitch, and timbre. Also, a new node based classification scheme will allow users to receive suggestions on what loops might work well together. This could be particularly useful to remix artists who could retrieve loop suggestions based on fully produced songs or individual tracks.





The Links

Mus 220c Homepage | Research Seminar in Computer-Generated Music
Echonest Analyze API | A tool to extract features from an audio file into a XML file
JUCE | All-encompassing C++ class library for developing cross-platform applications
SQLite | A software library that implements a self-contained, serverless SQL database engine










ccrma | stanford university