Files
metadata-agregator/docs/research/musicmetalinker/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

69 lines
1.8 KiB
Markdown

# MusicMetaLinker
## Overview
Python library for entity linking and knowledge augmentation for music metadata. Links music tracks to external sources (MusicBrainz, AcousticBrainz, YouTube Music, Deezer) for metadata enrichment.
## Key Features
- **Purpose**: Entity linking across music databases
- **Sources**: MusicBrainz, AcousticBrainz, YouTube Music, Deezer
- **Matching**: Intelligent service selection based on available metadata
- **License**: MIT
## Source
| Resource | URL |
|----------|-----|
| **Repository** | https://github.com/andreamust/MusicMetaLinker |
| **PyPI** | https://pypi.org/project/MusicMetaLinker |
## How It Works
1. **Service Selection**: Evaluates available metadata, selects best external service
2. **Information Retrieval**: Connects to service API, searches for best match
3. **Filtering and Return**: Filters results, returns enriched metadata
## Usage Example
```python
from musicmetalinker import MusicMetaLinker
# Initialize with known metadata
linker = MusicMetaLinker(
track_name="Bohemian Rhapsody",
artist_name="Queen",
album_name="A Night at the Opera"
)
# Get linked metadata
track_name = linker.get_track()
artist_name = linker.get_artist()
album_name = linker.get_album()
duration = linker.get_duration()
isrc = linker.get_isrc()
# Get external IDs
links = {
'mbid': linker.get_mbid(),
'isrc': linker.get_isrc(),
'deezer_id': linker.get_deezer_id()
}
# Or query by single identifier
linker = MusicMetaLinker(mbid="b10bbbfc-cf9e-42e0-be17-e2c3e1d2600d")
linker = MusicMetaLinker(isrc="GBUM71029604")
```
## Installation
```bash
pip install MusicMetaLinker
```
## Notes
- Best for enriching existing metadata with external links
- Automatic service selection based on input
- Can query by MBID, ISRC, or Deezer ID directly