Skip to content

Third Party Libraries in Modulo7

Arunav Sanyal edited this page Oct 11, 2015 · 2 revisions

Since Modulo7 is a significant software engineering effort, numerous third party libraries have been used for different subcomponents.

Echo Nest jEN API

The Echo Nest API is a general purpose Inforamtion Retrieval and Data mining framework for music sources. Echo Nest provides API for similarity searches, Track Analysis etc. Echo Nest API is used for the mp3 track analysis.

Audiveris

Audiveris is a CLI and GUI service for OMR (Optical Music recognition). Optical Music Recognition is a challenging problem for both academia and industry and Audiveris is the only good Open Source solution for the problem. Modulo7 treats audiveris as a black box and calls the CLI directly.

Apache lucene

Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform applications and elastic search. Lucene is used a document indexing and query by example framework for lyrics in Modulo7.

Apache Avro

Apache Avro is a data serialization system. Avro is used for disk persistence of Modulo7 objects and a primer for distribution in HDFS.

JSoup

JSoup is an XML parser and in case of Modulo7 is used to parse basic music xml files.

Antlr

Antlr (Another Tool for Language Recognition) is a powerful parser generator. Antlr is used in Modulo7 to parse custom SQL like queries input by users.

On Top of this Third Party libraries like Apache Commons IO etc are used for rudimentary processing.

Alchemy

Alchemy is an NLP as a service API. It provides support for semantic intent and language identification for text. Modulo7 uses it for analyzing aspects of the lyrical content of songs.

Clone this wiki locally