Skip to main content

meta-sonata

Tests macOS App PyPI Python 3.9+ MIT License

English | 简体中文

Meta Sonata turns incomplete music files into a clean, consistent library. Use the standalone macOS app for everyday organizing, or the CLI for batch work and automation.

macOS App

Drop in a track, review what Meta Sonata found, then drag the completed copy back to Finder. No Python, terminal, or separate service is required.

Download the latest Apple-silicon DMG.

Meta Sonata macOS app completing a music file

Demo media attribution

What You Get

  • Complete music files: fill missing album details, dates, artwork, and synced lyrics in one pass.
  • A consistent library: Meta Sonata recognizes the same song across singles, albums, and compilations while preserving each release's own details.
  • A safe original: the app creates a new completed copy and never changes the source file.
  • One place to browse: open a music folder to view its tags, artwork, audio details, and lyrics.
  • Work that keeps moving: if one online source is unavailable, Meta Sonata continues with the information and sources it can use.

The app supports English, Simplified Chinese, Traditional Chinese, Japanese, Korean, French, German, Spanish, and Brazilian Portuguese.

The macOS download is signed with Developer ID and notarized by Apple.

CLI Quick Start

pipx install meta-sonata

Or install it with uv:

uv tool install meta-sonata

Preview the metadata Meta Sonata finds. Nothing is written:

meta-sonata enrich "/music/album"

Fetch and write metadata, cover art, and lyrics in one step:

meta-sonata enrich "/music/album" --write

Both commands accept an album folder or a larger music directory. Existing tags, filenames, and folder structure are trusted first; online sources fill the gaps.

meta-sonata CLI preview and write workflow

Preview before writing:

scan: root=/music/album files=12 album_groups=1 loose_tracks=0 max_depth=3
resolve: 1/1 /music/album
lyrics: 1/1 /music/album
dry run: 1 plan(s)
- album: Artist / Album: artist=Artist  album=Album  year=2006  tracks=12  confidence=0.96  lyrics=11/12
nothing written; pass --write to apply

enrich enables metadata lookup, cover lookup, and lyrics by default. It scans up to three directory levels; use --max-depth N or --recursive when needed.

What It Can Fill

Area Fields
Identity title, artist, album artist, album, track/disc number
Release date, label, catalog number, barcode, release type
Media embedded cover art, synced LRC, plain lyrics

Album metadata sources: MusicBrainz, iTunes, and NetEase.

Lyric sources: QQ Music, NetEase, KuGou, KuWo, and Migu.

meta-sonata sources

Put It in a Pipeline

Run it after download/extraction/CUE splitting and before the final library sync:

meta-sonata enrich "/staging/new-music" \
  --changed-only \
  --state-dir "/var/lib/meta-sonata" \
  --write

Incremental state stays outside music folders. No marker files are added to albums.

Optional Metadata Browser

meta-sonata web "/music" --host 127.0.0.1 --port 8765

Open http://127.0.0.1:8765/ to browse audio files, core tags, source IDs, technical details, covers, and embedded lyrics. The web UI has no write endpoints.

meta-sonata read-only metadata browser

Shown with CC-licensed audio and artwork from Nine Inch Nails' The Slip. See the asset attribution.

Safety

  • Every write command is a dry run unless --write is present.
  • Low-confidence lyrics and ambiguous release identities are skipped.
  • Mixed loose tracks are not forced into a fake album.
  • Real libraries can be protected with META_SONATA_PROTECTED_PATHS.
  • Tests generate silent FLAC files; no copyrighted media is committed.

More

Python 3.9+ is supported. The project is currently an early 0.2.x release; unofficial provider endpoints may change or be rate-limited.

Metadata

Release files for meta-sonata 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meta-sonata 0.2.1
File Size Uploaded
meta_sonata-0.2.1.tar.gz 100.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meta-sonata 0.2.1
File Interpreter ABI Platform
meta_sonata-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 194.6 kB

Release files / meta_sonata-0.2.1.tar.gz

Download URL meta_sonata-0.2.1.tar.gz
Size 100.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cc18190d20f9a5d4e9613ee649a625e3eec96d59f6c8a89442de77539b8de980
BLAKE2b-256 checksum
How to use checksums
09ad414ef237dee83c4445162a66f29c1ef1028d21e8f59b6ffd5827b967858d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release files / meta_sonata-0.2.1-py3-none-any.whl

Download URL meta_sonata-0.2.1-py3-none-any.whl
Size 94.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5074ddcb118025136f03727bdb1a2c7182b5274467c3f153f6a770d7b8474003
BLAKE2b-256 checksum
How to use checksums
aadc3a1633cbe547583919beae7cdb8cf9e4c10416e3d8be7fdef2adc0522418
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release 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