Schemellis Gesangbuch

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.

Some of the arias in Georg Christian Schemellis song book are fairly well known, for instance: Ich steh an deiner Krippe hier, BWV 469, and Komm süsser Tod, BWV 478.

Each original score from the collection consists of 2 voices:

  • a soprano voice with lyrics, and
  • a bass voice with Generalbass notation.

Here is an example: The first few measures of Mein Jesu, was für Seelenweh, BWV 487


In order to create a 4-voiced transcription, we add 2 voices in between the 2 existing ones. The resulting score could look something like


Transcriptions of these songs already exist. So what is special about our edition? Our goal was to create the 4-voiced transcriptions as faithful as possible to J.S.Bach’s own musical style. And, we want the computer to help us do it. Our composition approach is data-driven: Our custom made software harvests patterns from over 1700+ digitized scores by J.S.Bach.

The process is not fully automated, and we don’t think this is desirable anyways. Instead, the software computes between 10–30000 suggestions of up to 3 measures in duration. The suggestions are readily sorted according to intuitive mathematical criteria such as

  • voice coverage,
  • number of notes,
  • frequency of note constellations in database.

These and other categories allow the user to filter and narrow down the numerous possible insertions in a convenient and meaningful way.

The creative process usually takes 15–45 minutes for an entire song and requires a lot of user interaction. The video is only a summary to illustrate what the computed suggestions look like for the song BWV 487 already introduced above:

Note that, the sequential start-to-finish fashion is only to make the video align with the music. During the composition phase, the user can choose to edit the score in any order.

Before we elaborate on the role of LilyPond in our publication, we wrap up the description of the project:

Our software has a unique set of requirements:

  • the music notation (as shown in the video) requires precise control over the note placement in order to prevent jerkiness when browsing the suggestions;
  • extra information is drawn into the score: selected pitch range for computation, available pitches in the suggestions;
  • user interaction with the mouse filters and narrows down the suggestions.

No prior API was available to perform these tasks. So instead, we developed our own and called it The Pirate Fugues.

The audio for the collection of 69 songs is synthesized using 3rd party software Pianoteq, Ivory II, and Hauptwerk (all trademarked!, and to none of which we are affiliated). For each song, we provide an animation that visualizes the suggestions by our software and indicate the local correlation of the final score to the database. The website of our project is where you can listen to the results, download the sheet music, and find additional information on the technique.

Disclaimer: Faithful to J.S.Bach’s style is a bold claim and one that invariably sparks controversy. Although we have taken great care in compiling each score in the collection, there is room for improvement. Apart from creating the music, another objective of the project was to learn about the strengths and weaknesses of the software. Independent of your background in music, feel free to let us know what you think. Thank you!

Now, back to LilyPond:

We have introduced LilyPond to our workflow about 2 years ago. From Lilypond, we have adapted

  • the chord notation,
  • the ornament labelling and graphics, as well as
  • the Mensur note apparel.

Since then, all scores from our projects are algorithmically exported LilyPond for on-screen preview, and ready-to-print pdfs. We are not aware of any alternative to LilyPond that is as convenient and yields results of the same visual quality.

In the future, we hope that notation software like LilyPond will be able to imitate the handwriting of famous composers such as J.S.Bach.

11 thoughts on “Schemellis Gesangbuch

  1. Dave

    > In the future, we hope that notation software like LilyPond will be able to imitate the handwriting of famous composers such as J.S.Bach.

    I had the same thought about Bach and also John Cage (and many others). It is now possible to do this thanks to the work done at Alternative Lilypond Fonts project. I keep meaning to start working on a font but get sidetracked by other issues.

    1. Simon Albrecht

      Quite similarly to what I wrote below, I think it’s in the end absurd to imitate a handwriting, and most of all one that is so elaborate, beautiful and individual as Seb. Bach’s, by means of computer software. Don’t get me wrong, there are beautiful and valuable text and notation fonts, but it’s just a different thing from handwriting altogether and this shouldn’t get confused.

      1. David Bellows

        Absurd? I don’t think I see it. A music font is a music font and if someone wants to use one that is based on the handwriting of another composer then so be it. There is nothing sacred that is being blasphemed, only someone making a conscious choice to express their artistic endeavors in a manner they deem befitting the subject.

  2. Simon Albrecht

    Now, you encourage everyone to give their opinion, and here’s mine: I think this is complete nonsense.
    Composing is a creative process, almost regardless of what style you’re composing in. So it’s an individual act, which cannot by principle be imitated by a computer, which knows but 0 and 1. Even in the most determined musical styles, there comes the point where it’s a matter of taste, and if it’s only how to lay out the rules for making the composition. If you want to conduct research on the possibilities of computing, then there may be some point on the work you’re trying, but there is no chance that anything of artistical interest could result thereof. To be more concrete: the contrapuntal quality of the 4-part example above is abysmal, and every single composition student and most other musicians could easily do better. You’d spend less time having arrangements made by hand, and with far better results.
    I listened to one example on your website, and it made me think: probably most people wouldn’t notice anything about the grave deficits in craftsmanship and just enjoy listening. They wouldn’t be confused by the absolute stiffness of MIDI rendition, the artificial, shallow sound and any number of errors in the accompanying voices. But this cannot be a reason to abandon real, quality music making for this cheap fake.
    I think music should be a means of communication and expression between humans (and – for many and most certainly for Bach – with God…), not the result of abstract calculations.

      1. Urs Liska

        I think that comment is a bit harsh and not completely appropriate. The post doesn’t pretend the computer is composing the setting, instead they claim to let the computer analyse original scores and make proposals from which the (human) editors will finally choose. So in a way you can consider this similar to engraving scores with LilyPond where the computer makes lots of decisions but you as the editor have the final say if you want to accept them. They also say that the project is an experiment and a learning experience.

        However, you are right in that the decisions taken are not always up to par with the task, and many things can be considered un-Bach-like. Maybe many students would do better, maybe not. I think this is an interesting result of the project: While I assume that virtually all notes, harmonies and voice-leadings are “authentic” in the sense that they exist in original Bach scores (otherwise the computer wouldn’t have been able to propose them), but this doesn’t guarantee that they will also work in any given situation. So a computer would have to learn much more if it were to be expected to complete that task as accurate as a human arranger. Obviously artistic experience and intuition is significantly more “efficient” than recreating that through numbers.

        However, maybe you are right with your warning that unexperienced listeners could mistake the results for “the real thing”, including the musical text and the audible rendering. So it might be a good idea to make things a little clearer on the project’s website.

  3. datahaki Post author

    Thank you very much for the feedback so far!

    Using the notation font Gutenberg1939 provided by Abraham Lee, we have recently compiled the scores into a single document: schemellis_gesangbuch.pdf

    Our plan is to revise the algorithms, and then proceed with the Sonatas by Arcangelo Corelli.

  4. Pierre Chépélov

    1. This project does not produce “transcriptions” but “realizations” of the inner voice of the music.
    2. Despite the arguable artistic inanity of your experiment, it is interesting, and it is imaginable that a computer program could succeed in producing a correct realization of the inner voices.
    3. You are right when you suggest that your “Faithful to J.S.Bach’s style” claim is overstated. The problem of the style lies in
    a) the “mathematical criteria” you chose,
    b) the “non-automated”, i.e. human part of the process.
    − Both should be more informed of what is correct or good in this style, or not.
    Let’s see your example: the beginning of BWV 487. While every single chord in your version can exist in a chorale version by J.S.B. or one of his contemporaries, where (in Bach’s written works, that at least your computer shall have read and analyzed) did you find such progressions as, for example, the third cadence, with its ascending seventh (bar 5, beats 2-3)? (And how can you describe that chord as an E° ?)
    Every well-trained harmony student should do better, and every normally-skilled continuist will do it instantly.
    IMHO you should not publish more than one or two examples of this kind, before upgrading your system’s abilities (and your musical ones).

    [EDIT after reading your BWV 446: Aargh! Remember that parallel fifths and octaves are not usual in Bach’s style.]

    1. datahaki Post author

      Thank you for your comment. Really sorry for the delay in replying you, I am travelling these days.

      To present you with a match for the requested transition, I made a video demo. The match is from “Motet 230a” (=name of the piece in the database).

      In my convention E^0 = [e g bes], and the additional [c] is tolerated, since the effect of E^0 dominates.

      1. Algorhythm

        With all due respect, but [e g bb c] is (traditionally!) identified as a C7/E (also called a C7 sixth chord, first inversion or whatever else).
        While I consider this to be quite an interesting and promising project, there is a lot of work to be done; especially with regard to correct voice leading and suitable chord choice.
        May we expect a (hopefully improved) re-make? After extending your algorithms with some basic voice leading control (like avoiding consecutive fifths/octaves, correct leading tone handling, big voice leap prevention, filtering of pointless harmonization), a re-run shouldn’t be that hard, doesn’t it? 🙂

        1. datahaki Post author

          * “correct voice leading and suitable chord choice […] (like avoiding consecutive fifths/octaves…”
          * “[…] correct leading tone handling, big voice leap prevention, filtering of pointless harmonization”

          Your suggestions are indeed very welcome for a 2nd edition. The effort, however, is more than just a press of a button: the organ recordings as well as video renderings have to be recompiled individually.

          On top of that, after playing the 69 pieces on the piano, we are considering to introduce a “playability with two hands” criteria.

          Do you know of any algorithm that quickly computes fingering, and rates the difficulty of playing an excerpt for single player (=2 hands) on the piano?

          Thank you!


Leave a Reply

Your email address will not be published. Required fields are marked *