Skip to main content

Tool for linking classical music record & track to the corresponding composition / movement.

Project description

Composition Entity Linker (under development)

This is a tool for linking classical music record & track to the corresponding composition / movement, useful in cleaning up metadata in classical music datasets. Inputs are referenced through corpus crawled from https://imslp.org/wiki/Main_Page.

Install

pip install composition-entity-linker

Usage

from composition_entity_linker import CELlinker, Track
linker = CELlinker()

1. Query the composition from track name:

track = Track("Violin Sonata in A Major, Op. 162, D. 574 ""Grand Duo"": III. Andantino (Live)", composer="Franz Schubert")
result = linker.query(track)
"""
result: {
    "found_flag": True,
    "composition": "Violin Sonata in A major, D.574"
    "movement": "Andantino"
}
"""

2. Compare if the two tracks are refering to the same composition:

track1 = Track("Prelude and Fugue No. 2 in C Minor BWV 847", composer="Johann Sebastian Bach")
track2 = Track("Prelude & Fugue In C Minor (Well-Tempered Clavier, Book I, No. 2), BWV 847", composer="J.S. Bach")
linker.compare(track1, track2)
# return: True


track3 = Track("Das Wohltemperierte Klavier: Book 1, BWV 846-869: Fugue in C minor BWV 847", composer="Иоганн Себастьян Бах")
linker.compare(track1, track3)
# return: True

Track info

Although only the title is required, inputing composer name will improve matching accuracy and speed.

Track(title: str, 
    duration: float in ms,
    composer: str)

Project details


Download files

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

Source Distribution

composition_entity_linker-0.0.6.tar.gz (52.0 MB view details)

Uploaded Source

Built Distribution

File details

Details for the file composition_entity_linker-0.0.6.tar.gz.

File metadata

File hashes

Hashes for composition_entity_linker-0.0.6.tar.gz
Algorithm Hash digest
SHA256 7e72f3af01e917d84e5b15df4830e35a0f19de761531d81226747ffc4e19f209
MD5 0d5d99800e74600796879440beabc701
BLAKE2b-256 9c7600e6b19fd3457066be4e539cf62901a9a0b0a3f57a87d6b81b493b517120

See more details on using hashes here.

File details

Details for the file composition_entity_linker-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for composition_entity_linker-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cb71e064cdc8bcfad54c26ee8641cbe5d9d5af5c21fefa7d27514f09011649e4
MD5 94bf846e54eea598a5844a2885247a85
BLAKE2b-256 663eec0b775d791c910bcd683e6c8b8422b657cd3787041300175b236dc236fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page