Skip to main content

Unroll

Unroll is a Python module to ease transcription of piano rolls to sheet music. It transcribes either a MIDI file or a video of a piano roll. It finds the notes, the tempo, roughly separates the hands, and writes the result in a Lilypond file. In particular

You can use it like this:

# TO TRANSCRIBE FROM A VIDEO

from unroll import video2scan, rollscan2keystrikes
focus = lambda im : im[[156],58:478]
scan = video2scan(videofile = "limehouse_nights.mp4", focus = focus)
keystrikes = rollscan2keystrikes(scan)
keystrikes = ks.transposed(26)
keystrikes.transcribe('score.ly', quarter_durations = [2,10,0.02])

# TO TRANSCRIBE FROM A MIDI FILE

from unroll import midi2keystrikes
keystrikes = midi2keystrikes('tiger_rag.mid')
ks.transcribe('score.ly', quarter_durations = [50,100,0.02])

Then you must edit score.ly to correct the mistakes and when you are done you compile it with

lilypond score.ly

Installation

Unroll can be installed by unzipping the source code in one directory and using this command:

(sudo) python setup.py install

You can also install it directly from the Python Package Index (PYPI) with this command:

(sudo) pip unroll install

Contribute

Unroll is an open-source software originally written by Zulko and released under the MIT licence. The project is hosted on Github and everyone is welcome to contribute ! Please give feedback if you are using it and encounter difficulties.

Metadata

Release files for unroll 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for unroll 0.1.0
File Size Uploaded Provenance Actions
unroll-0.1.0.tar.gz 7.3 kB Without provenance Details for unroll-0.1.0.tar.gz

Release files / unroll-0.1.0.tar.gz

Download URL unroll-0.1.0.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2de37a1a04c3ee7a92c005a3798cb71a6addd1ba7136e454404785902121c753
BLAKE2b-256 checksum
How to use checksums
fe3c124bdf4276e582c8e4e23ce27c4462a259f6608df8e550d30f003f2b4189
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for unroll 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page