Skip to main content

Common tools for the computational analysis of Indian Art Music.

Project description

compIAM v0.4.1

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.

Installing compIAM

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!

Basic usage

Importing the integrated tools

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:

  1. The following fundamental musical aspects: melody, rhythm, structure and timbre (in v0.3.0 we are introducing new section, separation)
  2. 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()

Wrappers

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()

Available components

Tools and 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:

Accessing the Dunya corpora

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.

Dataset loaders

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:

The datasets marked with * have been compiled within the framework of the CompMusic project.

Contributing

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.

Example notebooks

We include, in this repo, example notebooks for users to better understand how to use compiam and also showcase

License

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 mtg-info@upf.edu

Citing

@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}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

compiam-0.4.1.tar.gz (244.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

compiam-0.4.1-py3-none-any.whl (275.9 kB view details)

Uploaded Python 3

File details

Details for the file compiam-0.4.1.tar.gz.

File metadata

  • Download URL: compiam-0.4.1.tar.gz
  • Upload date:
  • Size: 244.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for compiam-0.4.1.tar.gz
Algorithm Hash digest
SHA256 db8e4265adf35f78f35631587915fe10e499caab7c0693a6b34f0912aabe57da
MD5 422351b46284982651e6f7e0b7306451
BLAKE2b-256 aa8fa1f550aaf52b329e60928592e48ff79535146139e01b5d6e8b173f30e2f0

See more details on using hashes here.

File details

Details for the file compiam-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: compiam-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 275.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for compiam-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0fb2b8d8a8ed2f29170613443d5a609441f3ca3618f5674bfe67778c44eef9c2
MD5 9634741bd531df5654276137a932eb98
BLAKE2b-256 c35aceee4cb77e0f4a15bda000ac058aadeb4f3fcc596b110a19c8d1703a5d62

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page