ssb22 / jianpu-ly

Jianpu in Lilypond
http://ssb22.user.srcf.net/mwrhome/jianpu-ly.html
Apache License 2.0
70 stars 18 forks source link

Simple chords can only be used in one octave #14

Closed gk3046 closed 2 years ago

gk3046 commented 2 years ago

WithStaff 135 11' 12' 13'

I got this: 2021-10-02 09-30-10 的屏幕截图

But I think it should be like this:(written in the ly file: { <c' e' g'> <c' c''> <c' d''> <c' e''> } ) 2021-10-02 09-33-43 的屏幕截图

And the midi file is also wrong.

By the way, I saw here that someone added the speed setting by a global variable "tempoValue". I think this is helpful for your "TODO". Hope you can add this to your code, thanks!

ssb22 commented 2 years ago

谢谢. When you write about two different things (octaves and tempo), please make two different tickets, so it's easier to do one at a time, thanks :)

Yes I think we should do tempo, but I don't think it should be a single global that does not change, because Lilypond nowadays can change tempo at any time during the music. You can do it with LP: commands:

WithStaff
LP: \tempo 4 = 96
:LP
1 2 3 4
LP: \tempo 4 = 84
:LP
5 6 7 1'

but this will look wrong on the jianpu staff. Before adding a command, I need to know what the output should look like. Should it just say "4 = 84" in text above the second bar? Or is it more complicated than that? Is there an example of published jianpu music that changes tempo half way through that I can look at to check what it looks like? Thanks.

gk3046 commented 2 years ago

I'm not a professional musician, and I'm not sure what it should look like. Maybe it's similar to 5-line staff. Almost all the jianpu I've seen has a fixed tempo. Thank you for letting me know the usage of "LP::LP", that is enough for me :D

ssb22 commented 2 years ago

A player in our local Chinese orchestra (CUCOS) has now sent me a scan of some jianpu music with a metronome-mark change in it, and they just used the Western symbol for it (♩=76). That means we can pass the Lilypond command through without change (unless perhaps we want to reduce the size of the symbol a bit), and the rest is just a matter of making the syntax a bit easier.