Files
metadata-agregator/docs/research/harmony/README.md
T
Alexander a1f6701bac feat: initial implementation of metadata aggregator
- 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
2026-04-28 16:28:53 +02:00

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)