musiscape
musiscape is a Python toolbox that analyses a folder tree of music as a collection: albums, similarity, outliers, categories. Point it at a folder of audio files—each subfolder counts as an album—and it renders figures, tables and thumbnails that let you compare many tracks at a glance.
Install
pip install musiscape
Quickstart
musiscape report ~/Music/my-collection
One command runs the whole pipeline and writes analysis/README.md next to
your music: an album table, a similarity landscape, self-explaining
categories, and the corpus extremes.
Commands
| Command | What it does |
|---|---|
probe |
list albums and tracks, no analysis |
extract |
per-track features, cached in features.json |
fingerprint |
per-album profile bars |
landscape |
PCA similarity map and album-affinity matrix |
categorize |
k-means categories with named signatures |
report |
everything above, gathered into analysis/README.md |
thumbnails |
one visual card per track (--style, seventeen styles) |
poster |
the whole collection as one image (--style vinyl for discs) |
sonic |
a ~12-second audio summary per track, plus album medleys |
segment |
finds the songs in a concert recording and writes one file per song |
figures |
labelled chromagram and tempogram per track, at any pixel width |
pdf |
one PDF: a summary table, then a page of figures per track |
A live recording is not a collection until it is cut into songs, which is what segment is for
(video files included — concerts usually arrive as video):
musiscape segment ~/video/concert -o ~/video/concert/analysis
musiscape report ~/video/concert/analysis/songs
Common options: -o sets the output folder (default <root>/analysis),
--workers N parallelises, --duration S analyses only the first S seconds
per track, and -k fixes the number of categories.
Learn more
- Documentation—guides, an illustrated gallery of the visualisation styles, and the API reference
- Wiki—methodology notes and a case study
The toolbox is meant for quick visualisations and overviews. Combine it with listening.
Related toolboxes
These toolboxes come out of the fourMs lab at the University of Oslo. They are separate packages with separate release cycles, but they are built to be used together and share several implementations, so a measure computed in one agrees with the same measure computed in another.
- Musical Gestures Toolbox
(
musicalgestures)—video and audio: motiongrams, videograms, and motion analysis from ordinary video files - ambiscape—soundscapes: the sonic ambience of a place; musiscape reuses its circular statistics and Schaeffer typology machinery
- micromotion—human micromotion: quantity of motion from optical markers, accelerometers, respiration belts and force plates
Licence and credit
MIT licence. musiscape is developed as part of the AMBIENT project at RITMO Centre for Interdisciplinary Studies in Rhythm, Time and Motion, University of Oslo.
Citing
Cite the CONCEPT DOI, which always resolves to the newest version:
Jensenius, A. R. (2026). musiscape: analysis of music collections (Version 0.5.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21948999
Where the exact behaviour matters, cite the version you ran instead. Version 0.5.0 is https://doi.org/10.5281/zenodo.21949000.
CITATION.cff in this repository carries the same information in machine-readable form.
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 musiscape-0.6.0.tar.gz.
File metadata
- Download URL: musiscape-0.6.0.tar.gz
- Upload date:
- Size: 61.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9387d003ea3329d0b6257b643cb3eb05ef187bff6a23162b6f76d4167ee41656
|
|
| MD5 |
aeff206956270bcb69f06208ae0728bf
|
|
| BLAKE2b-256 |
da84c67af81de336e6f8cc7a14961e88caa4458d875187d254b19c51fa33bdf2
|
Provenance
The following attestation bundles were made for musiscape-0.6.0.tar.gz:
Publisher:
python-publish.yml on fourMs/musiscape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
musiscape-0.6.0.tar.gz -
Subject digest:
9387d003ea3329d0b6257b643cb3eb05ef187bff6a23162b6f76d4167ee41656 - Sigstore transparency entry: 2485458976
- Sigstore integration time:
-
Permalink:
fourMs/musiscape@f7910104bd8c2d756b8ccdc603aca44e7ce4f9f6 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/fourMs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f7910104bd8c2d756b8ccdc603aca44e7ce4f9f6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file musiscape-0.6.0-py3-none-any.whl.
File metadata
- Download URL: musiscape-0.6.0-py3-none-any.whl
- Upload date:
- Size: 54.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1fdcb79fd83cda962b92fb01a55787be21a217a5071be102e40be595fbc766b
|
|
| MD5 |
9391ae0d36455fdb379bb1b43deefa30
|
|
| BLAKE2b-256 |
ca234ed6403b714b7a9e417c647d89345159019622d6bb0e46cb7bdf648a6986
|
Provenance
The following attestation bundles were made for musiscape-0.6.0-py3-none-any.whl:
Publisher:
python-publish.yml on fourMs/musiscape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
musiscape-0.6.0-py3-none-any.whl -
Subject digest:
c1fdcb79fd83cda962b92fb01a55787be21a217a5071be102e40be595fbc766b - Sigstore transparency entry: 2485459106
- Sigstore integration time:
-
Permalink:
fourMs/musiscape@f7910104bd8c2d756b8ccdc603aca44e7ce4f9f6 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/fourMs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f7910104bd8c2d756b8ccdc603aca44e7ce4f9f6 -
Trigger Event:
release
-
Statement type: