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)
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 decademuziqa_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 countrymuziqa_genre.png— tracks by genre
Note: The first run with
--countryor--genrequeries 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 inmuziqa_mb_cache.jsonso 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca51acda857db923dcea73d5692c2b8913339586a03f883d51d34e44667ed71
|
|
| MD5 |
eecbc10601ee91dc72118aa73460c9e0
|
|
| BLAKE2b-256 |
5cade7150869c0f13769776551ad2f610b763e96ca38ae44d32e80078d9cb3a6
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6547a1722f0fc398f9f1c8a2dd9e0cb1bd3b73687a18a544dee2b7bd6362580b
|
|
| MD5 |
4704e1852046a553743b970a519c4e54
|
|
| BLAKE2b-256 |
44ceddd9a8344c70d1a76e95cc03da6e6adca4d50ad1a479943084db0ed1f3cb
|