Computational Music and Sound Archiving
Project description
comsar — Computational Music and Sound Archiving
comsar is a Python toolkit for content-based analysis of music and sound, with a focus on ethnomusicology (timbre, pitch/melody, tonal systems, rhythm and corpus visualisation with Self-Organizing Maps).
It is the top layer of a three-package stack maintained by Rolf Bader:
| Package | Role | Repository |
|---|---|---|
| apollon | Backbone: audio I/O, feature extraction, HMM, SOM (C-accelerated) | codeberg.org/rbader/apollon |
| chainsaddiction | Poisson Hidden-Markov-Models in C (used for rhythm / time-series) | codeberg.org/rbader/chainsaddiction |
| comsar | High-level music analysis (PitchTrack, TimbreTrack, tonal systems, SOM) |
codeberg.org/rbader/comsar |
This fork combines the modern comsar code base with the pitch-tracking and
tonal-system analysis (PitchTrack) merged back from the older comsar version.
Distribution names. The original PyPI names
apollon,comsarandchainsaddictionbelong to the upstream authors. This fork is published asbader-apollon,bader-comsarandbader-chainsaddiction. The import names are unchanged: you still writeimport comsar,import apollon, etc.
Installation (no compiler needed)
Pre-compiled wheels are provided for Windows, macOS and Linux (CPython 3.9–3.13). Installing comsar pulls apollon and chainsaddiction automatically:
pip install bader-comsar
To also run the example notebooks:
pip install bader-comsar jupyterlab
For source builds, step-by-step Windows/macOS/Linux instructions, and troubleshooting, see the full manual.
Quick start
from comsar import PitchTrack, TimbreTrack
# Pitch / melody / tonal-system analysis
pt = PitchTrack()
result = pt.extract("my_audio.wav")
print(result.features) # pandas DataFrame
# Timbre feature track
tt = TimbreTrack()
timbre = tt.extract("my_audio.wav")
Runnable notebooks are in examples/.
Documentation
- docs/MANUAL.md — full manual: architecture, installation, module reference, example walkthrough, troubleshooting, and how releases/wheels are built.
- examples/ — Jupyter notebooks for the main workflows.
License
BSD-3-Clause. Original work © Michael Blaß; this fork maintained by Rolf Bader.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bader_comsar-0.0.5.tar.gz.
File metadata
- Download URL: bader_comsar-0.0.5.tar.gz
- Upload date:
- Size: 39.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02e60fb4696f6a5d537932ec7aff50a6ab7c6b1fd277f21f11026b6f43296c86
|
|
| MD5 |
5dcb7f6fc84fd8209d3212415a2000e2
|
|
| BLAKE2b-256 |
68555843bdbf5491ce4768a978bbda2802bda22a57112f6349300a3be18f8e2a
|
Provenance
The following attestation bundles were made for bader_comsar-0.0.5.tar.gz:
Publisher:
wheels.yml on bader28/comsar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bader_comsar-0.0.5.tar.gz -
Subject digest:
02e60fb4696f6a5d537932ec7aff50a6ab7c6b1fd277f21f11026b6f43296c86 - Sigstore transparency entry: 2161096929
- Sigstore integration time:
-
Permalink:
bader28/comsar@e6aa1eb247e12c21ec95f492a9bf3f8a9785e3ed -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/bader28
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@e6aa1eb247e12c21ec95f492a9bf3f8a9785e3ed -
Trigger Event:
push
-
Statement type:
File details
Details for the file bader_comsar-0.0.5-py3-none-any.whl.
File metadata
- Download URL: bader_comsar-0.0.5-py3-none-any.whl
- Upload date:
- Size: 45.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc4433d87b18e62605bbcdb71af60779716755e800c205d9a39fb80f77776851
|
|
| MD5 |
265f712f1d7438bd58de850aeb4880f7
|
|
| BLAKE2b-256 |
f7c1a0b3675268316b1eebf7c66beedef89b73171b16721f45512b1d6ed371db
|
Provenance
The following attestation bundles were made for bader_comsar-0.0.5-py3-none-any.whl:
Publisher:
wheels.yml on bader28/comsar
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bader_comsar-0.0.5-py3-none-any.whl -
Subject digest:
cc4433d87b18e62605bbcdb71af60779716755e800c205d9a39fb80f77776851 - Sigstore transparency entry: 2161097015
- Sigstore integration time:
-
Permalink:
bader28/comsar@e6aa1eb247e12c21ec95f492a9bf3f8a9785e3ed -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/bader28
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@e6aa1eb247e12c21ec95f492a9bf3f8a9785e3ed -
Trigger Event:
push
-
Statement type: