Print Story lilypond, church music, etc
By gzt (Thu Aug 08, 2013 at 01:03:19 PM EST) gzt, typesetting, church music, obikhod, lilypond (all tags)
So I've started typesetting some music myself out of annoyance.

I typeset two pieces so far. One was an example of the problem I'm going to talk about below (completely formulaic, based on altering an existing file I found on the internet), the other was re-setting a piece we had in G into F, even though, I mean, really, even though everything we do is based on relative pitch. This was mentioned when I pointed out earlier that it's kind of annoying to have one thing set in C when it appears on one page and to have it appear set in F a few pages later. I mean, it's a whole fourth difference - when I see that I think they're shifting keys intentionally and going to pitch it higher in my range, not that we're using the same root. F vs G, however, it's easier to figure out whether we want to go down or work off the same root. Also annoyance: apparently when you're writing something down in G in lilypond, when you say "f" it thinks you mean F natural. This is perfectly fine and makes sense, it just annoyed me as I feel like I should have to specify when I'm departing from the scale, not when I'm staying on the scale. I mean, it's not marked F# on the staff.

Back to chant: now I'm wondering whether it would be worth it to try to write a script to do some typesetting for me automatically.

Here's the problem, and it's extensible to any system of chant: you have a system of chanting where all you need are a text and an indication of what chant you're doing and then the entire score of the music will be known automatically to the cantor or choir. You also have a typesetting program (lilypond) that generates PDFs of musical scores based on text files. So it seems that it should be quite feasible to go from text files containing the words and an indication of what tone they are in and automagically generate PDFs of music.

Of course, computer parsing of text is hard. This involves counting syllables and such, and that gets to be a pain. These texts are typically given out with the one or two points in each line where the chant does the interesting stuff indicated, which is perhaps the hardest problem to parse out, and I think people would not mind some additional manual processing of the text file before input into the problem (eg manually separating out some syllables with a -- ).

There is already a program that kind of does this, lilychant, and it does it in great generality (at least, as far as Russian church music is considered), but at the expense of requiring a lot of markup on the behalf of the user. I also can't get it to compile on Lunix. I'm willing to sacrifice extensibility (eg, can only do Obikhod and Kievan chant rather than everything) and power for ease of marking the text.

Anyway, so I might fiddle with this later. Or not. Who knows.

< My working environment is wonderful | 40 Days of Hell - Part 1 >
lilypond, church music, etc | 14 comments (14 topical, 0 hidden)
+1 lilypond by lb008d (2.00 / 0) #1 Thu Aug 08, 2013 at 02:11:17 PM EST
I think it has by far the best looking output of any notation program.

I'll look into lilychant, maybe I can get it compiling. What distro do you use?

fedora by gzt (2.00 / 0) #2 Thu Aug 08, 2013 at 02:53:03 PM EST
the one thing that annoys me is that the output looks a little big to me, which isn't a terrible thing, but i haven't been able to convincingly get it more compact. oh well.

it's set up as a visual studio project and probably just needs some library or header file or something that MS ships.

[ Parent ]
I like lilypond. by ana (2.00 / 0) #3 Thu Aug 08, 2013 at 05:08:49 PM EST
And, as you say, pointing a text is not an entirely deterministic process (and depends on accent structure of the text, etc.). Though text-to-speech algorithms seem to do an okay job of that.

...while producing the occasional howler. I was in Colorado last week, and the voice in Google Maps on my phone instructed me to take the ramp to I-25 towards "Colo Springs". I imagined a park where colocation facilities are fostered and grow to adult size before harvesting. (The signs do say Colo Springs, which is of course short for Colorado Springs, the next city of any consequence south of Denver.)

I now know what the noise that is usually spelled "lolwhut" sounds like. --Kellnerin

Obikhod and Kievan... by gzt (4.00 / 1) #5 Thu Aug 08, 2013 at 05:38:32 PM EST
...are a bit easier than, say, Anglican psalm tones, in that you have lines that are 6-14 syllables  long (this is not specified, they can be longer), and only the first and last couple syllables are anything other than recitativo. And the accented syllable is usually indicated in the text.

eg example text:

6th tone
In Your Cross, we glo/ry, O Christ.
We sing and glorify Your Re/sur/rection.
For /You
are our God,/
and we know no /oth/er than You.

And I presume I would be willing to manually separate out syllables, so something like this would be the input:

6th tone
In Your Cross, we /glo
-- ry, O Christ.
We sing and glo -- ri -- fy Your Re -- sur -- rec -- tion.
For You are our God,/
and we know no /oth
-- er than You.

And then the program would notice it's in tone 6, has four lines, so it uses the pattern A B C Conclusion (if it had, say, 5 lines, it would use A B C A Conclusion, if 6, A B C A B' Conclusion...), the first line has four syllables for the cadence, the next line has 3 syllables for the cadence, etc, and then sets the notes accordingly. This should not be too bad, as the hard work has been done already. Might have to also consider whether the cadence starts inside a word or not, or that could just be something that gets tweaked.

[ Parent ]
well, that ate my formatting. by gzt (2.00 / 0) #7 Thu Aug 08, 2013 at 05:41:28 PM EST
oh well.

[ Parent ]
out of idle curiousity, by the mariner (2.00 / 0) #4 Thu Aug 08, 2013 at 05:34:42 PM EST
is there a way to create lilypond music interactively using texmacs or sth similar? e.g. as you would in midi sequencing software?

probably by gzt (2.00 / 0) #6 Thu Aug 08, 2013 at 05:40:54 PM EST
I'm using emacs and there's a mode for it. doesn't seem to work terribly well, but I'm sure it can be made to. lilypond is also extensible with Scheme. but I'm an extremely novice user at the moment.

[ Parent ]
lilypond... by ana (4.00 / 2) #8 Thu Aug 08, 2013 at 05:51:58 PM EST
will generate a midi file if you want to listen to your score. It's a great way to proofread.

I now know what the noise that is usually spelled "lolwhut" sounds like. --Kellnerin

[ Parent ]
interesting, i did not know that. by the mariner (2.00 / 0) #10 Thu Aug 08, 2013 at 08:13:30 PM EST

[ Parent ]
when i took 'programming for music theorists' by nathan (2.00 / 0) #9 Thu Aug 08, 2013 at 07:12:12 PM EST
Or w/e it was called, we did C++ and we used humdrum:


No wonder some fields don't progress. In other news, a guild of master masons will be building the new WTC. 

masons did 911 by the mariner (2.00 / 0) #11 Thu Aug 08, 2013 at 08:14:37 PM EST

[ Parent ]
they must have hated you by gzt (2.00 / 0) #12 Thu Aug 08, 2013 at 08:36:54 PM EST
but, then, it was 2005, so C++ was the best tool for everything.

I'm reminded of the Onion article about the Truther Jihadist who really wishes that Al Qaeda had done 9/11.

[ Parent ]
I am humbled by your Lilypond skills by motty (2.00 / 0) #13 Fri Aug 09, 2013 at 10:21:08 PM EST
I used Lilypond for a while some years ago. Then I had a period of a few years when I didn't use it. By the time I came back, the insane syntax from hell I'd got my head round had changed in about twenty-five subtle ways which meant that I didn't actually know it any more, not in terms of 'I need this score printed and perfect today because I have a gig with it tonight.'

Now I use the point-and-drool MuseScore, which is just as pretty, just as free and open source, but seems to be much quicker.

You don't need it now, of course, but it's waiting for you for when you do.

I amd itn ecaptiaghle of drinking sthis d dar - Dr T

I don't have any by gzt (2.00 / 0) #14 Fri Aug 09, 2013 at 11:12:59 PM EST
All I've done so far is modify one existing score in order to set two scores I wanted. And now I'm thinking about how to write a script in a language I know to modify that same score again. The ugly bits were taken care of in the template I was modifying. I have no idea what I'm doing and likely never will.

[ Parent ]
lilypond, church music, etc | 14 comments (14 topical, 0 hidden)