Learning to Walk with TEI
Although I had planned to follow up on the translation / transcription of the text of the chapter De Symphonetarum Ingenio with the transkription of its 22 musical examples, I decided to postpone this until I have more time for extended transcription sessions in the library, where I can consult existing Editions of Josquin etc. Instead, I decided to get my feet wet with TEI and see how I could render it in the browser. TEI in itself is really not difficult at all, or so it would seem to me at the moment. I had the chapter marked up rudimentarily in no time at all, focussing on such basic things as <title></title>
, <name type="person"></name>
, and <term></term>
. The only hickup I encountered was getting to grips with the subdivisions of chapters with <div></div>
-tags, which I found less intuitive. I assume, the real chunk of work is yet to come when I have to decide on a coherent system for all tags in all chapters.
The great surprise came when I started to read up on how to render TEI-files in the browser: It was then that I encountered the marvellous CETEIcean JavaScript library that is built for expressly this purpose. With the help of this tool it was an absolute breeze, even though this was my first real contact with JS. It provides a nice set of defaults, everything can be easily targeted with CSS and the best thing is that it can easily be expanded to apply custom behaviour. So, I spent the next couple of days getting to know the tool and writing new behaviours with the help of the CETEIcean Cookbook. So by now, I can display Latin and German texts side by side and hook up tagged elements with relative and external links by using their @ref
attributes. I haven’t tested out tooltips yet, but they should be no problem. Of course, all of this is still very static, has no user input at all and the index.html
file from which I manage all of it is pretty much spaghetti code. So the next steps will include getting better at understanding JS, since I am still very much just copying the given examples and thinking about a more sustainable structure for my code. By the by, the Glarean Github repo is still deserted, since I am doing all of these tests in a local folder on a simple testing server – I wanted to wait with populating it until I have the structure figured out.
So the next step is to include actual notation. For that I will have to descend deeper into Verovio. Fortunately, the project just upgraded their loose set of tutorials to book long documentation, that seems way more in depth. Unfortunately, it is not nearly finished, with such crucial chapters as MIDI support still missing. I really hope it gets updated soon, otherwise I’ll have to see how to get at that information. In terms of MEI, I will have to decide on consistent editorial guidelines, probably along the lines of an authoritative edition, and descend into the depths of mensural notation, where my cushy MuseScore -> MusicXML -> MEI pipe might be considerably less useful. – The first encounter I had was already disheartening – turns out that Verovio does apparently not support the concept of “Mensurstriche”. Well, I guess I will have to settle for a more standard modern notation, given that I’ll hopefully be able to supply the original notation as well, that should not be too bad either.