Skip to main content

Musiscape

CI docs PyPI version Python License: MIT

A toolbox for analysing music collections in the form of audio files in folders. The aim is to provide tools to visualise many tracks so you can compare them. It can help answer questions about how albums differ, which tracks resemble which, how internally consistent each album is, where the outliers live, and what categories the corpus falls into.

Musiscape is a sibling of ambiscape, which is focused on analysing soundscapes (including those with some music being played). The toolboxes share some analysis types, including circular statistics and Pierre Schaeffer-inspired typology machinery (ambiscape.music), tonal centres on the circle of fifths, and object-level TARSOM (Tableau rècapitulatif du solfège des objets musicaux) and TARTYP (Tableau rècapitulatif de la typologie).

See the documentation for guides and an illustrated gallery of the visualisation styles, and the wiki for methodology notes and a case study.

Install

pip install musiscape

Quickstart

A collection is simply a folder tree, where each subfolder holding audio files (mp3/wav/flac/ogg/m4a) is an album:

musiscape probe       ~/Music/my-collection    # what's here?
musiscape report      ~/Music/my-collection    # everything → analysis/README.md
musiscape fingerprint ~/Music/my-collection    # per-album profile bars
musiscape landscape   ~/Music/my-collection    # PCA similarity map + affinity
musiscape categorize  ~/Music/my-collection    # k-means with named signatures
musiscape thumbnails  ~/Music/my-collection --style combo   # per-track cards
musiscape poster      ~/Music/my-collection    # whole collection as one image
musiscape sonic       ~/Music/my-collection    # ~12 s audio summary per track

The seventeen thumbnail styles range from spectrograms and Freesound-style coloured waveforms through tonality vinyl discs, keyscapes and repetition arcs to Schaeffer-inspired TARTYP timelines, TARSOM roses and a stereo-field view. Posters stack every track as a harmony barcode, or lay the collection out as a grid of tonality discs (--style vinyl).

report produces a per-collection README.md with an album table (note density, brightness, dynamics, minor-key share, internal consistency, key-space clustering R), overview figures, self-explaining categories, and the corpus extremes. A category is named from the signed z-scores of the features that distinguish it, so it reads as "sparse, dark, drone-like" rather than as "cluster 3".

In Python

import musiscape
from musiscape import features, corpus, categorize

coll = musiscape.open_collection("~/Music/my-collection")
f = features.load_features(features.extract_collection(coll, "analysis"))
corpus.album_stats(f)      # per-album fingerprints
corpus.similarity(f)       # track matrix + album affinity/consistency
corpus.landscape(f)        # PCA coords, variance, loadings
corpus.tonal_spread(f)     # key-space clustering per album (circular)
categorize.cluster(f)      # interpretable categories

Combine with listening

This toolbox is meant for quick visualisations and overviews. Combine it with listening.

License

MIT.

Related toolboxes

These four 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, across level, spectral, spatial, temporal, ecological and source descriptors
  • micromotion—human micromotion: quantity of motion from optical markers, accelerometers, respiration belts and force plates

Download files

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

Source Distribution

musiscape-0.3.1.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

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

musiscape-0.3.1-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file musiscape-0.3.1.tar.gz.

File metadata

  • Download URL: musiscape-0.3.1.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for musiscape-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3add1b3584fee02d27300faf4f47bc803c3330d0e733278eb959457a8225973c
MD5 e62e61f9ea5e98d47bfaf5f47a889305
BLAKE2b-256 b6076c338916329d9a50d6262badb46a8d8b8692f20b927bd34b07717cf46f09

See more details on using hashes here.

Provenance

The following attestation bundles were made for musiscape-0.3.1.tar.gz:

Publisher: python-publish.yml on fourMs/musiscape

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

File details

Details for the file musiscape-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: musiscape-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for musiscape-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 264e2915de4e9454e061e39152c8a81396691225f517389a3d286e2947752be7
MD5 9b20973c11e8d97092af7471ad71e537
BLAKE2b-256 34b8e9d29d8596ce899b0aabb048434644823f4d9854c11ec53e4ba459a21fbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for musiscape-0.3.1-py3-none-any.whl:

Publisher: python-publish.yml on fourMs/musiscape

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

Release history Release notifications | RSS feed

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.3

2 files

0.3.2

2 files

This release

0.3.1 This release

2 files

0.3.0

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page