Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Branch Status
Master Build Status
Develop Build Status

JS-Xtract is a feature extraction library built in JavaScript. The library is based upon a previous library, LibXtract[1], which defined several functions for the C langauge.

How to use it

JS-Xtract is self contained inside one file called jsXtract.min.js. Simply add this file your document header function, as shown below, to load the entire feature extraction library.

<script src="jsXtract.min.js"></script>

Whilst the library has not been tested inside Node.js, it is built using ECMA Script version 5 and should be interpreted correctly, however your mileage will vary.


The following components have their own documentation points:


This work is still in very active development and is updated regularly. However if you do find bugs, issues, prangs and scratches please let us know through the issue tracker on GitHub


A paper on this project was presented at ISMIR 2016, available here

If you use this project, please use the following citation:

N. Jillings, J. Bullock and R. Stables “JS-Xtract: A Realtime Audio Feature Extraction Library for the Web”, International Society for Music Information Retrieval Conference (ISMIR 2016), August 2016.


[1]: Bullock, J. and Conservatoire, U.C.E.B., 2007. Libxtract: A lightweight library for audio feature extraction. In Proceedings of the International Computer Music Conference (Vol. 43). pdf

[2]: Muller, M. and Ewert, S., 2011. Chroma Toolbox: MATLAB implementations for extracting variants of chroma-based audio features. In Proceedings of International Society for Music Information Retrieval Conference (ISMIR 2011). pdf


JS conversion of LibXtract. Compatible with web audio API and native JS