Throughout the lifetime of this blog we have been propagating a certain perspective on music engraving and music editing. Its idea is to take advantage of methods, tools and workflows from software development and computer science. Agile software development is one of today’s strong tendencies in software development, sharing important parts of our endeavors and ideas. So why not give it a shot and draw from it, working towards agile music edition? Continue reading →
This post is partly an advertisment and partly a success story of creating Beautiful Scores with LilyPond which I had the opportunity to experience recently.
2015, April 26th, 3pm and 5pm we will play a children’s version of Richard Strauss’ „Der Rosenkavalier“ in the Philharmonie of Berlin, commissioned and played by the Berlin Philharmonic Orchestra. I made the arrangement, the engraving, and I will conduct these performances. Continue reading →
It’s been about a year since I started a category with Scheme tutorials, and back then I declared them as a “documentation of my own thorny learning path”. By now I’ve experienced a significant boost in Scheme “fluency” which was triggered by (and at the same time enabled) a number of projects and enhancements, for example the ScholarLY package and the jump into a fundamental redesign of openLilyLib. I thought it would be a good idea to pick up the tradition of these tutorials before I forget too much about the difficulties of finding my way around LilyPond’s Scheme. This is of course not a carefully crafted “curriculum” but it will always be a random collection of (hopefully) useful snippets of information, each one written with the goal of explaining a single topic in more depth and at the same time more casually than the LilyPond reference can do.
Today I’m writing a tutorial that I would have needed a year ago 😉 about one thing that always vaguely confused me. I usually managed to just get around it by either routinely “doing it as always” or by getting some ready-to-use code snippets from a friendly soul on lilypond-user. This is the topic of defining music-/scheme- and void-functions in Scheme. I will analyze a music function I introduced in last years’ posts and explain what is going on there. Understanding this gave me surprising insights, and I think knowing this kind of stuff is really helpful when trying to get more familiar with using Scheme in LilyPond. Continue reading →
I have a music generating software project, written in Lua, called the Platonic Music Engine (PME). It started its life as a simple tool to be used by several other projects I’m working on but has gotten so out of hand that it has taken on a life of its own. It aims to do everything musical that can ever be done. Part of this goal is to be able to generate sheet music in a variety of styles which is where Lilypond comes in. Continue reading →
Oh my, it’s been quite some time since my last post – fortunately there has been at least a guest post recently and there are more in the pipeline. I have been working hard under the hood and there are exciting things going on, but nothing was in a state to be presented here. Now finally I can break the silence and write about one of the topics, at the same time providing some glimpses into other parts of current development in LilyPond’s ecosystem.
As you know (if not: it was announced in “LilyPond’s Look & Feel”) Abraham Lee has enabled LilyPond to use alternative notation fonts, and he already has provided an impressive range of fonts with various styles that are available from fonts.openlilylib.org. In a two part series I’ll introduce you to this new world of stylistic variety that has become possible through Abraham’s work and that openLilyLib makes easily accessible now.
Today we’ll take a first tour through LilyPond’s font handling in general – as it has originally been designed, as it has been until now, and as it will be from now on. In the next post I’ll take the presentation of “Arnold”, a new font Abraham created upon my suggestion, as an opportunity to dig slightly deeper into this topic and show you the tools provided by openLilyLib in some more detail. Continue reading →
This month, March 2015, marks J.S.Bachs 330th birthday. For the occasion, the Pirate-Fugues team has published a new edition of 4-voiced transcriptions of the songs from Schemellis Musicalisches Gesang-Buch, BWV 439–507. LilyPond is among the tools in our production pipeline.
It has become a kind of a habit that more involved edition projects that I’m doing with (or as) beautifulScores not only produce beautiful printed results but also improve or extend LilyPond’s capabilities along the way. Take our award-winning edition of the songs of Oskar Fried for example. More or less direct by-products were Janek’s enhancements to shaping curves, Frescobaldi’s new Layout Control Mode and my lilyglyphs LaTeX package. Publicly shared insights about the usefulness of version control for musical work may be considered a surplus in this respect …
Now it seems our crowd engraving project on “Das trunkne Lied” by the very same composer yields even more important results. With ScholarLY I just created a spin-off from our orchestral score’s project directory that may soon become a serious editorial toolkit and make LilyPond an even more indispensable tool for scholarly work. Continue reading →
Partially recompiling a score has been a major LilyPond feature request for quite some time. I hope I have now found a promising path towards that goal, and today I’m going to present a first working version of that function. For this I’m heavily relying on Jan-Peter Voigt’s work on lalily and his Music Tree ideas. But fortunately what I’m proposing is very simple to use, without having to dive into the (still) complex world of the edition-engraver. Continue reading →
It all started with a thread on the Frescobaldi mailing list with the basic underlying question: Can the modal transpose (in Frescobaldi) be used to shift from one mode to another? After some discussion the answer turned out to be both yes and no.
Below I’ll elaborate on this apparent inconsistency and also introduce a new feature to accommodate the request for a tool to shift between modes. Continue reading →