diff --git a/music/BoosterMusicBooks.zip b/music/BoosterMusicBooks.zip index 48c0149..36ce313 100644 Binary files a/music/BoosterMusicBooks.zip and b/music/BoosterMusicBooks.zip differ diff --git a/music/src/BeginnerCourse/01-StartWithMiddleC.abc b/music/src/BeginnerCourse/01-StartWithMiddleC.abc index 1f9a139..20a1974 100644 --- a/music/src/BeginnerCourse/01-StartWithMiddleC.abc +++ b/music/src/BeginnerCourse/01-StartWithMiddleC.abc @@ -12,6 +12,6 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] CCCC | z4 | CCCC | z4 | z4 | z4 | z4 | z4 | C4 | +[V: RH1] CCCC | z4 | CCCC | z4 | z4 | z4 | z4 | z4 | C4 | [V: LH1] z4 | z4 | z4 | z4 | CCCC | z4 | CCCC | z4 | z4 | % diff --git a/music/src/BeginnerCourse/02-ChordOfCMajor.abc b/music/src/BeginnerCourse/02-ChordOfCMajor.abc index a7b9c51..8c657ce 100644 --- a/music/src/BeginnerCourse/02-ChordOfCMajor.abc +++ b/music/src/BeginnerCourse/02-ChordOfCMajor.abc @@ -12,10 +12,8 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] CCCC | EEEE | GGGG | EEEE | C4 -[V: LH1] z4 | z4 | z4 | z4 | z4 -[V: RH1] | CCCC | EEEE | GGGG | EEEE | C4 -[V: LH1] | z4 | z4 | z4 | z4 | z4 -[V: RH1] | [C4E4G4] | -[V: LH1] | z4 | +[V: RH1] CCCC | EEEE | GGGG | EEEE | C4 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | +[V: RH1] CCCC | EEEE | GGGG | EEEE | C4 | [C4E4G4] | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | % diff --git a/music/src/BeginnerCourse/03-UpAndDown.abc b/music/src/BeginnerCourse/03-UpAndDown.abc index 55c81a8..0378dde 100644 --- a/music/src/BeginnerCourse/03-UpAndDown.abc +++ b/music/src/BeginnerCourse/03-UpAndDown.abc @@ -12,10 +12,8 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] CDEF | G2 G2 | GFED | C2C2 | z4 -[V: LH1] z4 | z4 | z4 | z4 | z4 -[V: RH1] | CDEF | G2 G2 | GFED | C2C2 | z4 -[V: LH1] | z4 | z4 | z4 | z4 | z4 -[V: RH1] | CDEF | GFED | C2C2 | z4 | -[V: LH1] | z4 | z4 | z4 | z4 | +[V: RH1] CDEF | G2 G2 | GFED | C2C2 | z4 | CDEF | G2 G2 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 | +[V: RH1] GFED | C2C2 | z4 | CDEF | GFED | C2C2 | z4 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 | % diff --git a/music/src/BeginnerCourse/04-ClairDeLaLune.abc b/music/src/BeginnerCourse/04-ClairDeLaLune.abc index 012581f..e213c0c 100644 --- a/music/src/BeginnerCourse/04-ClairDeLaLune.abc +++ b/music/src/BeginnerCourse/04-ClairDeLaLune.abc @@ -12,12 +12,10 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] DDDD | E2E2 | EEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | +[V: RH1] CCCD | E2D2 | CEDD | C4 | CCCD | E2D2 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | +[V: RH1] CEDD | C4 | DDDD | E2E2 | +[V: LH1] z4 | z4 | z4 | z4 | +[V: RH1] EEDD | C4 | CCCD | E2D2 | CEDD | C4 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | % diff --git a/music/src/BeginnerCourse/05-ChordOfFMajor.abc b/music/src/BeginnerCourse/05-ChordOfFMajor.abc index e4a2235..fef8400 100644 --- a/music/src/BeginnerCourse/05-ChordOfFMajor.abc +++ b/music/src/BeginnerCourse/05-ChordOfFMajor.abc @@ -12,10 +12,8 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] z4 | z4 | z4 | z4 | z4 -[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 -[V: RH1] | z4 | z4 | z4 | z4 | z4 -[V: LH1] | F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 -[V: RH1] | z4 | -[V: LH1] | [F,4A,4C4] | +[V: RH1] z4 | z4 | z4 | z4 | z4 | +[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 | +[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 | +[V: LH1] F,F,F,F, | A,A,A,A, | CCCC | A,A,A,A, | F,4 | [F,4A,4C4] | % diff --git a/music/src/BeginnerCourse/06-DownAndUp.abc b/music/src/BeginnerCourse/06-DownAndUp.abc index 45d447e..660bd0a 100644 --- a/music/src/BeginnerCourse/06-DownAndUp.abc +++ b/music/src/BeginnerCourse/06-DownAndUp.abc @@ -12,10 +12,8 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] z4 | z4 | z4 | z4 | z4 -[V: LH1] CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4 -[V: RH1] | z4 | z4 | z4 | z4 | z4 -[V: LH1] | CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4 -[V: RH1] | z4 | z4 | z4 | z4 | -[V: LH1] | CB,A,G, | F,G,A,B, | C2 C2 | z4 | +[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 | +[V: LH1] CB,A,G, | F,2 F,2 | F,G,A,B, | C2 C2 | z4 | CB,A,G, | F,2 F,2 | +[V: RH1] z4 | z4 | z4 | z4 | z4 | z4 | z4 | +[V: LH1] F,G,A,B, | C2 C2 | z4 | CB,A,G, | F,G,A,B, | C2 C2 | z4 | % diff --git a/music/src/BeginnerCourse/Introduction.md b/music/src/BeginnerCourse/Introduction.md index 0f939bf..ed8d731 100644 --- a/music/src/BeginnerCourse/Introduction.md +++ b/music/src/BeginnerCourse/Introduction.md @@ -1,3 +1,9 @@ +--- +pagetitle: 'Beginner Course PianoBooster' +--- + +
# Piano Booster Beginner Music Course +
This is the beginner piano music course for the **Piano Booster** open source teaching system. diff --git a/music/src/BoosterMusic/01-ClairDeLaLune.abc b/music/src/BoosterMusic/01-ClairDeLaLune.abc index 73223d6..55a0035 100644 --- a/music/src/BoosterMusic/01-ClairDeLaLune.abc +++ b/music/src/BoosterMusic/01-ClairDeLaLune.abc @@ -12,12 +12,10 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] DDDD | E2E2 | EEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | -[V: RH1] CCCD | E2D2 | CEDD | C4 | -[V: LH1] z4 | z4 | z4 | z4 | +[V: RH1] CCCD | E2D2 | CEDD | C4 | CCCD | E2D2 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | +[V: RH1] CEDD | C4 | DDDD | E2E2 | +[V: LH1] z4 | z4 | z4 | z4 | +[V: RH1] EEDD | C4 | CCCD | E2D2 | CEDD | C4 | +[V: LH1] z4 | z4 | z4 | z4 | z4 | z4 | % diff --git a/music/src/BoosterMusic/02-LavendersBlue.abc b/music/src/BoosterMusic/02-LavendersBlue.abc index e34dded..f8e0818 100644 --- a/music/src/BoosterMusic/02-LavendersBlue.abc +++ b/music/src/BoosterMusic/02-LavendersBlue.abc @@ -13,8 +13,5 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] |: C G G | G F/E/D/C/ | C A A | A3 | -[V: LH1] |: z3 | z3 | z3 | z3 | -[V: RH1] C G G | G F/E/D/C/ | F E D | C3 :| -[V: LH1] z3 | z3 | z3 | z3 :| -% +[V: RH1] |: C G G | G F/E/D/C/ | C A A | A3 | C G G | G F/E/D/C/ | F E D | C3 :| +[V: LH1] |: z3 | z3 | z3 | z3 | z3 | z3 | z3 | z3 :| diff --git a/music/src/BoosterMusic/05-ScarboroughFair.abc b/music/src/BoosterMusic/05-ScarboroughFair.abc index ea44586..d898a0a 100644 --- a/music/src/BoosterMusic/05-ScarboroughFair.abc +++ b/music/src/BoosterMusic/05-ScarboroughFair.abc @@ -13,12 +13,10 @@ V: LH1 clef=bass %%MIDI program 1 3 %%MIDI gchordoff % -[V: RH1] |: D2D | A2A | E3/2F/E | D3 | zAc | -[V: LH1] |: z3 | z3 | z3 | z3 | z3 | -[V: RH1] d2c | ABG | A3- | Azd | d2d | -[V: LH1] z3 | z3 | z3 | z3 | z3 | -[V: RH1] c2A | AGF | E/C/-C2 |-C3 | -[V: LH1] z3 | z3 | z3 | z3 | -[V: RH1] D2A | G2F | EDC | D3- | D3 :| -[V: LH1] z3 | z3 | z3 | z3 | z3 :| +[V: RH1] |: D2D | A2A | E3/2F/E | D3 | zAc | d2c | ABG | +[V: LH1] |: z3 | z3 | z3 | z3 | z3 | z3 | z3 | +[V: RH1] A3- | Azd | d2d | c2A | AGF | +[V: LH1] z3 | z3 | z3 | z3 | z3 | +[V: RH1] E/C/-C2 |-C3 | D2A | G2F | EDC | D3- | D3 :| +[V: LH1] z3 | z3 | z3 | z3 | z3 | z3 | z3 :| % diff --git a/music/src/BoosterMusic/Introduction.md b/music/src/BoosterMusic/Introduction.md index 0640ba0..75e863b 100644 --- a/music/src/BoosterMusic/Introduction.md +++ b/music/src/BoosterMusic/Introduction.md @@ -1,4 +1,10 @@ +--- +pagetitle: 'Booster Music PianoBooster' +--- +
# Piano Booster Music Course +
+ This is the starter music course for the **Piano Booster** open source teaching system. If you are complete beginner please see the Beginner Music Course. diff --git a/music/src/README.md b/music/src/README.md new file mode 100644 index 0000000..73baaeb --- /dev/null +++ b/music/src/README.md @@ -0,0 +1,25 @@ +# Piano Booster Music + +These pieces of music have been created to work with **PianoBooster** and +have the creative commons copyright. + +_Please add to the music on this page - everyone can help._ For more information see this +[forum post](http://piano-booster.2625608.n2.nabble.com/Creating-music-for-PianoBooster-using-MMA-Everyone-can-help-td4167350.html). + +The piano parts for **PianoBooster** were created using the [ABC Plus music](http://abcplus.sourceforge.net/) system, +and the accompaniment was created with the [Musical MIDI Accompaniment (MMA)](http://www.mellowood.ca/mma/). + +The music in these directories has already been built to generate the MIDI files and PDF sheet music that work with **PianoBooster**. +Please see the [BoosterMusicBooks.zip](../BoosterMusicBooks.zip) zip file. + + +## Creating the MIDI files and PDF sheet music + +Only if you are contributing new pieces of music +or the translations have been updated will you need to run the script `makemusic.py`. + +Ensure that the following packages are installed: +`python3`, `abcm2ps`, `abcmidi`, `mma`, `pandoc`, `po4a`, `zip` + +To create an updated `BoosterMusicBooks.zip` file run the script `makemusic.py`. +This script has only been tested to work on Linux OS. diff --git a/music/src/makemusic.py b/music/src/makemusic.py index 50b78cb..267b7f3 100755 --- a/music/src/makemusic.py +++ b/music/src/makemusic.py @@ -127,7 +127,7 @@ def create_book_markdown(src_dir, book_name, song): web_md_path_name = build_web_dir + book_name + ".md" - execute_command("abcm2ps -i -g -c \"{0}.abc\" -O \"{1}.svg\"".format(ps_name, web_svg_path_name)) + execute_command("abcm2ps -i -g \"{0}.abc\" -O \"{1}.svg\"".format(ps_name, web_svg_path_name)) fix_svg_bug(web_svg_path_name) @@ -144,7 +144,7 @@ def create_book_markdown(src_dir, book_name, song): if in_file == 0: sys.exit("Open Error: " + src_path_name) - md_text = "\n![{0}]({1}fixed.svg)\n\n".format(song, src_path_name) + md_text = "\n![]({0}fixed.svg)\n\n".format(src_path_name) md_text += in_file.read() in_file.close() out_file.write(md_text) @@ -154,12 +154,10 @@ def create_book_markdown(src_dir, book_name, song): def create_pandoc_pdf(web_dir, book_name): output_dir = build_zip_dir + book_name execute_command( - "cd {0};pandoc -r markdown '{2}.md' -V geometry:\"top=1.5cm, bottom=1.5cm, left=2cm, right=2cm\" -fmarkdown-implicit_figures -o '../../{1}/{2}.pdf'" + "cd {0};pandoc --from=markdown+raw_html+yaml_metadata_block '{2}.md' -V geometry:\"top=1.5cm, bottom=1.5cm, left=2cm, right=2cm\" -o '../../{1}/{2}.pdf'" .format(web_dir, output_dir, book_name)) - - def process_songs(src_dir, book_name, all_song_names): temp_mma_dir = temp_dir + 'mma/' + src_dir + '/' make_dir(temp_mma_dir) @@ -187,6 +185,7 @@ def process_book(src_dir, book_name): def create_zip_file(): + os.system(f'cp "../../doc/images/pianobooster-note-chart.pdf" "{build_dir}/{zip_file_name + music_release}/"') rm_file("{0}/{1}.zip".format(build_dir, zip_file_name)) execute_command("cd {0};zip -r {1}.zip \"{2}\" ".format(build_dir, zip_file_name, zip_file_name + music_release))