Skip to main content

App for various music-file-collection analyses (for example, chart of most popular artists in your MP3 collection)

Project description

muziqa

Analyze your music collection and generate interesting charts using command-line:

  • Top artists by track count
  • Tracks by decade
  • Tracks by year, with a 5-year rolling average of mean tracks per artist
  • Tracks by country (optional, see below)
  • Tracks by genre (optional, see below)

muziqa chart muziqa chart

Install

$ pipx install muziqa

Works on Linux, Mac. Probably Windows too, but I didn't test it.

Usage

No API keys, no accounts, no streaming service — just point muziqa to a folder of music files:

$ muziqa /path/to/music

Reads tags from all supported files in the folder and subfolders, and saves two charts:

  • muziqa.png — top artists + tracks by decade
  • muziqa_years.png — tracks by year with rolling average

Supported formats: MP3, FLAC, WAV, M4A, OGG

Country and genre charts

$ muziqa /path/to/music --country
$ muziqa /path/to/music --genre
$ muziqa /path/to/music --country --genre

Looks up each artist's country of origin and genre from MusicBrainz and saves additional charts:

  • muziqa_country.png — tracks by country
  • muziqa_genre.png — tracks by genre

muziqa chart muziqa chart

Note: The first run with --country or --genre queries MusicBrainz for every unique artist at 1 request/second (required by their API). For a large collection this can take a bit of time. Using both flags together does not double the time — data is fetched in a single pass. Results are cached in muziqa_mb_cache.json so subsequent runs are instant.

Note on "Unknown" genre: This means MusicBrainz either didn't find the artist or has no community-submitted genre tags for them. It does not affect the rest of the chart.

All options

Option Description
DIR Directory of music files to analyze
--flat Search only the given folder, not subfolders
--country Fetch artist countries from MusicBrainz and plot by country
--genre Fetch artist genres from MusicBrainz and plot by genre
--output FILE Output image filename (default: muziqa.png)
--top N Number of top entries to show (default: 20)

Examples

$ muziqa ~/Music
$ muziqa ~/Music --flat
$ muziqa ~/Music --country --genre
$ muziqa ~/Music --top 30 --output top30.png

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

muziqa-1.0.21.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

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

muziqa-1.0.21-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file muziqa-1.0.21.tar.gz.

File metadata

  • Download URL: muziqa-1.0.21.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for muziqa-1.0.21.tar.gz
Algorithm Hash digest
SHA256 3ca51acda857db923dcea73d5692c2b8913339586a03f883d51d34e44667ed71
MD5 eecbc10601ee91dc72118aa73460c9e0
BLAKE2b-256 5cade7150869c0f13769776551ad2f610b763e96ca38ae44d32e80078d9cb3a6

See more details on using hashes here.

File details

Details for the file muziqa-1.0.21-py3-none-any.whl.

File metadata

  • Download URL: muziqa-1.0.21-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for muziqa-1.0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 6547a1722f0fc398f9f1c8a2dd9e0cb1bd3b73687a18a544dee2b7bd6362580b
MD5 4704e1852046a553743b970a519c4e54
BLAKE2b-256 44ceddd9a8344c70d1a76e95cc03da6e6adca4d50ad1a479943084db0ed1f3cb

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