Skip to content
/ Jianpu Public

Convert a text-based JIANPU file to Lilypond Code

Notifications You must be signed in to change notification settings

dovecho/Jianpu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jianpu-ly.py

Jianpu-ly.py is a Python program to assist with printing jianpu (numbered musical notation) in the GNU Lilypond music typesetter. It is developed by Silas S. Brown, a computer scientist at Cambridge University in the UK.

There is also a Chinese version of the introduction of this program, called 在GNU/Linux下使用Lilypond排版简谱

This repository was forked from v1.145 on Dec. 18, 2017. It has since been updated to v1.694 (2023). The original download address is a click away:JIANPU-LY.PY.

There are several issues associated with this program which I am trying to solve and improve. So I transferred the program here to work on.

Update List

Known Issues

  • Continuous four crotchet beat will lead to forever parsing of lilypond: HERE (also fixed upstream?)
  • Octave note has alignment issues and different layout between 1 and 2 octaves: HERE (also fixed upstream?)

Want List

The biggest problem is, the music score for different instrument looks totally different. The first thing maybe to collect sufficent music score for different styles of music, and gather the requirement.

Sovable through JIANPU-LY

  • 重复小节的处理 process bar repeats: HERE
  • 上下加三点如何标注 how to add 3-dot octave marks above or below a note. Might need to tweak positioning of multiple characters, or \postscript, or try a font that has U+22EE ⋮

Solvable through Lilypond Codes

The following issues are solvable by adding Lilypond code inside the jianpu-ly input file (without needing to update jianpu-ly itself), but this does seem a bit of a hack.

  • Multi-bar rest marks 多小节休止的标注 (you can now do this in the jianpu input e.g. R*8)
  • Information about composer etc 作者等人物信息 (actually you can do this in jianpu input. Put composer=Name Goes Here on a line of its own in the input file. You can do the same for other headings like title as well—anything from Lilypond's header block can be written this way)
  • Instrument information 乐器信息 (for a single instrument you can put instrument=whatever on a line of its own in the jianpu input, but if you want a score with several instruments then you'll have to add Lilypond code)
  • Speed markings 速度信息 (you can do this in the jianpu input e.g. 4=85 or ^"a bit faster")

No Idea How to Solve

  • Fingering marks 指法信息 (done: use Fr=0 Fr=4 etc)
  • Copyright and other information 版权、所有人等信息 (you could try tagline= perhaps? see note above about header block)
  • How to process grace notes before and after the beat 前倚音、后倚音怎么处理 (this has now been done upstream)
  • How to notate various fingerings 各种指法如何标注 (SSB comment: my Chinese is not good enough to understand how this is different from the 指法信息 item above)
  • Multiple notes at one time 同时多音 (simple chords have now been implemented upstream)
  • Polyphonic arpeggios 多音琶音 (SSB: what??)
  • Multiple parts 多声部 (done: use NextPart)

About

Convert a text-based JIANPU file to Lilypond Code

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages