|
It is currently Sun Apr 28, 2024 2:50 am
|
View unanswered posts | View active topics
Staff Tab notation with GNU Lilypond
Author |
Message |
rekado
Joined: Sat Aug 20, 2011 2:06 am Posts: 11 Location: Shanghai
|
Staff Tab notation with GNU Lilypond
Hi *, inspired by Eric's idea to write a Lilypond engraver for StaffTab output (see here), I decided to implement this. Eric's repository has been on github for a while without any recent changes, and I planned to learn Scheme anyway. Here's my repository: https://github.com/rekado/LilystickThe engraver is functional already, although the output still needs a fair amount of tweaking. I'm just announcing it here because I hope fellow coders can take a look at the code and supply patches. Release early, release often. Here's what's working: - basic string markers - note head substitution based on fingering - fret calculation based on pitch and configured tuning Here are a number of things that are still missing or broken: - string markers should be arranged in chord shape - fret numbers for chords should not be stacked but combined with dots - easily tweakable settings (like Stick tuning, colours, etc.) - the note heads are not polished yet If you are interested, feel free to play with the code and submit patches. The code is GPL'd. You can submit bug reports via the github issues interface.
_________________ About myself: http://elephly.net
|
Sat Aug 20, 2011 2:24 am |
|
|
EricTheGray
Multiple Donor
Joined: Fri Dec 21, 2007 8:02 pm Posts: 1851 Location: Monona, WI, USA
|
Re: Staff Tab notation with GNU Lilypond
I'm getting the code together that I have so far. This is my hugely busy time just before the start of a school year. It's on the list and I'll get to it soon. I promise!
-Eric
_________________ Rosewood SG12 #5966, Mirrored 4ths Twitter: @ejknapp http://ericjknapp.com
|
Sat Aug 20, 2011 9:13 am |
|
|
rekado
Joined: Sat Aug 20, 2011 2:06 am Posts: 11 Location: Shanghai
|
Re: Staff Tab notation with GNU Lilypond
EricTheGray wrote: I'm getting the code together that I have so far. This is my hugely busy time just before the start of a school year. It's on the list and I'll get to it soon. I promise!
-Eric That'd be great. I'd love to see how our approach differs. Would be good if we could merge the code in the long run. Next thing I intend to do is to carve out the tunings to a separate file and make custom tuning definitions possible. There is no need to hurry, though. I'm actually really busy, too, and should not be playing around with code. (It's just so much fun!)
_________________ About myself: http://elephly.net
|
Sat Aug 20, 2011 9:24 am |
|
|
EricTheGray
Multiple Donor
Joined: Fri Dec 21, 2007 8:02 pm Posts: 1851 Location: Monona, WI, USA
|
Re: Staff Tab notation with GNU Lilypond
rekado wrote: Next thing I intend to do is to carve out the tunings to a separate file and make custom tuning definitions possible. I was working on this. It should be possible to define a tuning and have the engraver determine the string and finger symbols and the fret numbers automatically. It would not be accurate always, and we would have a way to override and set everything manually. The surprise is how often it would be correct. rekado wrote: There is no need to hurry, though. I'm actually really busy, too, and should not be playing around with code. (It's just so much fun!) I hear ya. Since I'm using this project to learn Scheme, I will get back to it. Just not this week. I'm at a conference and when I get back to my computer I'll start making a bundle of code for you. -Eric
_________________ Rosewood SG12 #5966, Mirrored 4ths Twitter: @ejknapp http://ericjknapp.com
|
Sat Aug 20, 2011 10:28 am |
|
|
rekado
Joined: Sat Aug 20, 2011 2:06 am Posts: 11 Location: Shanghai
|
Re: Staff Tab notation with GNU Lilypond
EricTheGray wrote: It should be possible to define a tuning and have the engraver determine the string and finger symbols and the fret numbers automatically. It would not be accurate always, and we would have a way to override and set everything manually. The surprise is how often it would be correct. My code currently has one tuning defined (the default 12 string tuning) and the fret numbers are calculated based on the given string number. That is always accurate (if the tuning is correct). If no string number is provided, the previous string number is used. This simplifies the score quite a bit, as only string and fingering changes have to recorded. But I don't see how one could let the engraver guess the finger symbol just from a pitch. This seems to me too much like magic (and I don't think I would like Lilypond to guess the fingering for me). Guessing the strings is possible but I don't see the value in it. When one writes scores with Lilypond for a Stick arrangement, one would certainly know the preferred positions and fingering already. Adding lots of code to allow a user to leave away something like "-2\5" ... this doesn't seem worth the effort. Adding tunings is trivial, but it cannot yet be overridden due to the way I nested the code. When I can find an excuse to work on the code rather than study I will fix this. EricTheGray wrote: Since I'm using this project to learn Scheme, I will get back to it. Just not this week. I'm at a conference and when I get back to my computer I'll start making a bundle of code for you. Great. Once that's ready I'll take some moments to merge your code with mine. There are only so many ways one can implement an engraver, so it shouldn't be too difficult.
_________________ About myself: http://elephly.net
|
Sat Aug 20, 2011 7:42 pm |
|
|
earthgene
Site Donor
Joined: Wed May 25, 2011 3:28 pm Posts: 4106
|
Re: Staff Tab notation with GNU Lilypond
Rekado / Eric,
Hey guys, what are the chances of getting involved with this. I was getting ready to take the plunge with performer but would love to hear your thoughts on lilypond and developing for lilypond.
Fascinating to read about! Hope you are both well, take care!
Gene
_________________ Gene Perry http://www.geneperry.com http://www.freehandsacademy.com
|
Sun Dec 01, 2013 7:27 am |
|
|
EricTheGray
Multiple Donor
Joined: Fri Dec 21, 2007 8:02 pm Posts: 1851 Location: Monona, WI, USA
|
Re: Staff Tab notation with GNU Lilypond
earthgene wrote: Rekado / Eric,
Hey guys, what are the chances of getting involved with this. I was getting ready to take the plunge with performer but would love to hear your thoughts on lilypond and developing for lilypond.
Fascinating to read about! Hope you are both well, take care!
Gene Hi, Gene. I love Lilypond, it is the best notation software for accurate layout and quality of the finale scores. There is a learning curve and the people who can learn it the quickest are programmers. Lilypond is essentially a compiler. It takes text files with a custom LaTeX syntax and creates a postscript file. That postscript file is then converted to a PDF document. The program is written in C++ and you can customize it with that language. However, Lilypond includes a Scheme interpreter and the more common way to customize it with with Scheme scripts. That's what LilyStick is, a custom engraver written in Scheme. Once you know the Lilypond syntax and the way it works, adding LilyStick is straightforward. Lilypond is not only the best software for music notation, it is also an open-source project and is therefore free. There is a very active community of developers and users. I'd be very happy to help you learn and use it in any way I can. Let me know if you have questions. -Eric
_________________ Rosewood SG12 #5966, Mirrored 4ths Twitter: @ejknapp http://ericjknapp.com
|
Sun Dec 01, 2013 2:26 pm |
|
|
carvingcode
Multiple Donor
Joined: Thu Nov 21, 2013 5:53 am Posts: 768 Location: Dayton, Ohio
|
Re: Staff Tab notation with GNU Lilypond
Has anyone looked at MuseScore for notating StickTab? It is also an open source project but works more like a Finale/Sibelious than code.
Randy
_________________ Randy Brown
Rosewood Alto #5764
|
Sun Dec 01, 2013 2:43 pm |
|
|
EricTheGray
Multiple Donor
Joined: Fri Dec 21, 2007 8:02 pm Posts: 1851 Location: Monona, WI, USA
|
Re: Staff Tab notation with GNU Lilypond
carvingcode wrote: Has anyone looked at MuseScore for notating StickTab? It is also an open source project but works more like a Finale/Sibelious than code.
Randy If you can add a font to MuseScore then you should be able to notate StaffTab with it. -Eric
_________________ Rosewood SG12 #5966, Mirrored 4ths Twitter: @ejknapp http://ericjknapp.com
|
Sun Dec 01, 2013 3:11 pm |
|
|
rekado
Joined: Sat Aug 20, 2011 2:06 am Posts: 11 Location: Shanghai
|
Re: Staff Tab notation with GNU Lilypond
earthgene wrote: Rekado / Eric,
Hey guys, what are the chances of getting involved with this. I was getting ready to take the plunge with performer but would love to hear your thoughts on lilypond and developing for lilypond.
Fascinating to read about! Hope you are both well, take care!
Gene If there's demand I could improve the LilyStick code some more and try to get it merged into mainline lilypond. It would be possible to do that now (I've done it in a local branch before), but there are a few features missing that I'd like to implement before it's merged. I haven't worked on LilyStick in a while because it works well enough for me and it didn't seem like there were enough people interested in it to justify spending more time on polishing it. If you are interested in hacking on LilyStick and you need an introduction to the code, just let me know.
_________________ About myself: http://elephly.net
|
Mon Dec 02, 2013 5:10 am |
|
|
|
Who is online |
Users browsing this forum: No registered users and 133 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|