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
69 lines
1.8 KiB
Markdown
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
|