Audio retrieval by tim­bral and rhyth­mic similarity

fLoop attempts to solve a com­mon issue faced by artists who com­pose with audio loops; which loop can fol­low the cur­rent one?

fLoop is an audio file nav­i­ga­tion tool that pro­vides a sim­ple inter­face to nav­i­gate a large num­ber of loops by tempo, rhyth­mic and tim­bral dis­tances. It is a GPL licensed stand­alone appli­ca­tion, built on the JUCE frame­work in C++. It also uses the Eigen library for lin­ear alge­bra rou­tines and an FFT.

The inter­face con­sists of two list boxes, along with play­back and visu­al­iza­tion func­tions. The user selects a file on the left box, and selects a range out of the three slid­ers for tempo, rhyth­mic dis­tance and tim­bral dis­tance. The files that match the selected cri­te­ria are dis­played in the list box on the right, which the user can audi­tion individually.

fLoop : Navigation Interface

fLoop : Nav­i­ga­tion Interface

The rhyth­mic dis­tance mea­sure was based on a peri­od­ic­ity mea­sure built from the self-similarity matrix in the spec­tral domain, while the tim­bral dis­tance mea­sure was derived from sta­tis­ti­cal fea­tures of the Mel Fre­quency Cep­stral Coef­fi­cients and their derivatives.

You can read into the tech­ni­cal details in the paper (link com­ing soon!), or access the source on GitHub.

Tags: , , , , , , ,