Musicologists have a hard time — namely if they want to enrich their LaTeX texts by score examples and harmony analyses. Up to now, there did not exist any study of whether and how that could be realized with free software. This article summarizes a German-written self-referential tutorial teaching what’s possible and what is not with respect to LaTeX and Musicology:
How it started
In the beginning, there was my task to write a musicological work. I had already explored and documented how one can write humanistic texts with LaTeX. proScienta.ltx — a project ‘hosted on GitHub‘ — covered the results, a former version was labeled ‘myCsrf’. Their specific intentions have been described in a sophisticated German tutorial and in a shorter English version.
Nevertheless, I did not know how one could generate musical examples with free software and embed them into LaTeX texts. The first rough internet recherche presented a lot of tools and methods but did not provide any manual. It did not deliver any explication on how to successfully combine which tools and did not find any tutorial on how one could link notes and harmony analyses.
So, I postponed my original task and examined the topic LaTeX and Musicology: I preferred to know the best method before I started to not back the wrong horse. Finally, my investigation was documented in a larger text: It reviews smaller tools, describes usable backend systems, discusses frontends, tests converters and delivers a map of conceivable and really possible toolchains.
As usual, I have published the sources of the eBook LaTeX und Musikwissenschaft as open-source-software. Additionally, I have uploaded the compiled pdf-file ‘Musikwissenschaft mit LaTeX’. The point is, that this investigation backhandedly became a self-referential tutorial that explains, what it shows. This article summarizes the core results of that study
We know three free backend systems for embedding scores into LaTeX texts: the ABC notation method, MusixTeX, and LilyPond. All these techniques create well-readable scores. But LilyPond has the edge over the others.
The ABC backend — as well as the LilyPond backend — creates pictures of scores that are embedded into the LaTeX text as graphics. Hence, it is systematically not possible to comment or modify the examples on the LaTeX level. Both backends use a simple representation language. But again, the LilyPond language is a bit smarter. And both backend systems only allow integrating simple harmony analysis symbols into the scores. They do not offer a method to represent complex harmonic relationships on a level that fulfills the needs of musicology.
The alternative — MusixTeX — works differently: It represents the notes on the LaTeX level. That allows, to comment and improve the scores by LaTeX-based symbols. This capability is used by the LaTeX package harmony. It offers the possibility to integrate very sophisticated symbols into the music score. But one has to pay a heavy price for using the method with its elegant results: the syntax of MusixTeX is so complex and unwieldy, that it decreases the productivity of its users.
Hence, the situation was a bit inconvenient, even if one only considered the backend systems: A musicologist had either to keep in mind, that he would need a lot of time to create his examples. Or he could use a simpler representation language and had to refrain from using the symbols his profession required
A way out
I could not accept one of these positions. Therefore I interrupted my running investigation and developed a library, which should at least be able to do that for LilyPond, what harmony did for MusixTeX. Consistently, I named it harmonyli.ly. As usual, I published harmonyli.ly as open-source software, created a harmonyli.ly internet page, and wrote a complete harmonyli.ly tutorial. So, the method LaTeX + LilyPond + harmonyli.ly became a real alternative to LaTeX + MusixTeX + harmony. Here comes the first example that indicates the potential of harmonyli.ly:
Thanks to the help of the LilyPond community, harmonyli.ly has become a tool for musicologists, which functionally exceeds harmony and is documented on a level, which eases its use.
Musicologists are also musicians; they prefer to read and write scores instead of having to deal with special representation languages. Therefore, I wanted to learn, which frontend systems resp. editors could create input for which backend system. An internet query provided a bunch of candidates. I tested the relevant items with respect to their availability and usability. In the end, 7 candidates remained: EasyABC, Denemo, Rosegarden, MuseScore, Canorus, Frescobaldi, and Elysium. But at last, I found that
- only the semi-graphical editors Frescobaldi and Elysium could directly and successfully deal with LilyPond and harmonyli.ly
- there did not exist a frontend for MusixTeX — neither directly, nor indirectly by using a converter
- one could use MuseScore as a graphical editor for LilyPond if one accepted to export the results as MusicXml, to convert that result by using musicxml2ly, and to subsequently insert the harmony analysis symbols via Frescobaldi or Elysium
So, finally, I met a very reduced result — even if I considered the existence of converters:
- In the end, one cannot set up an ABC based toolchain for integrating music examples into LaTeX texts.
- The advantage of the method LaTeX + MusixTeX + harmony is its seamless integration into the LaTeX environment and the possibility to enrich the symbols by LaTeX syntagms.
- The disadvantage of the method LaTeX + MusixTeX + harmony is the complexity and the unhandiness of MusixTeX. That there does not exist any specific (graphical) MusixTeX editor does not simplify the world.
- The disadvantage of the method LaTeX + LilyPond + harmonyli.ly is that the scores are only embedded as prepared images. Therefore, one has separately to consider the intended resolution and scaling.
- But there are several advantages of the method LaTeX + LilyPond + harmonyli.ly:
- The syntax of LilyPond is obviously more simple than that of MusixTeX.
- Frescobaldi is an excellent semi-graphical LilyPond editor.
- Elysium is an excellent Eclipse-based LilyPond editor.
- In the future, Canorus could become the third editor.
- Those, who need a graphical editor, could use MuseScore, if they agree to export and convert their work and integrate the harmony analysis symbols in a second step.
Hence, it should be clear, what I will use when I will start my task, which stood at the beginning of this adventure: I will use LaTeX + LilyPond + harmonyli.ly.
Overall, I am happy that I could floodlight the jungle of opportunities provided by the internet and that I found really usable ways. Now I know, what’s going on. And I need not fear that I could have to change the horse during my ride and lose results that I’ve created as part of the process.
But I wished, I had got this study by another guy instead of having to write it by myself. That would have saved a lot of time. Thus, I hope, that others can use my prework and spend the time they gain on more productive aspects of their life.
And in what way is this …
… article related to the topic ‘Sciences’? To write humanities papers (on Linux), you need an appropriate scientific LaTeX framework. For papers on musicology in particular, scientific texts must be expanded by music examples — mostly written with LilyPond and its libraries. That is the topic also this post wants to support.