ListenBrainz tools for matching metadata to and from MusicBrainz.
Project description
ListenBrainz matching tools
In the ListenBrainz project we've created a number of tools and techniques that allowed us to create the MBID Mapping sub-project. This project takes an artist name and a recording (track) name and attempts to find the best matching recording in MusicBrainz.
This library will contain code to facilitate matching non-MusicBrainz metadata to MusicBrainz (tag a music collection) and from MusicBrainz to non-MusicBrainz metadata (content resolution).
Metadata cleaner
One component in this toolkit is the metadata cleaner, which removes (often) useless gunk from a metadata recording string:
"Tabula Rasa (feat. Lorraine Weiss)" -> "Tabula Rasa"
"Don't Give up - 2001 remaster" -> "Don't Give up"
This library also supports artist name cleaning:
"Amy Winhouse, Lorraine Weiss" -> "Amy Winehouse"
When a piece of metadata fails to be identified the metadata should be run through the metadata cleaner in an effort to remove this useless gunk that might be preventing a match. If the cleaner sucessfully removes gunk, the cleaned metadata should be looked up again, hoping that a match will be found this time.
To use this class, instantiate the MetadataCleaner class and call the clean_recording or clean_artist methods:
from lb_matching_tools.cleaner import MetadataCleaner
mc = MetadataCleaner()
mc.clean_recording("Tabula Rasa (feat. Lorraine Weiss)")
mc.clean_artist("Amy Winhouse, Lorraine Weiss")
Installation
To install this python module, simply do:
pip install .
Development
Create virtual environment
python -m venv .venv
Install dependencies
pip install .
Running tests
To run the internal unit tests, run:
pip install .
./test.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lb-matching-tools-2024.1.30.0.tar.gz
.
File metadata
- Download URL: lb-matching-tools-2024.1.30.0.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb63e147d32be58c7edc09b595170101539087cdf49ba3763746b1f1a10f4369 |
|
MD5 | 8acd59e4911190ce4cb1fee27d877155 |
|
BLAKE2b-256 | 6746849308ee1634d3012dfbd3911659870508f343c12aa34ec3aa4582dc7588 |
File details
Details for the file lb_matching_tools-2024.1.30.0-py3-none-any.whl
.
File metadata
- Download URL: lb_matching_tools-2024.1.30.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d634df420b0d04fb9e5dceffddaca5de18ac7a3d829ac589933f649dcee7eb24 |
|
MD5 | 823f9f37b4334f95911c9556af316537 |
|
BLAKE2b-256 | 5048656a4fe4f8d519a31e139d1b9baf5cf4883905d05dcdde1f638f156abf94 |