Skip to main content

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)

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

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

composition_entity_linker-0.0.6-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

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.

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

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