Skip to content

Advanced automatic fingering generator for piano scores, determining optimal fingering using Model-Based Reinforcement Learning, written in the Julia language.

License

Notifications You must be signed in to change notification settings

mobilestack/PianoFingering.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PianoFingering.jl

PianoFingering.jl is an automatic fingering generator for piano scores, written in the Julia language.

image

THIS PACKAGE ONLY TESTED ON LINUX.

How to use it

Pre-requirement

Prompt: You can copy all following commands start with ❯

Install Python (>3.10) and Julia (>1.8).

Make sure:

❯ python -V
Python 3.10.10
❯ julia -v
julia version 1.8.0

Install music21:

❯ pip3 install –upgrade music21

Clone this project to your computer and change directory to PianoFingering.jl folder, then:

❯ julia
❯ using Pkg
❯ Pkg.activate(".")
❯ Pkg.instantiate()

Now you have installed all the dependency. Close your terminal.

Run Programe

  1. Put your .musicxml file to musicxml folder, suppose we have an example.musicxml file right now.

  2. Change directory to PianoFingering.jl folder:

❯ julia -t auto
❯ using Pkg
❯ Pkg.activate(".")
❯ using PianoFingering
❯ fingering("example")

Wait for the program to complete, annotated piano score example_output.musicxml will be stored in output folder, this may take a few minutes.

Feedback

If you encounter error, or musicxml file can't fingering correctly. Please open a issue and upload your musicxml file.

About

Advanced automatic fingering generator for piano scores, determining optimal fingering using Model-Based Reinforcement Learning, written in the Julia language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%