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
58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
# 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 source
|
|
- `lookup.ts` - Combined release lookup with parallel queries
|
|
- `harmonizer/` - Data normalization and merging
|
|
- `server/` - Web app and API routes
|
|
|
|
## How It Works
|
|
|
|
1. Accept GTIN, URL, or provider ID
|
|
2. Query matching providers in parallel
|
|
3. Convert each response to harmonized format
|
|
4. Merge results using intelligent algorithm
|
|
5. Optionally seed to MusicBrainz
|
|
|
|
## Self-Hosting
|
|
|
|
```bash
|
|
# 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)
|