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
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user