a1f6701bac
- gRPC service with MusicBrainz provider - PostgreSQL schema with migrations - Service layer with database-first caching - Repository pattern for data access - YAML configuration support - Research documentation for 17 music metadata projects
1.6 KiB
1.6 KiB
Harmony
Overview
Music Metadata Aggregator and MusicBrainz Importer. Looks up releases from multiple providers, harmonizes the data into a common format, and supports intelligent merging and MusicBrainz seeding.
Key Features
- Providers: MusicBrainz, Spotify, Deezer, Bandcamp, Beatport, iTunes, Tidal, KKBOX, Mora, Ototoy
- Lookup: By GTIN (barcode), URL, or provider-specific ID
- Merging: Intelligent algorithm to combine metadata from multiple sources
- Output: Harmonized data representation, MusicBrainz release seeding
- License: Not specified
Source
| Resource | URL |
|---|---|
| Repository | https://github.com/kellnerd/harmony |
| Live Demo | https://harmony.pulsewidth.org.uk |
Architecture
Built with:
- Runtime: Deno
- Framework: Fresh (web framework)
- API: REST
Key components:
providers/- Provider implementations for each sourcelookup.ts- Combined release lookup with parallel queriesharmonizer/- Data normalization and mergingserver/- Web app and API routes
How It Works
- Accept GTIN, URL, or provider ID
- Query matching providers in parallel
- Convert each response to harmonized format
- Merge results using intelligent algorithm
- Optionally seed to MusicBrainz
Self-Hosting
# Requires Deno
git clone https://github.com/kellnerd/harmony.git
cd harmony
deno task start
Notes
- Best multi-source aggregator with intelligent deduplication
- Permalink support for cached snapshots
- Automatic language/script detection
- Active development (218 stars)