Skip to main content

CAMAT: tools for symbolic music parsing, analysis, and rendering.

Project description

CAMAT

PyPI version Python versions License

CAMAT is a Python toolkit for symbolic music parsing, analysis, pattern search, and score rendering.

Supports Python 3.10+

Installation

pip install camat

What Is Included

  • Parsing helpers for partitura and music21 backends.
  • Timeline/rap Humdrum parsing with rhythm-only duration and onset-position summaries.
  • Pattern search and similarity utilities.
  • Piano-roll and overlay visualization helpers.
  • Verovio-based rendering utilities.

Parser Guidance

For common music notation, use the partitura backend as the primary parser. It is the most complete backend in CAMAT for current work: better MEI support, reliable xml_id extraction, explicit df_events output, and the strongest alignment with the rest of the parsing pipeline.

The music21 backend is kept as a legacy-compatible alternative. It can now emit df_pitch and df_events for common-notation files as well, but it should be treated as a fallback implementation rather than the default parser.

For MCFlow-style rap Humdrum timelines, use parse_files(..., parsing_backend="timeline"). This returns df_timeline rows with stable MEI ids and optional rhythm-analysis columns suitable for timeline MEI rendering.

Documentation

This repo includes an MkDocs project in docs/ and a Read the Docs config in .readthedocs.yaml.

Local preview:

pip install -r docs/requirements.txt
mkdocs serve

Then open http://127.0.0.1:8000/.

Repository Layout

  • camat/: package source used for PyPI distribution.
  • CAMAT_old/: legacy development notebooks and experiments.
  • CHANGELOG.md: release notes.
  • test_corpus/: test data and source links.

License

MIT (see LICENSE).

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

camat-0.1.10.tar.gz (166.0 kB view details)

Uploaded Source

Built Distribution

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

camat-0.1.10-py3-none-any.whl (163.2 kB view details)

Uploaded Python 3

File details

Details for the file camat-0.1.10.tar.gz.

File metadata

  • Download URL: camat-0.1.10.tar.gz
  • Upload date:
  • Size: 166.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for camat-0.1.10.tar.gz
Algorithm Hash digest
SHA256 c6ad228e1bf5ad08e90d6449c20dfde4a5f513ba53a13c167a260ef381b729a7
MD5 4206c89879f98c436d38319c176b12aa
BLAKE2b-256 47230f98bbc2ad83b6374686f2e94722b1aa6b1ef5faba8dc9014f6e7e358179

See more details on using hashes here.

Provenance

The following attestation bundles were made for camat-0.1.10.tar.gz:

Publisher: release.yml on egorpol/camat_v2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file camat-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: camat-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 163.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for camat-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b7b7f6366900a1026d7696ebfdd17c60895a7e2fa7c3ffee314e410ae2e32418
MD5 48a0baabda630d03112c066919de9a64
BLAKE2b-256 afec515de901a793f114200a93b78e4b7c7f145c88ef24074ec612e43eccb1e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for camat-0.1.10-py3-none-any.whl:

Publisher: release.yml on egorpol/camat_v2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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