Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lb-matching-tools-2024.1.30.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lb_matching_tools-2024.1.30.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file lb-matching-tools-2024.1.30.1.tar.gz.

File metadata

  • Download URL: lb-matching-tools-2024.1.30.1.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

Hashes for lb-matching-tools-2024.1.30.1.tar.gz
Algorithm Hash digest
SHA256 6472a035edcca7da1cb88b463b1f8377943cdf39b5224ced680387223f873a8c
MD5 b60f88f4daec4acd3be30716e1a535d8
BLAKE2b-256 a4545186e8be62ac2791b0ee6982ae05b8cf4404db8d57d59fa16ccd6c938b0b

See more details on using hashes here.

File details

Details for the file lb_matching_tools-2024.1.30.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lb_matching_tools-2024.1.30.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50aa957ee8f64dbcac6b738e3707a26a05e14af25f18ea0dce6b51c388cca3f0
MD5 404803885d68c0bc63dc6f64692c437c
BLAKE2b-256 17c4565d2124cf73e5683758818c3a7767634c8e8a5a8e67bbc7a0da38f39f0c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2024.1.30.1 This release

2 files

2024.1.30.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page