diff --git a/README.md b/README.md index 305bbe57c0d7296c8bcdf03c481bb18a6000a40c..b8f35e8e95c8a23292aea0ec5ff14bc1cfc03878 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,9 @@ pinned: false Sheet Music generation for easier sight reading practice for musicians. Musicians often struggle at finding new sheet music to practice sight reading. Finding new sheet music to practice is particularly important as musicians playing same melodies over and over unknowingly memorize it, which would defeat the purpose of practising to sight-reading. Hence to practice sight-reading for musician, it is crucial to get new and unseen sheet music every now and then which is difficult. This project aims at developing a probabilistic algorithm (Markov Model) for generating music of appropriate complexity, in a range of appropriate keys and tempos. Markov models were chosen over deep learning models due to their overhead of required resources which didn’t give a considerable advantage over Markov Models. As a secondary objective we will also explore the possibility of generating music specific to different instruments taking into account the limitation of specific instruments. + + +How to run the project: +```sh +python app.py +``` diff --git a/__pycache__/markov.cpython-39.pyc b/__pycache__/markov.cpython-39.pyc index 64f5c11a578693e6b00208e720a5cc48d5e65103..6c7952bf0dbf58cd035477118195cebb905dd581 100644 Binary files a/__pycache__/markov.cpython-39.pyc and b/__pycache__/markov.cpython-39.pyc differ diff --git a/__pycache__/music.cpython-39.pyc b/__pycache__/music.cpython-39.pyc index 62f760f62e02ebfabcdbc8008ba7b45ce5665189..663d35a747ff06cd1177e2e5027df43acf6fe5c6 100644 Binary files a/__pycache__/music.cpython-39.pyc and b/__pycache__/music.cpython-39.pyc differ diff --git a/app.py b/app.py index b56cd0a8d74676ef8bfe430be65740edc5b7345b..35da6c683f57a6a77a8f4b28986253aff4ba2323 100644 --- a/app.py +++ b/app.py @@ -1,16 +1,18 @@ from music import music_gen import gradio as gr import os - +from music import GlobalUIGallery keysignature = ["C","G","D","No selection"] difficulty = ["beginner","intermediate","expert"] -timesignature = ['3/4','4/4','1/8','C|'] +timesignature = ['3/4','4/4','1/8'] + +output = gr.Gallery() if GlobalUIGallery else "image" interface = gr.Interface(fn = music_gen, inputs=[gr.Radio(difficulty,label="Difficulty"), gr.Radio(timesignature,label="Time Signature"), gr.Dropdown(keysignature,label="Key Signature")], -outputs = ["image","audio"], +outputs = [gr.Gallery(label="Sheet Music"),gr.Audio(label="Audio")], title="Sheet Music Generation for Sight-Reading", description="TO be added") -interface.launch(inline=False) +interface.launch(inline=False) \ No newline at end of file diff --git a/data/expert/40.abc b/data/beginner/40.abc similarity index 100% rename from data/expert/40.abc rename to data/beginner/40.abc diff --git a/data/expert/45.abc b/data/beginner/45.abc similarity index 100% rename from data/expert/45.abc rename to data/beginner/45.abc diff --git a/data/converted/BR_IM6.abc b/data/expert/BR_IM6.abc similarity index 100% rename from data/converted/BR_IM6.abc rename to data/expert/BR_IM6.abc diff --git a/data/converted/DEB_CLAI.abc b/data/expert/DEB_CLAI.abc similarity index 100% rename from data/converted/DEB_CLAI.abc rename to data/expert/DEB_CLAI.abc diff --git a/data/converted/DEB_PASS.abc b/data/expert/DEB_PASS.abc similarity index 100% rename from data/converted/DEB_PASS.abc rename to data/expert/DEB_PASS.abc diff --git a/data/converted/alb_esp1.abc b/data/expert/alb_esp1.abc similarity index 100% rename from data/converted/alb_esp1.abc rename to data/expert/alb_esp1.abc diff --git a/data/converted/alb_esp2.abc b/data/expert/alb_esp2.abc similarity index 100% rename from data/converted/alb_esp2.abc rename to data/expert/alb_esp2.abc diff --git a/data/converted/alb_esp3.abc b/data/expert/alb_esp3.abc similarity index 100% rename from data/converted/alb_esp3.abc rename to data/expert/alb_esp3.abc diff --git a/data/converted/alb_esp4.abc b/data/expert/alb_esp4.abc similarity index 100% rename from data/converted/alb_esp4.abc rename to data/expert/alb_esp4.abc diff --git a/data/converted/alb_esp5.abc b/data/expert/alb_esp5.abc similarity index 100% rename from data/converted/alb_esp5.abc rename to data/expert/alb_esp5.abc diff --git a/data/converted/alb_esp6.abc b/data/expert/alb_esp6.abc similarity index 100% rename from data/converted/alb_esp6.abc rename to data/expert/alb_esp6.abc diff --git a/data/converted/alb_se1.abc b/data/expert/alb_se1.abc similarity index 100% rename from data/converted/alb_se1.abc rename to data/expert/alb_se1.abc diff --git a/data/converted/alb_se2.abc b/data/expert/alb_se2.abc similarity index 100% rename from data/converted/alb_se2.abc rename to data/expert/alb_se2.abc diff --git a/data/converted/alb_se3.abc b/data/expert/alb_se3.abc similarity index 100% rename from data/converted/alb_se3.abc rename to data/expert/alb_se3.abc diff --git a/data/converted/alb_se4.abc b/data/expert/alb_se4.abc similarity index 100% rename from data/converted/alb_se4.abc rename to data/expert/alb_se4.abc diff --git a/data/converted/alb_se5.abc b/data/expert/alb_se5.abc similarity index 100% rename from data/converted/alb_se5.abc rename to data/expert/alb_se5.abc diff --git a/data/converted/alb_se6.abc b/data/expert/alb_se6.abc similarity index 100% rename from data/converted/alb_se6.abc rename to data/expert/alb_se6.abc diff --git a/data/converted/alb_se7.abc b/data/expert/alb_se7.abc similarity index 100% rename from data/converted/alb_se7.abc rename to data/expert/alb_se7.abc diff --git a/data/converted/alb_se8.abc b/data/expert/alb_se8.abc similarity index 100% rename from data/converted/alb_se8.abc rename to data/expert/alb_se8.abc diff --git a/data/converted/appass_1.abc b/data/expert/appass_1.abc similarity index 100% rename from data/converted/appass_1.abc rename to data/expert/appass_1.abc diff --git a/data/converted/appass_2.abc b/data/expert/appass_2.abc similarity index 100% rename from data/converted/appass_2.abc rename to data/expert/appass_2.abc diff --git a/data/converted/appass_3.abc b/data/expert/appass_3.abc similarity index 100% rename from data/converted/appass_3.abc rename to data/expert/appass_3.abc diff --git a/data/converted/bach_846.abc b/data/expert/bach_846.abc similarity index 100% rename from data/converted/bach_846.abc rename to data/expert/bach_846.abc diff --git a/data/converted/bach_847.abc b/data/expert/bach_847.abc similarity index 100% rename from data/converted/bach_847.abc rename to data/expert/bach_847.abc diff --git a/data/converted/bach_850.abc b/data/expert/bach_850.abc similarity index 100% rename from data/converted/bach_850.abc rename to data/expert/bach_850.abc diff --git a/data/converted/beethoven_hammerklavier_1.abc b/data/expert/beethoven_hammerklavier_1.abc similarity index 100% rename from data/converted/beethoven_hammerklavier_1.abc rename to data/expert/beethoven_hammerklavier_1.abc diff --git a/data/converted/beethoven_hammerklavier_2.abc b/data/expert/beethoven_hammerklavier_2.abc similarity index 100% rename from data/converted/beethoven_hammerklavier_2.abc rename to data/expert/beethoven_hammerklavier_2.abc diff --git a/data/converted/beethoven_hammerklavier_3.abc b/data/expert/beethoven_hammerklavier_3.abc similarity index 100% rename from data/converted/beethoven_hammerklavier_3.abc rename to data/expert/beethoven_hammerklavier_3.abc diff --git a/data/converted/beethoven_hammerklavier_4.abc b/data/expert/beethoven_hammerklavier_4.abc similarity index 100% rename from data/converted/beethoven_hammerklavier_4.abc rename to data/expert/beethoven_hammerklavier_4.abc diff --git a/data/converted/beethoven_les_adieux_1.abc b/data/expert/beethoven_les_adieux_1.abc similarity index 100% rename from data/converted/beethoven_les_adieux_1.abc rename to data/expert/beethoven_les_adieux_1.abc diff --git a/data/converted/beethoven_les_adieux_2.abc b/data/expert/beethoven_les_adieux_2.abc similarity index 100% rename from data/converted/beethoven_les_adieux_2.abc rename to data/expert/beethoven_les_adieux_2.abc diff --git a/data/converted/beethoven_les_adieux_3.abc b/data/expert/beethoven_les_adieux_3.abc similarity index 100% rename from data/converted/beethoven_les_adieux_3.abc rename to data/expert/beethoven_les_adieux_3.abc diff --git a/data/converted/beethoven_opus10_1.abc b/data/expert/beethoven_opus10_1.abc similarity index 100% rename from data/converted/beethoven_opus10_1.abc rename to data/expert/beethoven_opus10_1.abc diff --git a/data/converted/beethoven_opus10_2.abc b/data/expert/beethoven_opus10_2.abc similarity index 100% rename from data/converted/beethoven_opus10_2.abc rename to data/expert/beethoven_opus10_2.abc diff --git a/data/converted/beethoven_opus10_3.abc b/data/expert/beethoven_opus10_3.abc similarity index 100% rename from data/converted/beethoven_opus10_3.abc rename to data/expert/beethoven_opus10_3.abc diff --git a/data/converted/beethoven_opus22_1.abc b/data/expert/beethoven_opus22_1.abc similarity index 100% rename from data/converted/beethoven_opus22_1.abc rename to data/expert/beethoven_opus22_1.abc diff --git a/data/converted/beethoven_opus22_2.abc b/data/expert/beethoven_opus22_2.abc similarity index 100% rename from data/converted/beethoven_opus22_2.abc rename to data/expert/beethoven_opus22_2.abc diff --git a/data/converted/beethoven_opus22_3.abc b/data/expert/beethoven_opus22_3.abc similarity index 100% rename from data/converted/beethoven_opus22_3.abc rename to data/expert/beethoven_opus22_3.abc diff --git a/data/converted/beethoven_opus22_4.abc b/data/expert/beethoven_opus22_4.abc similarity index 100% rename from data/converted/beethoven_opus22_4.abc rename to data/expert/beethoven_opus22_4.abc diff --git a/data/converted/beethoven_opus90_1.abc b/data/expert/beethoven_opus90_1.abc similarity index 100% rename from data/converted/beethoven_opus90_1.abc rename to data/expert/beethoven_opus90_1.abc diff --git a/data/converted/beethoven_opus90_2.abc b/data/expert/beethoven_opus90_2.abc similarity index 100% rename from data/converted/beethoven_opus90_2.abc rename to data/expert/beethoven_opus90_2.abc diff --git a/data/converted/bor_ps1.abc b/data/expert/bor_ps1.abc similarity index 100% rename from data/converted/bor_ps1.abc rename to data/expert/bor_ps1.abc diff --git a/data/converted/bor_ps2.abc b/data/expert/bor_ps2.abc similarity index 100% rename from data/converted/bor_ps2.abc rename to data/expert/bor_ps2.abc diff --git a/data/converted/bor_ps3.abc b/data/expert/bor_ps3.abc similarity index 100% rename from data/converted/bor_ps3.abc rename to data/expert/bor_ps3.abc diff --git a/data/converted/bor_ps4.abc b/data/expert/bor_ps4.abc similarity index 100% rename from data/converted/bor_ps4.abc rename to data/expert/bor_ps4.abc diff --git a/data/converted/bor_ps5.abc b/data/expert/bor_ps5.abc similarity index 100% rename from data/converted/bor_ps5.abc rename to data/expert/bor_ps5.abc diff --git a/data/converted/bor_ps6.abc b/data/expert/bor_ps6.abc similarity index 100% rename from data/converted/bor_ps6.abc rename to data/expert/bor_ps6.abc diff --git a/data/converted/bor_ps7.abc b/data/expert/bor_ps7.abc similarity index 100% rename from data/converted/bor_ps7.abc rename to data/expert/bor_ps7.abc diff --git a/data/converted/br_im2.abc b/data/expert/br_im2.abc similarity index 100% rename from data/converted/br_im2.abc rename to data/expert/br_im2.abc diff --git a/data/converted/br_im5.abc b/data/expert/br_im5.abc similarity index 100% rename from data/converted/br_im5.abc rename to data/expert/br_im5.abc diff --git a/data/converted/br_rhap.abc b/data/expert/br_rhap.abc similarity index 100% rename from data/converted/br_rhap.abc rename to data/expert/br_rhap.abc diff --git a/data/converted/brahms_opus117_1.abc b/data/expert/brahms_opus117_1.abc similarity index 100% rename from data/converted/brahms_opus117_1.abc rename to data/expert/brahms_opus117_1.abc diff --git a/data/converted/brahms_opus117_2.abc b/data/expert/brahms_opus117_2.abc similarity index 100% rename from data/converted/brahms_opus117_2.abc rename to data/expert/brahms_opus117_2.abc diff --git a/data/converted/brahms_opus1_1.abc b/data/expert/brahms_opus1_1.abc similarity index 100% rename from data/converted/brahms_opus1_1.abc rename to data/expert/brahms_opus1_1.abc diff --git a/data/converted/brahms_opus1_2.abc b/data/expert/brahms_opus1_2.abc similarity index 100% rename from data/converted/brahms_opus1_2.abc rename to data/expert/brahms_opus1_2.abc diff --git a/data/converted/brahms_opus1_3.abc b/data/expert/brahms_opus1_3.abc similarity index 100% rename from data/converted/brahms_opus1_3.abc rename to data/expert/brahms_opus1_3.abc diff --git a/data/converted/brahms_opus1_4.abc b/data/expert/brahms_opus1_4.abc similarity index 100% rename from data/converted/brahms_opus1_4.abc rename to data/expert/brahms_opus1_4.abc diff --git a/data/converted/burg_agitato.abc b/data/expert/burg_agitato.abc similarity index 100% rename from data/converted/burg_agitato.abc rename to data/expert/burg_agitato.abc diff --git a/data/converted/burg_erwachen.abc b/data/expert/burg_erwachen.abc similarity index 100% rename from data/converted/burg_erwachen.abc rename to data/expert/burg_erwachen.abc diff --git a/data/converted/burg_geschwindigkeit.abc b/data/expert/burg_geschwindigkeit.abc similarity index 100% rename from data/converted/burg_geschwindigkeit.abc rename to data/expert/burg_geschwindigkeit.abc diff --git a/data/converted/burg_gewitter.abc b/data/expert/burg_gewitter.abc similarity index 100% rename from data/converted/burg_gewitter.abc rename to data/expert/burg_gewitter.abc diff --git a/data/converted/burg_perlen.abc b/data/expert/burg_perlen.abc similarity index 100% rename from data/converted/burg_perlen.abc rename to data/expert/burg_perlen.abc diff --git a/data/converted/burg_quelle.abc b/data/expert/burg_quelle.abc similarity index 100% rename from data/converted/burg_quelle.abc rename to data/expert/burg_quelle.abc diff --git a/data/converted/burg_spinnerlied.abc b/data/expert/burg_spinnerlied.abc similarity index 100% rename from data/converted/burg_spinnerlied.abc rename to data/expert/burg_spinnerlied.abc diff --git a/data/converted/burg_sylphen.abc b/data/expert/burg_sylphen.abc similarity index 100% rename from data/converted/burg_sylphen.abc rename to data/expert/burg_sylphen.abc diff --git a/data/converted/burg_trennung.abc b/data/expert/burg_trennung.abc similarity index 100% rename from data/converted/burg_trennung.abc rename to data/expert/burg_trennung.abc diff --git a/data/converted/chp_op18.abc b/data/expert/chp_op18.abc similarity index 100% rename from data/converted/chp_op18.abc rename to data/expert/chp_op18.abc diff --git a/data/converted/chp_op31.abc b/data/expert/chp_op31.abc similarity index 100% rename from data/converted/chp_op31.abc rename to data/expert/chp_op31.abc diff --git a/data/converted/chpn-p1.abc b/data/expert/chpn-p1.abc similarity index 100% rename from data/converted/chpn-p1.abc rename to data/expert/chpn-p1.abc diff --git a/data/converted/chpn-p10.abc b/data/expert/chpn-p10.abc similarity index 100% rename from data/converted/chpn-p10.abc rename to data/expert/chpn-p10.abc diff --git a/data/converted/chpn-p11.abc b/data/expert/chpn-p11.abc similarity index 100% rename from data/converted/chpn-p11.abc rename to data/expert/chpn-p11.abc diff --git a/data/converted/chpn-p12.abc b/data/expert/chpn-p12.abc similarity index 100% rename from data/converted/chpn-p12.abc rename to data/expert/chpn-p12.abc diff --git a/data/converted/chpn-p13.abc b/data/expert/chpn-p13.abc similarity index 100% rename from data/converted/chpn-p13.abc rename to data/expert/chpn-p13.abc diff --git a/data/converted/chpn-p14.abc b/data/expert/chpn-p14.abc similarity index 100% rename from data/converted/chpn-p14.abc rename to data/expert/chpn-p14.abc diff --git a/data/converted/chpn-p15.abc b/data/expert/chpn-p15.abc similarity index 100% rename from data/converted/chpn-p15.abc rename to data/expert/chpn-p15.abc diff --git a/data/converted/chpn-p16.abc b/data/expert/chpn-p16.abc similarity index 100% rename from data/converted/chpn-p16.abc rename to data/expert/chpn-p16.abc diff --git a/data/converted/chpn-p17.abc b/data/expert/chpn-p17.abc similarity index 100% rename from data/converted/chpn-p17.abc rename to data/expert/chpn-p17.abc diff --git a/data/converted/chpn-p18.abc b/data/expert/chpn-p18.abc similarity index 100% rename from data/converted/chpn-p18.abc rename to data/expert/chpn-p18.abc diff --git a/data/converted/chpn-p19.abc b/data/expert/chpn-p19.abc similarity index 100% rename from data/converted/chpn-p19.abc rename to data/expert/chpn-p19.abc diff --git a/data/converted/chpn-p2.abc b/data/expert/chpn-p2.abc similarity index 100% rename from data/converted/chpn-p2.abc rename to data/expert/chpn-p2.abc diff --git a/data/converted/chpn-p20.abc b/data/expert/chpn-p20.abc similarity index 100% rename from data/converted/chpn-p20.abc rename to data/expert/chpn-p20.abc diff --git a/data/converted/chpn-p21.abc b/data/expert/chpn-p21.abc similarity index 100% rename from data/converted/chpn-p21.abc rename to data/expert/chpn-p21.abc diff --git a/data/converted/chpn-p22.abc b/data/expert/chpn-p22.abc similarity index 100% rename from data/converted/chpn-p22.abc rename to data/expert/chpn-p22.abc diff --git a/data/converted/chpn-p23.abc b/data/expert/chpn-p23.abc similarity index 100% rename from data/converted/chpn-p23.abc rename to data/expert/chpn-p23.abc diff --git a/data/converted/chpn-p24.abc b/data/expert/chpn-p24.abc similarity index 100% rename from data/converted/chpn-p24.abc rename to data/expert/chpn-p24.abc diff --git a/data/converted/chpn-p3.abc b/data/expert/chpn-p3.abc similarity index 100% rename from data/converted/chpn-p3.abc rename to data/expert/chpn-p3.abc diff --git a/data/converted/chpn-p4.abc b/data/expert/chpn-p4.abc similarity index 100% rename from data/converted/chpn-p4.abc rename to data/expert/chpn-p4.abc diff --git a/data/converted/chpn-p5.abc b/data/expert/chpn-p5.abc similarity index 100% rename from data/converted/chpn-p5.abc rename to data/expert/chpn-p5.abc diff --git a/data/converted/chpn-p6.abc b/data/expert/chpn-p6.abc similarity index 100% rename from data/converted/chpn-p6.abc rename to data/expert/chpn-p6.abc diff --git a/data/converted/chpn-p7.abc b/data/expert/chpn-p7.abc similarity index 100% rename from data/converted/chpn-p7.abc rename to data/expert/chpn-p7.abc diff --git a/data/converted/chpn-p8.abc b/data/expert/chpn-p8.abc similarity index 100% rename from data/converted/chpn-p8.abc rename to data/expert/chpn-p8.abc diff --git a/data/converted/chpn-p9.abc b/data/expert/chpn-p9.abc similarity index 100% rename from data/converted/chpn-p9.abc rename to data/expert/chpn-p9.abc diff --git a/data/converted/chpn_op10_e01.abc b/data/expert/chpn_op10_e01.abc similarity index 100% rename from data/converted/chpn_op10_e01.abc rename to data/expert/chpn_op10_e01.abc diff --git a/data/converted/chpn_op10_e05.abc b/data/expert/chpn_op10_e05.abc similarity index 100% rename from data/converted/chpn_op10_e05.abc rename to data/expert/chpn_op10_e05.abc diff --git a/data/converted/chpn_op10_e12.abc b/data/expert/chpn_op10_e12.abc similarity index 100% rename from data/converted/chpn_op10_e12.abc rename to data/expert/chpn_op10_e12.abc diff --git a/data/converted/chpn_op23.abc b/data/expert/chpn_op23.abc similarity index 100% rename from data/converted/chpn_op23.abc rename to data/expert/chpn_op23.abc diff --git a/data/converted/chpn_op25_e1.abc b/data/expert/chpn_op25_e1.abc similarity index 100% rename from data/converted/chpn_op25_e1.abc rename to data/expert/chpn_op25_e1.abc diff --git a/data/converted/chpn_op25_e11.abc b/data/expert/chpn_op25_e11.abc similarity index 100% rename from data/converted/chpn_op25_e11.abc rename to data/expert/chpn_op25_e11.abc diff --git a/data/converted/chpn_op25_e12.abc b/data/expert/chpn_op25_e12.abc similarity index 100% rename from data/converted/chpn_op25_e12.abc rename to data/expert/chpn_op25_e12.abc diff --git a/data/converted/chpn_op25_e2.abc b/data/expert/chpn_op25_e2.abc similarity index 100% rename from data/converted/chpn_op25_e2.abc rename to data/expert/chpn_op25_e2.abc diff --git a/data/converted/chpn_op25_e3.abc b/data/expert/chpn_op25_e3.abc similarity index 100% rename from data/converted/chpn_op25_e3.abc rename to data/expert/chpn_op25_e3.abc diff --git a/data/converted/chpn_op25_e4.abc b/data/expert/chpn_op25_e4.abc similarity index 100% rename from data/converted/chpn_op25_e4.abc rename to data/expert/chpn_op25_e4.abc diff --git a/data/converted/chpn_op27_1.abc b/data/expert/chpn_op27_1.abc similarity index 100% rename from data/converted/chpn_op27_1.abc rename to data/expert/chpn_op27_1.abc diff --git a/data/converted/chpn_op27_2.abc b/data/expert/chpn_op27_2.abc similarity index 100% rename from data/converted/chpn_op27_2.abc rename to data/expert/chpn_op27_2.abc diff --git a/data/converted/chpn_op33_2.abc b/data/expert/chpn_op33_2.abc similarity index 100% rename from data/converted/chpn_op33_2.abc rename to data/expert/chpn_op33_2.abc diff --git a/data/converted/chpn_op33_4.abc b/data/expert/chpn_op33_4.abc similarity index 100% rename from data/converted/chpn_op33_4.abc rename to data/expert/chpn_op33_4.abc diff --git a/data/converted/chpn_op35_1.abc b/data/expert/chpn_op35_1.abc similarity index 100% rename from data/converted/chpn_op35_1.abc rename to data/expert/chpn_op35_1.abc diff --git a/data/converted/chpn_op35_2.abc b/data/expert/chpn_op35_2.abc similarity index 100% rename from data/converted/chpn_op35_2.abc rename to data/expert/chpn_op35_2.abc diff --git a/data/converted/chpn_op35_3.abc b/data/expert/chpn_op35_3.abc similarity index 100% rename from data/converted/chpn_op35_3.abc rename to data/expert/chpn_op35_3.abc diff --git a/data/converted/chpn_op35_4.abc b/data/expert/chpn_op35_4.abc similarity index 100% rename from data/converted/chpn_op35_4.abc rename to data/expert/chpn_op35_4.abc diff --git a/data/converted/chpn_op53.abc b/data/expert/chpn_op53.abc similarity index 100% rename from data/converted/chpn_op53.abc rename to data/expert/chpn_op53.abc diff --git a/data/converted/chpn_op66.abc b/data/expert/chpn_op66.abc similarity index 100% rename from data/converted/chpn_op66.abc rename to data/expert/chpn_op66.abc diff --git a/data/converted/chpn_op7_1.abc b/data/expert/chpn_op7_1.abc similarity index 100% rename from data/converted/chpn_op7_1.abc rename to data/expert/chpn_op7_1.abc diff --git a/data/converted/chpn_op7_2.abc b/data/expert/chpn_op7_2.abc similarity index 100% rename from data/converted/chpn_op7_2.abc rename to data/expert/chpn_op7_2.abc diff --git a/data/converted/clementi_opus36_1_1.abc b/data/expert/clementi_opus36_1_1.abc similarity index 100% rename from data/converted/clementi_opus36_1_1.abc rename to data/expert/clementi_opus36_1_1.abc diff --git a/data/converted/clementi_opus36_1_2.abc b/data/expert/clementi_opus36_1_2.abc similarity index 100% rename from data/converted/clementi_opus36_1_2.abc rename to data/expert/clementi_opus36_1_2.abc diff --git a/data/converted/clementi_opus36_1_3.abc b/data/expert/clementi_opus36_1_3.abc similarity index 100% rename from data/converted/clementi_opus36_1_3.abc rename to data/expert/clementi_opus36_1_3.abc diff --git a/data/converted/clementi_opus36_2_1.abc b/data/expert/clementi_opus36_2_1.abc similarity index 100% rename from data/converted/clementi_opus36_2_1.abc rename to data/expert/clementi_opus36_2_1.abc diff --git a/data/converted/clementi_opus36_2_2.abc b/data/expert/clementi_opus36_2_2.abc similarity index 100% rename from data/converted/clementi_opus36_2_2.abc rename to data/expert/clementi_opus36_2_2.abc diff --git a/data/converted/clementi_opus36_2_3.abc b/data/expert/clementi_opus36_2_3.abc similarity index 100% rename from data/converted/clementi_opus36_2_3.abc rename to data/expert/clementi_opus36_2_3.abc diff --git a/data/converted/clementi_opus36_3_1.abc b/data/expert/clementi_opus36_3_1.abc similarity index 100% rename from data/converted/clementi_opus36_3_1.abc rename to data/expert/clementi_opus36_3_1.abc diff --git a/data/converted/clementi_opus36_3_2.abc b/data/expert/clementi_opus36_3_2.abc similarity index 100% rename from data/converted/clementi_opus36_3_2.abc rename to data/expert/clementi_opus36_3_2.abc diff --git a/data/converted/clementi_opus36_3_3.abc b/data/expert/clementi_opus36_3_3.abc similarity index 100% rename from data/converted/clementi_opus36_3_3.abc rename to data/expert/clementi_opus36_3_3.abc diff --git a/data/converted/clementi_opus36_4_1.abc b/data/expert/clementi_opus36_4_1.abc similarity index 100% rename from data/converted/clementi_opus36_4_1.abc rename to data/expert/clementi_opus36_4_1.abc diff --git a/data/converted/clementi_opus36_4_2.abc b/data/expert/clementi_opus36_4_2.abc similarity index 100% rename from data/converted/clementi_opus36_4_2.abc rename to data/expert/clementi_opus36_4_2.abc diff --git a/data/converted/clementi_opus36_4_3.abc b/data/expert/clementi_opus36_4_3.abc similarity index 100% rename from data/converted/clementi_opus36_4_3.abc rename to data/expert/clementi_opus36_4_3.abc diff --git a/data/converted/clementi_opus36_5_1.abc b/data/expert/clementi_opus36_5_1.abc similarity index 100% rename from data/converted/clementi_opus36_5_1.abc rename to data/expert/clementi_opus36_5_1.abc diff --git a/data/converted/clementi_opus36_5_2.abc b/data/expert/clementi_opus36_5_2.abc similarity index 100% rename from data/converted/clementi_opus36_5_2.abc rename to data/expert/clementi_opus36_5_2.abc diff --git a/data/converted/clementi_opus36_5_3.abc b/data/expert/clementi_opus36_5_3.abc similarity index 100% rename from data/converted/clementi_opus36_5_3.abc rename to data/expert/clementi_opus36_5_3.abc diff --git a/data/converted/clementi_opus36_6_1.abc b/data/expert/clementi_opus36_6_1.abc similarity index 100% rename from data/converted/clementi_opus36_6_1.abc rename to data/expert/clementi_opus36_6_1.abc diff --git a/data/converted/clementi_opus36_6_2.abc b/data/expert/clementi_opus36_6_2.abc similarity index 100% rename from data/converted/clementi_opus36_6_2.abc rename to data/expert/clementi_opus36_6_2.abc diff --git a/data/converted/deb_menu.abc b/data/expert/deb_menu.abc similarity index 100% rename from data/converted/deb_menu.abc rename to data/expert/deb_menu.abc diff --git a/data/converted/deb_prel.abc b/data/expert/deb_prel.abc similarity index 100% rename from data/converted/deb_prel.abc rename to data/expert/deb_prel.abc diff --git a/data/converted/debussy_cc_1.abc b/data/expert/debussy_cc_1.abc similarity index 100% rename from data/converted/debussy_cc_1.abc rename to data/expert/debussy_cc_1.abc diff --git a/data/converted/debussy_cc_2.abc b/data/expert/debussy_cc_2.abc similarity index 100% rename from data/converted/debussy_cc_2.abc rename to data/expert/debussy_cc_2.abc diff --git a/data/converted/debussy_cc_3.abc b/data/expert/debussy_cc_3.abc similarity index 100% rename from data/converted/debussy_cc_3.abc rename to data/expert/debussy_cc_3.abc diff --git a/data/converted/debussy_cc_4.abc b/data/expert/debussy_cc_4.abc similarity index 100% rename from data/converted/debussy_cc_4.abc rename to data/expert/debussy_cc_4.abc diff --git a/data/converted/debussy_cc_6.abc b/data/expert/debussy_cc_6.abc similarity index 100% rename from data/converted/debussy_cc_6.abc rename to data/expert/debussy_cc_6.abc diff --git a/data/converted/elise.abc b/data/expert/elise.abc similarity index 100% rename from data/converted/elise.abc rename to data/expert/elise.abc diff --git a/data/converted/fruehlingsrauschen.abc b/data/expert/fruehlingsrauschen.abc similarity index 100% rename from data/converted/fruehlingsrauschen.abc rename to data/expert/fruehlingsrauschen.abc diff --git a/data/converted/god_alb_esp2.abc b/data/expert/god_alb_esp2.abc similarity index 100% rename from data/converted/god_alb_esp2.abc rename to data/expert/god_alb_esp2.abc diff --git a/data/converted/god_chpn_op10_e01.abc b/data/expert/god_chpn_op10_e01.abc similarity index 100% rename from data/converted/god_chpn_op10_e01.abc rename to data/expert/god_chpn_op10_e01.abc diff --git a/data/converted/gra_esp_2.abc b/data/expert/gra_esp_2.abc similarity index 100% rename from data/converted/gra_esp_2.abc rename to data/expert/gra_esp_2.abc diff --git a/data/converted/gra_esp_3.abc b/data/expert/gra_esp_3.abc similarity index 100% rename from data/converted/gra_esp_3.abc rename to data/expert/gra_esp_3.abc diff --git a/data/converted/gra_esp_4.abc b/data/expert/gra_esp_4.abc similarity index 100% rename from data/converted/gra_esp_4.abc rename to data/expert/gra_esp_4.abc diff --git a/data/converted/grieg_album.abc b/data/expert/grieg_album.abc similarity index 100% rename from data/converted/grieg_album.abc rename to data/expert/grieg_album.abc diff --git a/data/converted/grieg_berceuse.abc b/data/expert/grieg_berceuse.abc similarity index 100% rename from data/converted/grieg_berceuse.abc rename to data/expert/grieg_berceuse.abc diff --git a/data/converted/grieg_brooklet.abc b/data/expert/grieg_brooklet.abc similarity index 100% rename from data/converted/grieg_brooklet.abc rename to data/expert/grieg_brooklet.abc diff --git a/data/converted/grieg_butterfly.abc b/data/expert/grieg_butterfly.abc similarity index 100% rename from data/converted/grieg_butterfly.abc rename to data/expert/grieg_butterfly.abc diff --git a/data/converted/grieg_elfentanz.abc b/data/expert/grieg_elfentanz.abc similarity index 100% rename from data/converted/grieg_elfentanz.abc rename to data/expert/grieg_elfentanz.abc diff --git a/data/converted/grieg_halling.abc b/data/expert/grieg_halling.abc similarity index 100% rename from data/converted/grieg_halling.abc rename to data/expert/grieg_halling.abc diff --git a/data/converted/grieg_kobold.abc b/data/expert/grieg_kobold.abc similarity index 100% rename from data/converted/grieg_kobold.abc rename to data/expert/grieg_kobold.abc diff --git a/data/converted/grieg_march.abc b/data/expert/grieg_march.abc similarity index 100% rename from data/converted/grieg_march.abc rename to data/expert/grieg_march.abc diff --git a/data/converted/grieg_once_upon_a_time.abc b/data/expert/grieg_once_upon_a_time.abc similarity index 100% rename from data/converted/grieg_once_upon_a_time.abc rename to data/expert/grieg_once_upon_a_time.abc diff --git a/data/converted/grieg_spring.abc b/data/expert/grieg_spring.abc similarity index 100% rename from data/converted/grieg_spring.abc rename to data/expert/grieg_spring.abc diff --git a/data/converted/grieg_voeglein.abc b/data/expert/grieg_voeglein.abc similarity index 100% rename from data/converted/grieg_voeglein.abc rename to data/expert/grieg_voeglein.abc diff --git a/data/converted/grieg_waechter.abc b/data/expert/grieg_waechter.abc similarity index 100% rename from data/converted/grieg_waechter.abc rename to data/expert/grieg_waechter.abc diff --git a/data/converted/grieg_walzer.abc b/data/expert/grieg_walzer.abc similarity index 100% rename from data/converted/grieg_walzer.abc rename to data/expert/grieg_walzer.abc diff --git a/data/converted/grieg_wanderer.abc b/data/expert/grieg_wanderer.abc similarity index 100% rename from data/converted/grieg_wanderer.abc rename to data/expert/grieg_wanderer.abc diff --git a/data/converted/grieg_wedding.abc b/data/expert/grieg_wedding.abc similarity index 100% rename from data/converted/grieg_wedding.abc rename to data/expert/grieg_wedding.abc diff --git a/data/converted/grieg_zwerge.abc b/data/expert/grieg_zwerge.abc similarity index 100% rename from data/converted/grieg_zwerge.abc rename to data/expert/grieg_zwerge.abc diff --git a/data/converted/hay_40_1.abc b/data/expert/hay_40_1.abc similarity index 100% rename from data/converted/hay_40_1.abc rename to data/expert/hay_40_1.abc diff --git a/data/converted/hay_40_2.abc b/data/expert/hay_40_2.abc similarity index 100% rename from data/converted/hay_40_2.abc rename to data/expert/hay_40_2.abc diff --git a/data/converted/haydn_33_1.abc b/data/expert/haydn_33_1.abc similarity index 100% rename from data/converted/haydn_33_1.abc rename to data/expert/haydn_33_1.abc diff --git a/data/converted/haydn_33_2.abc b/data/expert/haydn_33_2.abc similarity index 100% rename from data/converted/haydn_33_2.abc rename to data/expert/haydn_33_2.abc diff --git a/data/converted/haydn_33_3.abc b/data/expert/haydn_33_3.abc similarity index 100% rename from data/converted/haydn_33_3.abc rename to data/expert/haydn_33_3.abc diff --git a/data/converted/haydn_35_1.abc b/data/expert/haydn_35_1.abc similarity index 100% rename from data/converted/haydn_35_1.abc rename to data/expert/haydn_35_1.abc diff --git a/data/converted/haydn_35_2.abc b/data/expert/haydn_35_2.abc similarity index 100% rename from data/converted/haydn_35_2.abc rename to data/expert/haydn_35_2.abc diff --git a/data/converted/haydn_35_3.abc b/data/expert/haydn_35_3.abc similarity index 100% rename from data/converted/haydn_35_3.abc rename to data/expert/haydn_35_3.abc diff --git a/data/converted/haydn_43_1.abc b/data/expert/haydn_43_1.abc similarity index 100% rename from data/converted/haydn_43_1.abc rename to data/expert/haydn_43_1.abc diff --git a/data/converted/haydn_43_2.abc b/data/expert/haydn_43_2.abc similarity index 100% rename from data/converted/haydn_43_2.abc rename to data/expert/haydn_43_2.abc diff --git a/data/converted/haydn_43_3.abc b/data/expert/haydn_43_3.abc similarity index 100% rename from data/converted/haydn_43_3.abc rename to data/expert/haydn_43_3.abc diff --git a/data/converted/haydn_7_1.abc b/data/expert/haydn_7_1.abc similarity index 100% rename from data/converted/haydn_7_1.abc rename to data/expert/haydn_7_1.abc diff --git a/data/converted/haydn_7_2.abc b/data/expert/haydn_7_2.abc similarity index 100% rename from data/converted/haydn_7_2.abc rename to data/expert/haydn_7_2.abc diff --git a/data/converted/haydn_7_3.abc b/data/expert/haydn_7_3.abc similarity index 100% rename from data/converted/haydn_7_3.abc rename to data/expert/haydn_7_3.abc diff --git a/data/converted/haydn_8_1.abc b/data/expert/haydn_8_1.abc similarity index 100% rename from data/converted/haydn_8_1.abc rename to data/expert/haydn_8_1.abc diff --git a/data/converted/haydn_8_2.abc b/data/expert/haydn_8_2.abc similarity index 100% rename from data/converted/haydn_8_2.abc rename to data/expert/haydn_8_2.abc diff --git a/data/converted/haydn_8_3.abc b/data/expert/haydn_8_3.abc similarity index 100% rename from data/converted/haydn_8_3.abc rename to data/expert/haydn_8_3.abc diff --git a/data/converted/haydn_8_4.abc b/data/expert/haydn_8_4.abc similarity index 100% rename from data/converted/haydn_8_4.abc rename to data/expert/haydn_8_4.abc diff --git a/data/converted/haydn_9_1.abc b/data/expert/haydn_9_1.abc similarity index 100% rename from data/converted/haydn_9_1.abc rename to data/expert/haydn_9_1.abc diff --git a/data/converted/haydn_9_2.abc b/data/expert/haydn_9_2.abc similarity index 100% rename from data/converted/haydn_9_2.abc rename to data/expert/haydn_9_2.abc diff --git a/data/converted/haydn_9_3.abc b/data/expert/haydn_9_3.abc similarity index 100% rename from data/converted/haydn_9_3.abc rename to data/expert/haydn_9_3.abc diff --git a/data/converted/islamei.abc b/data/expert/islamei.abc similarity index 100% rename from data/converted/islamei.abc rename to data/expert/islamei.abc diff --git a/data/converted/liz_donjuan.abc b/data/expert/liz_donjuan.abc similarity index 100% rename from data/converted/liz_donjuan.abc rename to data/expert/liz_donjuan.abc diff --git a/data/converted/liz_et1.abc b/data/expert/liz_et1.abc similarity index 100% rename from data/converted/liz_et1.abc rename to data/expert/liz_et1.abc diff --git a/data/converted/liz_et2.abc b/data/expert/liz_et2.abc similarity index 100% rename from data/converted/liz_et2.abc rename to data/expert/liz_et2.abc diff --git a/data/converted/liz_et3.abc b/data/expert/liz_et3.abc similarity index 100% rename from data/converted/liz_et3.abc rename to data/expert/liz_et3.abc diff --git a/data/converted/liz_et4.abc b/data/expert/liz_et4.abc similarity index 100% rename from data/converted/liz_et4.abc rename to data/expert/liz_et4.abc diff --git a/data/converted/liz_et5.abc b/data/expert/liz_et5.abc similarity index 100% rename from data/converted/liz_et5.abc rename to data/expert/liz_et5.abc diff --git a/data/converted/liz_et6.abc b/data/expert/liz_et6.abc similarity index 100% rename from data/converted/liz_et6.abc rename to data/expert/liz_et6.abc diff --git a/data/converted/liz_et_trans4.abc b/data/expert/liz_et_trans4.abc similarity index 100% rename from data/converted/liz_et_trans4.abc rename to data/expert/liz_et_trans4.abc diff --git a/data/converted/liz_et_trans5.abc b/data/expert/liz_et_trans5.abc similarity index 100% rename from data/converted/liz_et_trans5.abc rename to data/expert/liz_et_trans5.abc diff --git a/data/converted/liz_et_trans8.abc b/data/expert/liz_et_trans8.abc similarity index 100% rename from data/converted/liz_et_trans8.abc rename to data/expert/liz_et_trans8.abc diff --git a/data/converted/liz_liebestraum.abc b/data/expert/liz_liebestraum.abc similarity index 100% rename from data/converted/liz_liebestraum.abc rename to data/expert/liz_liebestraum.abc diff --git a/data/converted/liz_rhap02.abc b/data/expert/liz_rhap02.abc similarity index 100% rename from data/converted/liz_rhap02.abc rename to data/expert/liz_rhap02.abc diff --git a/data/converted/liz_rhap09.abc b/data/expert/liz_rhap09.abc similarity index 100% rename from data/converted/liz_rhap09.abc rename to data/expert/liz_rhap09.abc diff --git a/data/converted/liz_rhap10.abc b/data/expert/liz_rhap10.abc similarity index 100% rename from data/converted/liz_rhap10.abc rename to data/expert/liz_rhap10.abc diff --git a/data/converted/liz_rhap12.abc b/data/expert/liz_rhap12.abc similarity index 100% rename from data/converted/liz_rhap12.abc rename to data/expert/liz_rhap12.abc diff --git a/data/converted/liz_rhap15.abc b/data/expert/liz_rhap15.abc similarity index 100% rename from data/converted/liz_rhap15.abc rename to data/expert/liz_rhap15.abc diff --git a/data/converted/mendel_op19_1.abc b/data/expert/mendel_op19_1.abc similarity index 100% rename from data/converted/mendel_op19_1.abc rename to data/expert/mendel_op19_1.abc diff --git a/data/converted/mendel_op19_2.abc b/data/expert/mendel_op19_2.abc similarity index 100% rename from data/converted/mendel_op19_2.abc rename to data/expert/mendel_op19_2.abc diff --git a/data/converted/mendel_op19_3.abc b/data/expert/mendel_op19_3.abc similarity index 100% rename from data/converted/mendel_op19_3.abc rename to data/expert/mendel_op19_3.abc diff --git a/data/converted/mendel_op19_4.abc b/data/expert/mendel_op19_4.abc similarity index 100% rename from data/converted/mendel_op19_4.abc rename to data/expert/mendel_op19_4.abc diff --git a/data/converted/mendel_op19_5.abc b/data/expert/mendel_op19_5.abc similarity index 100% rename from data/converted/mendel_op19_5.abc rename to data/expert/mendel_op19_5.abc diff --git a/data/converted/mendel_op19_6.abc b/data/expert/mendel_op19_6.abc similarity index 100% rename from data/converted/mendel_op19_6.abc rename to data/expert/mendel_op19_6.abc diff --git a/data/converted/mendel_op30_1.abc b/data/expert/mendel_op30_1.abc similarity index 100% rename from data/converted/mendel_op30_1.abc rename to data/expert/mendel_op30_1.abc diff --git a/data/converted/mendel_op30_2.abc b/data/expert/mendel_op30_2.abc similarity index 100% rename from data/converted/mendel_op30_2.abc rename to data/expert/mendel_op30_2.abc diff --git a/data/converted/mendel_op30_3.abc b/data/expert/mendel_op30_3.abc similarity index 100% rename from data/converted/mendel_op30_3.abc rename to data/expert/mendel_op30_3.abc diff --git a/data/converted/mendel_op30_4.abc b/data/expert/mendel_op30_4.abc similarity index 100% rename from data/converted/mendel_op30_4.abc rename to data/expert/mendel_op30_4.abc diff --git a/data/converted/mendel_op30_5.abc b/data/expert/mendel_op30_5.abc similarity index 100% rename from data/converted/mendel_op30_5.abc rename to data/expert/mendel_op30_5.abc diff --git a/data/converted/mendel_op53_5.abc b/data/expert/mendel_op53_5.abc similarity index 100% rename from data/converted/mendel_op53_5.abc rename to data/expert/mendel_op53_5.abc diff --git a/data/converted/mendel_op62_3.abc b/data/expert/mendel_op62_3.abc similarity index 100% rename from data/converted/mendel_op62_3.abc rename to data/expert/mendel_op62_3.abc diff --git a/data/converted/mendel_op62_4.abc b/data/expert/mendel_op62_4.abc similarity index 100% rename from data/converted/mendel_op62_4.abc rename to data/expert/mendel_op62_4.abc diff --git a/data/converted/mendel_op62_5.abc b/data/expert/mendel_op62_5.abc similarity index 100% rename from data/converted/mendel_op62_5.abc rename to data/expert/mendel_op62_5.abc diff --git a/data/converted/mond_1.abc b/data/expert/mond_1.abc similarity index 100% rename from data/converted/mond_1.abc rename to data/expert/mond_1.abc diff --git a/data/converted/mond_2.abc b/data/expert/mond_2.abc similarity index 100% rename from data/converted/mond_2.abc rename to data/expert/mond_2.abc diff --git a/data/converted/mond_3.abc b/data/expert/mond_3.abc similarity index 100% rename from data/converted/mond_3.abc rename to data/expert/mond_3.abc diff --git a/data/converted/mos_op36_6.abc b/data/expert/mos_op36_6.abc similarity index 100% rename from data/converted/mos_op36_6.abc rename to data/expert/mos_op36_6.abc diff --git a/data/converted/muss_1.abc b/data/expert/muss_1.abc similarity index 100% rename from data/converted/muss_1.abc rename to data/expert/muss_1.abc diff --git a/data/converted/muss_2.abc b/data/expert/muss_2.abc similarity index 100% rename from data/converted/muss_2.abc rename to data/expert/muss_2.abc diff --git a/data/converted/muss_3.abc b/data/expert/muss_3.abc similarity index 100% rename from data/converted/muss_3.abc rename to data/expert/muss_3.abc diff --git a/data/converted/muss_4.abc b/data/expert/muss_4.abc similarity index 100% rename from data/converted/muss_4.abc rename to data/expert/muss_4.abc diff --git a/data/converted/muss_5.abc b/data/expert/muss_5.abc similarity index 100% rename from data/converted/muss_5.abc rename to data/expert/muss_5.abc diff --git a/data/converted/muss_6.abc b/data/expert/muss_6.abc similarity index 100% rename from data/converted/muss_6.abc rename to data/expert/muss_6.abc diff --git a/data/converted/muss_7.abc b/data/expert/muss_7.abc similarity index 100% rename from data/converted/muss_7.abc rename to data/expert/muss_7.abc diff --git a/data/converted/muss_8.abc b/data/expert/muss_8.abc similarity index 100% rename from data/converted/muss_8.abc rename to data/expert/muss_8.abc diff --git a/data/converted/mz_311_1.abc b/data/expert/mz_311_1.abc similarity index 100% rename from data/converted/mz_311_1.abc rename to data/expert/mz_311_1.abc diff --git a/data/converted/mz_311_2.abc b/data/expert/mz_311_2.abc similarity index 100% rename from data/converted/mz_311_2.abc rename to data/expert/mz_311_2.abc diff --git a/data/converted/mz_311_3.abc b/data/expert/mz_311_3.abc similarity index 100% rename from data/converted/mz_311_3.abc rename to data/expert/mz_311_3.abc diff --git a/data/converted/mz_330_1.abc b/data/expert/mz_330_1.abc similarity index 100% rename from data/converted/mz_330_1.abc rename to data/expert/mz_330_1.abc diff --git a/data/converted/mz_330_2.abc b/data/expert/mz_330_2.abc similarity index 100% rename from data/converted/mz_330_2.abc rename to data/expert/mz_330_2.abc diff --git a/data/converted/mz_330_3.abc b/data/expert/mz_330_3.abc similarity index 100% rename from data/converted/mz_330_3.abc rename to data/expert/mz_330_3.abc diff --git a/data/converted/mz_331_1.abc b/data/expert/mz_331_1.abc similarity index 100% rename from data/converted/mz_331_1.abc rename to data/expert/mz_331_1.abc diff --git a/data/converted/mz_331_2.abc b/data/expert/mz_331_2.abc similarity index 100% rename from data/converted/mz_331_2.abc rename to data/expert/mz_331_2.abc diff --git a/data/converted/mz_331_3.abc b/data/expert/mz_331_3.abc similarity index 100% rename from data/converted/mz_331_3.abc rename to data/expert/mz_331_3.abc diff --git a/data/converted/mz_332_1.abc b/data/expert/mz_332_1.abc similarity index 100% rename from data/converted/mz_332_1.abc rename to data/expert/mz_332_1.abc diff --git a/data/converted/mz_332_2.abc b/data/expert/mz_332_2.abc similarity index 100% rename from data/converted/mz_332_2.abc rename to data/expert/mz_332_2.abc diff --git a/data/converted/mz_332_3.abc b/data/expert/mz_332_3.abc similarity index 100% rename from data/converted/mz_332_3.abc rename to data/expert/mz_332_3.abc diff --git a/data/converted/mz_333_1.abc b/data/expert/mz_333_1.abc similarity index 100% rename from data/converted/mz_333_1.abc rename to data/expert/mz_333_1.abc diff --git a/data/converted/mz_333_2.abc b/data/expert/mz_333_2.abc similarity index 100% rename from data/converted/mz_333_2.abc rename to data/expert/mz_333_2.abc diff --git a/data/converted/mz_333_3.abc b/data/expert/mz_333_3.abc similarity index 100% rename from data/converted/mz_333_3.abc rename to data/expert/mz_333_3.abc diff --git a/data/converted/mz_545_1.abc b/data/expert/mz_545_1.abc similarity index 100% rename from data/converted/mz_545_1.abc rename to data/expert/mz_545_1.abc diff --git a/data/converted/mz_545_2.abc b/data/expert/mz_545_2.abc similarity index 100% rename from data/converted/mz_545_2.abc rename to data/expert/mz_545_2.abc diff --git a/data/converted/mz_545_3.abc b/data/expert/mz_545_3.abc similarity index 100% rename from data/converted/mz_545_3.abc rename to data/expert/mz_545_3.abc diff --git a/data/converted/mz_570_1.abc b/data/expert/mz_570_1.abc similarity index 100% rename from data/converted/mz_570_1.abc rename to data/expert/mz_570_1.abc diff --git a/data/converted/mz_570_2.abc b/data/expert/mz_570_2.abc similarity index 100% rename from data/converted/mz_570_2.abc rename to data/expert/mz_570_2.abc diff --git a/data/converted/mz_570_3.abc b/data/expert/mz_570_3.abc similarity index 100% rename from data/converted/mz_570_3.abc rename to data/expert/mz_570_3.abc diff --git a/data/converted/pathetique_1.abc b/data/expert/pathetique_1.abc similarity index 100% rename from data/converted/pathetique_1.abc rename to data/expert/pathetique_1.abc diff --git a/data/converted/pathetique_2.abc b/data/expert/pathetique_2.abc similarity index 100% rename from data/converted/pathetique_2.abc rename to data/expert/pathetique_2.abc diff --git a/data/converted/pathetique_3.abc b/data/expert/pathetique_3.abc similarity index 100% rename from data/converted/pathetique_3.abc rename to data/expert/pathetique_3.abc diff --git a/data/converted/rac_op23_2.abc b/data/expert/rac_op23_2.abc similarity index 100% rename from data/converted/rac_op23_2.abc rename to data/expert/rac_op23_2.abc diff --git a/data/converted/rac_op23_3.abc b/data/expert/rac_op23_3.abc similarity index 100% rename from data/converted/rac_op23_3.abc rename to data/expert/rac_op23_3.abc diff --git a/data/converted/rac_op23_5.abc b/data/expert/rac_op23_5.abc similarity index 100% rename from data/converted/rac_op23_5.abc rename to data/expert/rac_op23_5.abc diff --git a/data/converted/rac_op23_7.abc b/data/expert/rac_op23_7.abc similarity index 100% rename from data/converted/rac_op23_7.abc rename to data/expert/rac_op23_7.abc diff --git a/data/converted/rac_op32_1.abc b/data/expert/rac_op32_1.abc similarity index 100% rename from data/converted/rac_op32_1.abc rename to data/expert/rac_op32_1.abc diff --git a/data/converted/rac_op32_13.abc b/data/expert/rac_op32_13.abc similarity index 100% rename from data/converted/rac_op32_13.abc rename to data/expert/rac_op32_13.abc diff --git a/data/converted/rac_op33_5.abc b/data/expert/rac_op33_5.abc similarity index 100% rename from data/converted/rac_op33_5.abc rename to data/expert/rac_op33_5.abc diff --git a/data/converted/rac_op33_6.abc b/data/expert/rac_op33_6.abc similarity index 100% rename from data/converted/rac_op33_6.abc rename to data/expert/rac_op33_6.abc diff --git a/data/converted/rac_op33_8.abc b/data/expert/rac_op33_8.abc similarity index 100% rename from data/converted/rac_op33_8.abc rename to data/expert/rac_op33_8.abc diff --git a/data/converted/rac_op3_2.abc b/data/expert/rac_op3_2.abc similarity index 100% rename from data/converted/rac_op3_2.abc rename to data/expert/rac_op3_2.abc diff --git a/data/converted/rav_eau.abc b/data/expert/rav_eau.abc similarity index 100% rename from data/converted/rav_eau.abc rename to data/expert/rav_eau.abc diff --git a/data/converted/rav_gib.abc b/data/expert/rav_gib.abc similarity index 100% rename from data/converted/rav_gib.abc rename to data/expert/rav_gib.abc diff --git a/data/converted/rav_ondi.abc b/data/expert/rav_ondi.abc similarity index 100% rename from data/converted/rav_ondi.abc rename to data/expert/rav_ondi.abc diff --git a/data/converted/rav_scarbo.abc b/data/expert/rav_scarbo.abc similarity index 100% rename from data/converted/rav_scarbo.abc rename to data/expert/rav_scarbo.abc diff --git a/data/converted/ravel_miroirs_1.abc b/data/expert/ravel_miroirs_1.abc similarity index 100% rename from data/converted/ravel_miroirs_1.abc rename to data/expert/ravel_miroirs_1.abc diff --git a/data/converted/schu_143_1.abc b/data/expert/schu_143_1.abc similarity index 100% rename from data/converted/schu_143_1.abc rename to data/expert/schu_143_1.abc diff --git a/data/converted/schu_143_2.abc b/data/expert/schu_143_2.abc similarity index 100% rename from data/converted/schu_143_2.abc rename to data/expert/schu_143_2.abc diff --git a/data/converted/schu_143_3.abc b/data/expert/schu_143_3.abc similarity index 100% rename from data/converted/schu_143_3.abc rename to data/expert/schu_143_3.abc diff --git a/data/converted/schub_d760_1.abc b/data/expert/schub_d760_1.abc similarity index 100% rename from data/converted/schub_d760_1.abc rename to data/expert/schub_d760_1.abc diff --git a/data/converted/schub_d760_2.abc b/data/expert/schub_d760_2.abc similarity index 100% rename from data/converted/schub_d760_2.abc rename to data/expert/schub_d760_2.abc diff --git a/data/converted/schub_d760_3.abc b/data/expert/schub_d760_3.abc similarity index 100% rename from data/converted/schub_d760_3.abc rename to data/expert/schub_d760_3.abc diff --git a/data/converted/schub_d760_4.abc b/data/expert/schub_d760_4.abc similarity index 100% rename from data/converted/schub_d760_4.abc rename to data/expert/schub_d760_4.abc diff --git a/data/converted/schub_d960_1.abc b/data/expert/schub_d960_1.abc similarity index 100% rename from data/converted/schub_d960_1.abc rename to data/expert/schub_d960_1.abc diff --git a/data/converted/schub_d960_2.abc b/data/expert/schub_d960_2.abc similarity index 100% rename from data/converted/schub_d960_2.abc rename to data/expert/schub_d960_2.abc diff --git a/data/converted/schub_d960_3.abc b/data/expert/schub_d960_3.abc similarity index 100% rename from data/converted/schub_d960_3.abc rename to data/expert/schub_d960_3.abc diff --git a/data/converted/schub_d960_4.abc b/data/expert/schub_d960_4.abc similarity index 100% rename from data/converted/schub_d960_4.abc rename to data/expert/schub_d960_4.abc diff --git a/data/converted/schubert_D850_1.abc b/data/expert/schubert_D850_1.abc similarity index 100% rename from data/converted/schubert_D850_1.abc rename to data/expert/schubert_D850_1.abc diff --git a/data/converted/schubert_D850_2.abc b/data/expert/schubert_D850_2.abc similarity index 100% rename from data/converted/schubert_D850_2.abc rename to data/expert/schubert_D850_2.abc diff --git a/data/converted/schubert_D850_3.abc b/data/expert/schubert_D850_3.abc similarity index 100% rename from data/converted/schubert_D850_3.abc rename to data/expert/schubert_D850_3.abc diff --git a/data/converted/schubert_D850_4.abc b/data/expert/schubert_D850_4.abc similarity index 100% rename from data/converted/schubert_D850_4.abc rename to data/expert/schubert_D850_4.abc diff --git a/data/converted/schubert_D935_1.abc b/data/expert/schubert_D935_1.abc similarity index 100% rename from data/converted/schubert_D935_1.abc rename to data/expert/schubert_D935_1.abc diff --git a/data/converted/schubert_D935_2.abc b/data/expert/schubert_D935_2.abc similarity index 100% rename from data/converted/schubert_D935_2.abc rename to data/expert/schubert_D935_2.abc diff --git a/data/converted/schubert_D935_3.abc b/data/expert/schubert_D935_3.abc similarity index 100% rename from data/converted/schubert_D935_3.abc rename to data/expert/schubert_D935_3.abc diff --git a/data/converted/schubert_D935_4.abc b/data/expert/schubert_D935_4.abc similarity index 100% rename from data/converted/schubert_D935_4.abc rename to data/expert/schubert_D935_4.abc diff --git a/data/converted/schuim-1.abc b/data/expert/schuim-1.abc similarity index 100% rename from data/converted/schuim-1.abc rename to data/expert/schuim-1.abc diff --git a/data/converted/schuim-2.abc b/data/expert/schuim-2.abc similarity index 100% rename from data/converted/schuim-2.abc rename to data/expert/schuim-2.abc diff --git a/data/converted/schuim-3.abc b/data/expert/schuim-3.abc similarity index 100% rename from data/converted/schuim-3.abc rename to data/expert/schuim-3.abc diff --git a/data/converted/schuim-4.abc b/data/expert/schuim-4.abc similarity index 100% rename from data/converted/schuim-4.abc rename to data/expert/schuim-4.abc diff --git a/data/converted/schum_abegg.abc b/data/expert/schum_abegg.abc similarity index 100% rename from data/converted/schum_abegg.abc rename to data/expert/schum_abegg.abc diff --git a/data/converted/schumm-1.abc b/data/expert/schumm-1.abc similarity index 100% rename from data/converted/schumm-1.abc rename to data/expert/schumm-1.abc diff --git a/data/converted/schumm-2.abc b/data/expert/schumm-2.abc similarity index 100% rename from data/converted/schumm-2.abc rename to data/expert/schumm-2.abc diff --git a/data/converted/schumm-3.abc b/data/expert/schumm-3.abc similarity index 100% rename from data/converted/schumm-3.abc rename to data/expert/schumm-3.abc diff --git a/data/converted/schumm-4.abc b/data/expert/schumm-4.abc similarity index 100% rename from data/converted/schumm-4.abc rename to data/expert/schumm-4.abc diff --git a/data/converted/schumm-5.abc b/data/expert/schumm-5.abc similarity index 100% rename from data/converted/schumm-5.abc rename to data/expert/schumm-5.abc diff --git a/data/converted/schumm-6.abc b/data/expert/schumm-6.abc similarity index 100% rename from data/converted/schumm-6.abc rename to data/expert/schumm-6.abc diff --git a/data/converted/scn15_1.abc b/data/expert/scn15_1.abc similarity index 100% rename from data/converted/scn15_1.abc rename to data/expert/scn15_1.abc diff --git a/data/converted/scn15_10.abc b/data/expert/scn15_10.abc similarity index 100% rename from data/converted/scn15_10.abc rename to data/expert/scn15_10.abc diff --git a/data/converted/scn15_11.abc b/data/expert/scn15_11.abc similarity index 100% rename from data/converted/scn15_11.abc rename to data/expert/scn15_11.abc diff --git a/data/converted/scn15_12.abc b/data/expert/scn15_12.abc similarity index 100% rename from data/converted/scn15_12.abc rename to data/expert/scn15_12.abc diff --git a/data/converted/scn15_13.abc b/data/expert/scn15_13.abc similarity index 100% rename from data/converted/scn15_13.abc rename to data/expert/scn15_13.abc diff --git a/data/converted/scn15_2.abc b/data/expert/scn15_2.abc similarity index 100% rename from data/converted/scn15_2.abc rename to data/expert/scn15_2.abc diff --git a/data/converted/scn15_3.abc b/data/expert/scn15_3.abc similarity index 100% rename from data/converted/scn15_3.abc rename to data/expert/scn15_3.abc diff --git a/data/converted/scn15_4.abc b/data/expert/scn15_4.abc similarity index 100% rename from data/converted/scn15_4.abc rename to data/expert/scn15_4.abc diff --git a/data/converted/scn15_5.abc b/data/expert/scn15_5.abc similarity index 100% rename from data/converted/scn15_5.abc rename to data/expert/scn15_5.abc diff --git a/data/converted/scn15_6.abc b/data/expert/scn15_6.abc similarity index 100% rename from data/converted/scn15_6.abc rename to data/expert/scn15_6.abc diff --git a/data/converted/scn15_7.abc b/data/expert/scn15_7.abc similarity index 100% rename from data/converted/scn15_7.abc rename to data/expert/scn15_7.abc diff --git a/data/converted/scn15_8.abc b/data/expert/scn15_8.abc similarity index 100% rename from data/converted/scn15_8.abc rename to data/expert/scn15_8.abc diff --git a/data/converted/scn15_9.abc b/data/expert/scn15_9.abc similarity index 100% rename from data/converted/scn15_9.abc rename to data/expert/scn15_9.abc diff --git a/data/converted/scn16_1.abc b/data/expert/scn16_1.abc similarity index 100% rename from data/converted/scn16_1.abc rename to data/expert/scn16_1.abc diff --git a/data/converted/scn16_2.abc b/data/expert/scn16_2.abc similarity index 100% rename from data/converted/scn16_2.abc rename to data/expert/scn16_2.abc diff --git a/data/converted/scn16_3.abc b/data/expert/scn16_3.abc similarity index 100% rename from data/converted/scn16_3.abc rename to data/expert/scn16_3.abc diff --git a/data/converted/scn16_4.abc b/data/expert/scn16_4.abc similarity index 100% rename from data/converted/scn16_4.abc rename to data/expert/scn16_4.abc diff --git a/data/converted/scn16_5.abc b/data/expert/scn16_5.abc similarity index 100% rename from data/converted/scn16_5.abc rename to data/expert/scn16_5.abc diff --git a/data/converted/scn16_6.abc b/data/expert/scn16_6.abc similarity index 100% rename from data/converted/scn16_6.abc rename to data/expert/scn16_6.abc diff --git a/data/converted/scn16_7.abc b/data/expert/scn16_7.abc similarity index 100% rename from data/converted/scn16_7.abc rename to data/expert/scn16_7.abc diff --git a/data/converted/scn16_8.abc b/data/expert/scn16_8.abc similarity index 100% rename from data/converted/scn16_8.abc rename to data/expert/scn16_8.abc diff --git a/data/converted/scn68_10.abc b/data/expert/scn68_10.abc similarity index 100% rename from data/converted/scn68_10.abc rename to data/expert/scn68_10.abc diff --git a/data/converted/scn68_12.abc b/data/expert/scn68_12.abc similarity index 100% rename from data/converted/scn68_12.abc rename to data/expert/scn68_12.abc diff --git a/data/converted/ty_april.abc b/data/expert/ty_april.abc similarity index 100% rename from data/converted/ty_april.abc rename to data/expert/ty_april.abc diff --git a/data/converted/ty_august.abc b/data/expert/ty_august.abc similarity index 100% rename from data/converted/ty_august.abc rename to data/expert/ty_august.abc diff --git a/data/converted/ty_dezember.abc b/data/expert/ty_dezember.abc similarity index 100% rename from data/converted/ty_dezember.abc rename to data/expert/ty_dezember.abc diff --git a/data/converted/ty_februar.abc b/data/expert/ty_februar.abc similarity index 100% rename from data/converted/ty_februar.abc rename to data/expert/ty_februar.abc diff --git a/data/converted/ty_januar.abc b/data/expert/ty_januar.abc similarity index 100% rename from data/converted/ty_januar.abc rename to data/expert/ty_januar.abc diff --git a/data/converted/ty_juli.abc b/data/expert/ty_juli.abc similarity index 100% rename from data/converted/ty_juli.abc rename to data/expert/ty_juli.abc diff --git a/data/converted/ty_juni.abc b/data/expert/ty_juni.abc similarity index 100% rename from data/converted/ty_juni.abc rename to data/expert/ty_juni.abc diff --git a/data/converted/ty_maerz.abc b/data/expert/ty_maerz.abc similarity index 100% rename from data/converted/ty_maerz.abc rename to data/expert/ty_maerz.abc diff --git a/data/converted/ty_mai.abc b/data/expert/ty_mai.abc similarity index 100% rename from data/converted/ty_mai.abc rename to data/expert/ty_mai.abc diff --git a/data/converted/ty_november.abc b/data/expert/ty_november.abc similarity index 100% rename from data/converted/ty_november.abc rename to data/expert/ty_november.abc diff --git a/data/converted/ty_oktober.abc b/data/expert/ty_oktober.abc similarity index 100% rename from data/converted/ty_oktober.abc rename to data/expert/ty_oktober.abc diff --git a/data/converted/ty_september.abc b/data/expert/ty_september.abc similarity index 100% rename from data/converted/ty_september.abc rename to data/expert/ty_september.abc diff --git a/data/converted/waldstein_1.abc b/data/expert/waldstein_1.abc similarity index 100% rename from data/converted/waldstein_1.abc rename to data/expert/waldstein_1.abc diff --git a/data/converted/waldstein_2.abc b/data/expert/waldstein_2.abc similarity index 100% rename from data/converted/waldstein_2.abc rename to data/expert/waldstein_2.abc diff --git a/data/converted/waldstein_3.abc b/data/expert/waldstein_3.abc similarity index 100% rename from data/converted/waldstein_3.abc rename to data/expert/waldstein_3.abc diff --git a/data/beginner/11.abc b/data/intermediate/11.abc similarity index 100% rename from data/beginner/11.abc rename to data/intermediate/11.abc diff --git a/data/beginner/12.abc b/data/intermediate/12.abc similarity index 100% rename from data/beginner/12.abc rename to data/intermediate/12.abc diff --git a/data/expert/44.abc b/data/intermediate/44.abc similarity index 100% rename from data/expert/44.abc rename to data/intermediate/44.abc diff --git a/data/beginner/9.abc b/data/intermediate/9.abc similarity index 100% rename from data/beginner/9.abc rename to data/intermediate/9.abc diff --git a/markov.py b/markov.py index 2c96b009c257fe8e84935e24246a16aa6dd60e1f..6a70f293333ac38e730b7f131f4bd0dfaad0736b 100644 --- a/markov.py +++ b/markov.py @@ -82,19 +82,19 @@ def generate_from_token_lists(token_lines, n, count=14, max_iterations=100): generated_list.append(generated_str) return generated_list -def char_level_generate(lines, n, count=14, max_iterations=100): - """Generates Markov chain text from the given lines, using character-level - n-grams of length n. Returns a list of count items.""" - token_lines = [list(line) for line in lines] - generated = generate_from_token_lists(token_lines, n, count, max_iterations) - return [''.join(item) for item in generated] +# def char_level_generate(lines, n, count=14, max_iterations=100): +# """Generates Markov chain text from the given lines, using character-level +# n-grams of length n. Returns a list of count items.""" +# token_lines = [list(line) for line in lines] +# generated = generate_from_token_lists(token_lines, n, count, max_iterations) +# return [''.join(item) for item in generated] -def word_level_generate(lines, n, count=14, max_iterations=100): - """Generates Markov chain text from the given lines, using word-level - n-grams of length n. Returns a list of count items.""" - token_lines = [line.split() for line in lines] - generated = generate_from_token_lists(token_lines, n, count, max_iterations) - return [' '.join(item) for item in generated] +# def word_level_generate(lines, n, count=14, max_iterations=100): +# """Generates Markov chain text from the given lines, using word-level +# n-grams of length n. Returns a list of count items.""" +# token_lines = [line.split() for line in lines] +# generated = generate_from_token_lists(token_lines, n, count, max_iterations) +# return [' '.join(item) for item in generated] def generate_model_from_token_lists(token_lines, n, count=14, max_iterations=100): """Generates text from a list of lists of tokens. This function is intended diff --git a/music.py b/music.py index 8071a3f31b4664fcbd4eaad33da4a95a50af7cfb..6ce06d07117a3a66f91a4f732d0df0916f7202c3 100644 --- a/music.py +++ b/music.py @@ -16,7 +16,7 @@ import time #TODO: convert these into inputs # lengthofsong = 10 Should we control this? Setting it to random now -timesignature = ['3/4','4/4','1/8','C|'] #Sometimes the letter “C” (meaning common time) will be used in place of 4/4. +timesignature = ['3/4','4/4','1/8','6/8','2/4'] #Sometimes the letter “C” (meaning common time) will be used in place of 4/4. #Both C and 4/4 indicate that there are four quarter note beats in each measure. keysignature = ["C","G","D","No selection"] difficulty = ["beginner","intermediate","expert"] @@ -35,12 +35,32 @@ key_enforced = True #Set to true if user wants in specific key selected_timeSign = '3/4' #Default values selected_keySign = 'C' #Default Values deployed = True + + +GlobalUIGallery = False #Finds all absolute paths in directory #https://stackoverflow.com/questions/9816816/get-absolute-paths-of-all-files-in-a-directory def abs_paths(dir): for dir_path,_,filenames in os.walk(dir): for f in filenames: yield os.path.abspath(os.path.join(dir_path, f)) + +def time_sigFinder(time_Signature): + if time_Signature == "4/4": + return 'M:4/4',4 + elif time_Signature == "3/4": + return 'M:3/4',3 + elif time_Signature == "2/4": + return 'M:2/4',2 + elif time_Signature == "1/8": + pass +def get_pngs(path): + filelist=os.listdir(path) + for fichier in filelist[:]: # filelist[:] makes a copy of filelist. + if not(fichier.endswith(".png")): + filelist.remove(fichier) + newlist = [path+'/'+x for x in filelist] #making it cwd + return newlist def music_gen(difficulty,time_Signature, Key_Signature): if deployed: #delete all files stored in gen_songs_abc @@ -141,7 +161,8 @@ def music_gen(difficulty,time_Signature, Key_Signature): # hack to include dictionary at the beginning of every abc file # will add a more sophisticated way to generate the values in the future title = "Markov Song {}".format(dob) - songbeginning = ['X:1','T:' + title, 'R:song', 'C:Visakh Ajith', 'Z:id:hn-song-111', 'M:3/4', 'L:1/8', 'Q:1/4=120', 'K:G' + final_timeS,numOfnotes = time_sigFinder(time_Signature) + songbeginning = ['X:1','T:' + title, 'R:song', 'C:Visakh Ajith', 'Z:id:hn-song-111', final_timeS, 'L:1/8', 'Q:1/4=120', 'K:G' ] songbeginning = [x+"\n" for x in songbeginning] @@ -155,7 +176,7 @@ def music_gen(difficulty,time_Signature, Key_Signature): print(songname) newsong.writelines(songbeginning) for i in range(lastpart): - newsong.write(" | ".join(song[i:i+3]) + "\n") + newsong.write(" | ".join(song[i:i+numOfnotes]) + "\n") newsong.write(" | ".join(song[lastpart:lengthofsong])) newsong.close() #abc2ly markov.abc @@ -184,16 +205,9 @@ def music_gen(difficulty,time_Signature, Key_Signature): # output = str(temp.communicate()) #Introduces this wait time as we were returning file path even before lilypond converted the abc file # final_path = os.path.abspath(song_path+".png") - return song_path+'.png',song_path+".wav" - - -#UI SECTION : Build using Gradio. -#Documentation : -# interface = gr.Interface(fn = music_gen, -# inputs=[gr.Radio(difficulty,label="Difficulty"), -# gr.Radio(timesignature,label="Time Signature"), -# gr.Dropdown(keysignature,label="Key Signature")], -# outputs = ["image","audio"], -# title="Sheet Music Generation for Sight-Reading", -# description="TO be added") -# interface.launch(inline=False) + png_list = get_pngs(path) + # if len(png_list)>1: + # print("In HereEEEEEEEEEEEE") + # GlobalUIGallery = True + # return png_list,song_path+".wav" + return png_list,song_path+".wav"