compIAM (computational analysis of Indian Art Music) is a collaborative initiative involving many researchers that aims at putting together a common repository of datasets, tools, and models for the computational analysis of Carnatic and Hindustani music.
You can get started on the Computational Analysis of Indian Art Music through our ISMIR 2022 Tutorial: Computational Methods For Supporting Corpus-Based Research On Indian Art Music.
compIAM is registered to PyPI, therefore the latest release can be installed with:
pip install compiam
Nonetheless, to get the latest version of the library with the fresher updates, proceed as follows:
git clone https://github.com/MTG/compIAM.git
cd compIAM
virtualenv -p python3 compiam_env
source compiam_env/bin/activate
pip install -e .
pip install -r requirements.txt
Python version: At this moment, we have successfully tested compiam
in python
versions: 3.9 - 3.11
. Support to py3.8
has been dropped, since it reached end-of-life. Support to 3.12
and 3.13
is coming soon!
compIAM does not have terminal functionalities but it is to be used within Python based-projects. First, import the library to your Python project with: import compiam
.
The integrated tools and models are organized by:
- The following fundamental musical aspects: melody, rhythm, structure and timbre (in v0.3.0 we are introducing new section, separation)
- The task these tools tackle.
You can access the several included tools by importing them from their corresponding modules:
from compiam.melody.pitch_extraction import FTANetCarnatic
from compiam.rhythm.transcription import FourWayTabla
TIP: Print out the available tool for each category: compiam.melody.list_tools()
. Print out the available tasks for each category: compiam.melody.list_tasks()
, and print out the available tools for each module using: compiam.melody.list_tools()
. You may also list only the tools for a particular task: compiam.melody.pitch_extraction.list_tools()
compIAM also includes wrappers to easily initialize relevant datasets, corpora, and also pre-trained models for particular problems.
Wrapper | Description | Option list |
---|---|---|
compiam.load_dataset() |
Initializing dataset loaders | Run compiam.list_datasets() |
compiam.load_corpora() |
Accessing the Dunya corpora | Run compiam.list_corpora() |
compiam.load_model() |
Initializing pre-trained models | Run compiam.list_models() |
compIAM is structured by the fundamental aspects of music in which we classify the several relevant tasks for the Indian Art Music tradition. Check here the available tools for:
We do provide access to the Carnatic and Hindustani corpora in Dunya. For both corpora, there is access to the CC and the non-CC parts. More details on accessing the Dunya corpora are given here.
Direct and MIR-standardized access to the datasets for the computational analysis of Indian Art Music is given through mirdata loaders. The current available datasets in compIAM are:
- Saraga Carnatic*
- Saraga Hindustani*
- Indian Art Music Raga Dataset*
- Indian Art Music Tonic Dataset*
- Carnatic Music Rhythm*
- Hindustani Music Rhythm*
- Mridangam Stroke Dataset*
- Carnatic Varnam*
- Four-Way Tabla Stroke (ISMIR 21)
- SCMS (Saraga Carnatic Melody Synth)
The datasets marked with * have been compiled within the framework of the CompMusic project.
compIAM is very much open for contributions. You can contribute by:
- Adding new datasets
- Adding tools or models
- Improving the library features
- Writing walkthroughs of the included tools
- Identifying and fixing bugs
Please check the contribution guidelines and get in touch in case you have questions or suggestions.
We include, in this repo, example notebooks for users to better understand how to use compiam
and also showcase
compIAM is Copyright 2024 Music Technology Group - Universitat Pompeu Fabra
compIAM is released under the terms of the GNU Affero General Public License (v3 or later). See the COPYING file for more information. For the case of a particular tool or implementation that has a specific different licence, this is explicitly specified in the files related to this tool, and these terms must be followed.
For any licensing enquires, please contact us at [email protected]
@software{compiam_mtg_2024,
author = {{Genís Plaja-Roglans and Thomas Nuttall and Xavier Serra}},
title = {compIAM},
url = {https://mtg.github.io/compIAM/},
version = {0.4.1},
year = {2024}
}