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
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
- Service Selection: Evaluates available metadata, selects best external service
- Information Retrieval: Connects to service API, searches for best match
- Filtering and Return: Filters results, returns enriched metadata
Usage Example
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
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