There are plenty of opportunities to delete important files, and even cases where you deliberately do it and only some time later notice that it was a stupid mistake. However, if you are using version control you’re lucky because that doesn’t make you worry at all. No need to hope that some undelete tool can be applied in time before something else irreversibly overwrites the bytes on disk etc.
Well, this is neither new nor specific to music editing, but I thought it a good idea to write a short post about it anyway. It will increase the chance that someone involved in music stumbles over the information, and it is yet another spotlight on the potential of versioned workflows for music editing. Continue reading →
For quite some time I had been thinking (and to some extent writing) about the potential LilyPond’s plain text approach offers for implementing in-score annotations. The idea got stuck in a state of initial drafts because it requires Scheme skills that I don’t really have, but our crowd engraving project with the huge score was an incentive for me to implement at least a “working draft”, and as it turned out this was a priceless addition already in this initial state. Continue reading →
OK, the title of this post seems to be a cheap pun because it refers to the previous post about the “Segment Grid” approach. But in a way it is quite appropriate because that approach allows us to split our workflow into similarly arbitrary segments as the segment grid in the score suggests. Continue reading →
Ever since I started using version control for working with scores I mused about the potential this might have on a “community” approach to editing musical scores. In our edition of Oskar Fried’s songs I already enjoyed the positive impact on collaboration, but basically we had a team of only two people with more or less fixed roles: I was responsible for producing the content, Janek had to beautify the output. However, along the way I learned to enjoy the freedom and comfort LilyPond and Git offered as a reliable safety net when our roles started to blur to a small extent. I could make suggestions regarding LilyPond coding, and Janek reported issues with the content more than once. This triggered ideas about making musical editing team-ready the same way as software development works. The task of creating a huge orchestral score was a welcome opportunity to develop new tools and workflows. Today I will give you an idea about the fundamental concept of slicing the score into a “segment grid”. Continue reading →
Last time I introduced you to our crowd engraving project “Das trunkne Lied.” In this we will prepare performance material for Oskar Fried’s large cantata after a text from Friedrich Nietzsche’s “Also sprach Zarathustra”. Today I will give you some more background on the project from the musical and historical perspective. Continue reading →
My very first post on this blog was the announcment of a “Crowd Engraving” project: preparing the performance material for the voluminous orchestral score of “Das trunkne Lied” by Oskar Fried. Unfortunately it took a really long time, but now the project has finally picked up speed and changed its status from a task to a “living” project. We will update you with hopefully interesting reports and information on this blog so this will be the first of a series of posts, similar to our series of posts about our edition of the Oskar Fried songs.
Over the last year we have always written about the joy of working with plain text and version control, and particularly what a positive impact this has on our ways of collaboration. Doing that in a team actually takes it to the next level, and I can already ensure you that this really works out nicely . Continue reading →
As described in the introductory essay on its website LilyPond is modeled after classical plate-engraved scores. This deeply influences the way how LilyPond “thinks” about laying out objects on a virtual paper, but it also results in a characteristic “Look & Feel” that makes music engraved with LilyPond stand apart.
However, while this default appearance is undisputedly of high quality it is (of course) not to everybody’s pleasure, and it can be considered a rather severe limitation that the Emmentaler notation font is so deeply interwoven into LilyPond itself that it can’t easily be replaced with other fonts matching different styles.
But wait a minute: Did I say “it is a limitation”? Well, I have to stand corrected: It was a limitation, and this limitation has gone now! Continue reading →
All notation programs aim of course at being as powerful a tool as possible to help composers, arrangers and engravers rather than hold them back. I’d like to explore an area where I think you have to use these powers with care – I’m talking about tuplets.
This article is written from the perspective of writing music in LilyPond (this is after all the LilyPond blog) but my aim is that anyone interested in music notation should be able to follow this. Continue reading →
In my previous post “Trees, Music and Lilypond”, I introduced a hierarchical naming scheme to store music in a structured manner and then to use template functions on it. Now I will explain how template functions can also be organized hierarchically (in a tree) and “normalized,” and what benefit we gain from this. In short, this is an effective way to separate different tasks — storing the music (content) is one task and laying it out in a score (presentation) is another. While I was previously writing about the theory grounding this technique, I will now shift these ideas towards the actual implementation and the main goals of this approach. Continue reading →
In this post I write about some hierarchical aspects of typesetting music with LilyPond. In a way the elements that form a musical score can be split into pieces that stand in a hierarchical relation. We can make use of this relationship to do interesting stuff such as creating templates and injecting tweaks into a score without touching the music source itself. For my personal use I have developed several tools that help me manage my projects in a structured manner. Recently I made them publicly available and today I’ll start introducing them on this blog. This first post is about the theory behind the implementation which I will describe in following articles. Continue reading →