From e8e25c3c457b30b34bbae4c93ebd08ae48d1d710 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Mon, 29 Nov 2021 09:45:57 -0500 Subject: Update --- ...gorian-chant-with-emacs--spencer-king--main.vtt | 820 +++++++++++++++++++++ 1 file changed, 820 insertions(+) create mode 100644 2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt (limited to '2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt') diff --git a/2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt b/2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt new file mode 100644 index 00000000..083f2278 --- /dev/null +++ b/2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt @@ -0,0 +1,820 @@ +WEBVTT + +00:00.240 --> 00:00:02.320 +Hello, everyone, my name is Spencer, + +00:00:02.320 --> 00:00:03.600 +and today I'm going to tell you all + +00:00:03.600 --> 00:00:05.296 +a little bit about how to typeset + +00:00:05.296 --> 00:00:06.640 +Gregorian chant sheet music + +00:00:06.640 --> 00:00:10.000 +using Emacs and a tool called Gregorio. + +00:10.000 --> 00:00:12.160 +Now I expect many, if not all, of you + +00:00:12.160 --> 00:00:14.000 +are unfamiliar with Gregorio, + +00:00:14.000 --> 00:00:14.719 +so we'll start off + +00:00:14.719 --> 00:00:16.240 +with a brief overview of the tool + +00:16.240 --> 00:18.080 +and the appropriate syntax. + +00:18.080 --> 00:19.760 +Next, I'll show you how I've automated + +00:19.760 --> 00:00:20.720 +some of the workflow + +00:00:20.720 --> 00:00:22.480 +using some Emacs Lisp functions + +00:00:22.480 --> 00:00:23.920 +which I've slowly been turning into + +00:00:23.920 --> 00:00:26.080 +a package called `gregorian-mode`. + +00:26.080 --> 00:00:26.720 +This will include + +00:00:26.720 --> 00:00:28.320 +some live typesetting examples + +00:00:28.320 --> 00:00:29.359 +to give you a better idea + +00:00:29.359 --> 00:00:31.279 +of how this all works. + +00:31.279 --> 00:00:32.079 +Finally, I'll share + +00:00:32.079 --> 00:00:33.120 +some information with you + +00:00:33.120 --> 00:00:34.480 +about how you can contribute + +00:34.480 --> 00:00:35.680 +to the package if you'd like, + +00:00:35.680 --> 00:00:38.000 +and how you can learn more about + +00:38.000 --> 00:39.600 +both Gregorio and `gregorian-mode`. + +00:39.600 --> 00:00:41.120 +And of course, all of the examples + +00:00:41.120 --> 00:00:42.320 +from this presentation today + +00:00:42.320 --> 00:00:44.079 +have been available online + +00:00:44.079 --> 00:00:44.879 +so you can review them + +00:00:44.879 --> 00:00:46.800 +all at your own pace. + +00:46.800 --> 00:49.440 +Gregorio is a tool that takes + +00:49.440 --> 00:51.500 +a `gabc` text file and compiles it + +00:51.500 --> 00:52.879 +into a LaTeX document. + +00:52.879 --> 00:00:54.719 +Gregorio is included by default + +00:00:54.719 --> 00:00:56.559 +with many LaTeX distributions, + +00:00:56.559 --> 00:00:58.079 +so you may already have it installed + +00:00:58.079 --> 00:01:01.120 +on your machine if you are a user of LaTeX. + +01:01.120 --> 01:02.879 +You can see here on the left an example + +01:02.879 --> 00:01:04.960 +of some input `gabc` text, + +00:01:04.960 --> 00:01:05.600 +and on the right, + +00:01:05.600 --> 00:01:08.080 +what the compiled score will look like. + +01:08.080 --> 01:10.080 +Looking at the `gabc`, we can see that + +01:10.080 --> 01:12.640 +it starts with the clef in parentheses, + +01:12.640 --> 00:01:13.600 +and then following this + +00:01:13.600 --> 00:01:15.119 +are the syllables of the lyrics + +00:01:15.119 --> 00:01:18.080 +and the corresponding notes in parentheses. + +01:18.080 --> 01:21.119 +For example, you can see that "EX," + +01:21.119 --> 00:01:22.240 +the first syllable, + +00:01:22.240 --> 00:01:24.080 +corresponds to a `d` note + +00:01:24.080 --> 00:01:25.920 +in parentheses there, + +00:01:25.920 --> 00:01:27.119 +and if you look at the right, + +00:01:27.119 --> 00:01:28.560 +you can easily verify that + +00:01:28.560 --> 00:01:30.320 +in the output. + +01:30.320 --> 00:01:31.040 +Now the last thing + +00:01:31.040 --> 00:01:31.680 +that I want to note here + +01:31.680 --> 01:34.079 +is that `gabc` files are all plain text, + +01:34.079 --> 01:36.320 +meaning they can easily be shared + +01:36.320 --> 01:38.000 +and can easily be tracked using + +01:38.000 --> 01:40.400 +your favorite version-control software. + +01:40.400 --> 01:41.920 +Since these are plain text, + +01:41.920 --> 01:43.520 +it's really pretty easy to integrate + +01:43.520 --> 01:46.079 +them into your existing workflows. + +01:46.079 --> 00:01:48.079 +The `gabc` format also supports + +00:01:48.079 --> 00:01:49.439 +many optional header fields + +00:01:49.439 --> 00:01:50.560 +for adding more information + +00:01:50.560 --> 00:01:51.920 +about your score. + +01:51.920 --> 01:53.520 +You can see all the supported fields + +01:53.520 --> 00:01:54.799 +listed below, along with + +00:01:54.799 --> 00:01:56.479 +some placeholder text. + +01:56.479 --> 00:01:57.360 +These fields are placed + +00:01:57.360 --> 00:01:58.399 +at the top of a file + +00:01:58.399 --> 00:02:01.000 +and are separated from the actual score + +02:01.000 --> 00:02:01.439 +by the two percent symbols + +00:02:01.439 --> 00:02:03.000 +seen at the bottom. + +02:03.000 --> 02:04.399 +After these symbols, you would have the + +02:04.399 --> 00:02:05.600 +lines of your score, + +00:02:05.600 --> 00:02:07.080 +similar to what you saw + +00:02:07.080 --> 00:02:08.560 +on the previous slide. + +02:08.560 --> 00:02:09.599 +As I said earlier, + +00:02:09.599 --> 00:02:10.560 +I've automated some of + +02:10.560 --> 02:12.959 +the score build steps using Emacs Lisp, + +02:12.959 --> 00:02:14.000 +and have started turning them + +00:02:14.000 --> 00:02:16.480 +into a package called `gregorian-mode`. + +02:16.480 --> 00:02:18.160 +This is my first Emacs package, + +00:02:18.160 --> 00:02:20.400 +so the code is rather messy at the moment, + +00:02:20.400 --> 00:02:22.160 +and for the most part is just a wrapper + +02:22.160 --> 02:24.319 +around the Gregorio build process. + +02:24.319 --> 00:02:25.536 +However, I have made some + +00:02:25.536 --> 00:02:26.720 +quality-of-life improvements + +00:02:26.720 --> 00:02:27.920 +to the score writing, + +00:02:27.920 --> 00:02:30.239 +and have some more planned for the future. + +02:30.239 --> 00:02:31.360 +You'll get to see some of that + +00:02:31.360 --> 00:02:32.480 +in some live examples + +00:02:32.480 --> 00:02:34.319 +in just a little bit. + +02:34.319 --> 02:36.000 +This package is not currently on MELPA + +02:36.000 --> 00:02:37.760 +at the time of recording, + +00:02:37.760 --> 00:02:38.640 +so if you want it, + +00:02:38.640 --> 00:02:40.000 +you will have to clone it manually + +00:02:40.000 --> 00:02:41.920 +from GitHub, but it is planned + +02:41.920 --> 02:44.080 +to be on MELPA in the near future. + +02:44.080 --> 00:02:44.959 +It just needs to go through + +00:02:44.959 --> 00:02:46.400 +a little more rigorous cleanup + +00:02:46.400 --> 00:02:48.640 +and testing. + +02:48.640 --> 02:50.400 +Now that we've covered the basics, + +02:50.400 --> 02:52.560 +let's take a look at an actual example. + +02:52.560 --> 02:54.319 +In this example, I'm assuming that + +02:54.319 --> 02:56.480 +my `gregorian-mode` package is installed. + +02:56.480 --> 02:57.920 +However, there is nothing in these steps + +02:57.920 --> 00:02:59.200 +that cannot be done manually + +00:02:59.200 --> 00:03:01.120 +by just following the official + +03:01.120 --> 03:02.480 +Gregorio documentation. + +03:02.480 --> 03:04.000 +So if you don't want to use a package, + +03:04.000 --> 03:05.840 +you can do all of this pretty easily + +03:05.840 --> 03:07.280 +on your own just by following + +03:07.280 --> 03:10.000 +their documentation. + +03:10.000 --> 00:03:11.680 +So first we'll open up Emacs, + +00:03:11.680 --> 00:03:12.480 +and in my case, + +00:03:12.480 --> 00:03:14.560 +I'm using the GUI version. + +03:14.560 --> 03:16.640 +So now that Emacs is open, we can call + +03:16.640 --> 03:21.440 +the function `gregorian-create-new-gabc`, + +03:21.440 --> 03:23.680 +and this will prompt us for a file name. + +03:23.680 --> 03:25.599 +So we need to pick out a name + +03:25.599 --> 03:26.799 +for our new score. + +03:26.799 --> 00:03:28.239 +So I think I'm going to go ahead + +00:03:28.239 --> 00:03:33.280 +and name ours `emacsconf2021`. + +03:33.280 --> 03:34.959 +So you can see here that we now have + +03:34.959 --> 00:03:36.879 +a new `gabc` file with all of the + +00:03:36.879 --> 00:03:38.720 +optional header fields added, + +00:03:38.720 --> 00:03:40.400 +and we can keep whichever of these + +00:03:40.400 --> 00:03:41.120 +that we would like, + +03:41.120 --> 03:43.200 +and we can modify them as needed. + +03:43.200 --> 03:45.360 +So for right now, all I'm going to change + +03:45.360 --> 03:47.360 +is this commentary; I'm going to update + +03:47.360 --> 00:03:52.560 +this source of words to `emacsconf`, + +03:52.560 --> 00:03:53.760 +and then at the bottom here, + +00:03:53.760 --> 00:03:55.040 +this is where we'd go ahead + +00:03:55.040 --> 00:03:56.959 +and add our score. + +03:56.959 --> 03:58.799 +So I don't have time today to typeset + +03:58.799 --> 04:01.040 +an entire score, and I think that would + +04:01.040 --> 00:04:02.239 +probably be rather boring + +00:04:02.239 --> 00:04:03.760 +for most of you to watch, + +00:04:03.760 --> 00:04:05.680 +so I'll just demonstrate very briefly + +00:04:05.680 --> 00:04:08.500 +with a few syllables and notes here. + +04:15.840 --> 04:17.680 +Okay, so now that we have our first few + +04:17.680 --> 04:19.840 +syllables and notes down, let's take a + +04:19.840 --> 04:21.759 +look at what our score actually looks + +04:21.759 --> 04:23.520 +like so far. + +04:23.520 --> 04:25.040 +So in order to do this, we're going to + +04:25.040 --> 04:29.600 +call the function `gregorian-build`, + +04:29.600 --> 00:04:31.199 +and what this function does is + +00:04:31.199 --> 00:04:32.320 +it takes this score + +00:04:32.320 --> 00:04:33.680 +and creates a LaTeX file for it + +04:33.680 --> 04:36.080 +and then goes ahead and compiles it + +04:36.080 --> 04:38.160 +into a PDF file that we can actually + +04:38.160 --> 04:39.840 +take a look at. + +04:39.840 --> 04:42.479 +And this does take a few seconds to run... + +04:42.479 --> 04:44.320 +and there it goes... + +04:44.320 --> 04:47.040 +so we can see here we have a new buffer + +04:47.040 --> 04:48.560 +with all of the output + +04:48.560 --> 04:50.320 +from that build process, + +04:50.320 --> 00:04:51.840 +but what we really care about + +00:04:51.840 --> 00:04:54.000 +is that PDF. + +04:56.080 --> 04:58.479 +So opening that up, you can see + +04:58.479 --> 05:00.560 +we have a very short score. + +05:00.560 --> 05:02.320 +So far we haven't done a whole lot, + +05:02.320 --> 05:03.919 +but if you go ahead and compare the + +05:03.919 --> 05:05.000 +score on the right + +05:05.000 --> 05:06.479 +with the file on the left, + +05:06.479 --> 05:08.080 +you can really pretty clearly see that + +05:08.080 --> 05:10.080 +those are, in fact, the lyrics + +05:10.080 --> 05:11.199 +that we wrote. + +05:11.199 --> 05:13.280 +You can see at the top right there, + +05:13.280 --> 05:14.300 +the source has, in fact, + +05:14.300 --> 05:16.000 +changed to `emacsconf` + +05:16.000 --> 00:05:18.240 +so at this point, we could go ahead + +00:05:18.240 --> 00:05:20.000 +and just keep adding more lines, + +00:05:20.000 --> 00:05:22.240 +more notes, and so on, + +05:22.240 --> 05:24.080 +and we would end up with + +05:24.080 --> 05:25.919 +a completed score. + +05:25.919 --> 00:05:27.919 +Now this process is great and all, + +00:05:27.919 --> 00:05:29.120 +but as you can imagine, + +00:05:29.120 --> 00:05:30.880 +more complex `gabc` files + +05:30.880 --> 05:32.720 +can quickly become pretty difficult + +05:32.720 --> 05:34.479 +to read with the notes and the syllables + +05:34.479 --> 05:36.080 +all bunched together. + +05:36.080 --> 05:37.840 +So to get around this, I've been playing + +05:37.840 --> 05:39.840 +around with an alternative format + +05:39.840 --> 05:41.000 +called a `greg` file. + +05:41.000 --> 05:42.160 +I have an example of that + +05:42.160 --> 05:43.919 +for you right here. + +05:43.919 --> 05:45.919 +So here we can see there are + +05:45.919 --> 05:48.000 +two files side-by-side: + +05:48.000 --> 05:50.000 +on the left, we have a `gabc` file, + +05:50.000 --> 00:05:51.022 +and then on the right, + +00:05:51.022 --> 00:05:52.000 +we have a `greg` file, + +05:52.000 --> 05:53.360 +both of them for the same score. + +05:53.360 --> 05:55.600 +Now in my opinion, the `gabc` on the left + +05:55.600 --> 00:05:57.199 +is really rather difficult to read + +00:05:57.199 --> 00:05:58.319 +at a glance. + +00:05:58.319 --> 00:05:59.280 +You can see there + +00:05:59.280 --> 00:06:00.880 +the notes and the syllables + +00:06:00.880 --> 00:06:02.160 +are really all grouped together + +00:06:02.160 --> 00:06:03.919 +pretty tightly. + +06:03.919 --> 00:06:05.520 +Looking at the `greg` on the right, + +00:06:05.520 --> 00:06:06.560 +you can see that all of the + +00:06:06.560 --> 00:06:08.479 +header information is the same, + +00:06:08.479 --> 00:06:09.680 +but the score itself + +00:06:09.680 --> 00:06:11.840 +is split across several lines. + +06:11.840 --> 00:06:13.039 +The idea here is that + +00:06:13.039 --> 00:06:15.039 +the notes and the corresponding syllables + +00:06:15.039 --> 00:06:16.560 +will be on separate lines, + +00:06:16.560 --> 00:06:17.600 +one after the other, + +06:17.600 --> 06:20.639 +to help improve readability. + +06:20.639 --> 00:06:21.906 +Now the `greg` file format + +00:06:21.906 --> 00:06:23.800 +is still a work-in-progress. + +06:23.800 --> 06:24.960 +It's really not + +06:24.960 --> 06:27.520 +set in stone at all, + +06:27.520 --> 06:29.840 +but already I think this is a pretty + +06:29.840 --> 06:32.560 +substantial quality-of-life improvement, + +06:32.560 --> 06:34.720 +and already `gregorian-mode` can, in fact, + +06:34.720 --> 00:06:36.720 +build scores from `greg` files + +00:06:36.720 --> 00:06:38.300 +as long as they follow the conventions + +06:38.300 --> 06:40.400 +that you see in this file here, + +06:40.400 --> 00:06:42.560 +and I'm planning to have that + +00:06:42.560 --> 00:06:44.240 +quite a bit more well-defined + +00:06:44.240 --> 00:06:45.360 +moving forward. + +06:45.360 --> 06:47.360 +Like I said, this is really still + +06:47.360 --> 06:49.520 +a work-in-progress. + +06:49.520 --> 00:06:51.039 +Finally, I want to end today + +00:06:51.039 --> 00:06:52.319 +by sharing some resources + +00:06:52.319 --> 00:06:53.840 +where you can learn more. + +06:53.840 --> 00:06:55.039 +First, you can learn more about + +00:06:55.039 --> 00:06:56.319 +the Gregorio project + +00:06:56.319 --> 00:06:57.500 +on their official website, + +06:57.500 --> 06:58.960 +and I have the link for that + +06:58.960 --> 07:00.720 +on this slide here, + +07:00.720 --> 07:02.319 +and this site has several detailed examples + +07:02.319 --> 07:04.080 +and a lot of additional information + +07:04.080 --> 00:07:05.840 +about the project + +00:07:05.840 --> 00:07:07.500 +and about chant notation in general. + +07:07.500 --> 07:09.500 +It goes into much more depth + +07:09.500 --> 00:07:12.000 +than what we covered in this presentation, + +00:07:12.000 --> 00:07:13.199 +and overall, it's really + +00:07:13.199 --> 00:07:14.960 +a fantastic resource + +07:14.960 --> 07:16.560 +for learning more about how to use + +07:16.560 --> 07:19.360 +the Gregorio software and more about + +07:19.360 --> 07:21.840 +the specifics of chant notation. + +07:21.840 --> 00:07:23.680 +Second, if you're interested in using + +00:07:23.680 --> 00:07:25.840 +or contributing to `gregorian-mode`, + +00:07:25.840 --> 00:07:28.240 +you can check out the project on GitHub + +07:28.240 --> 07:30.400 +with the link here on this slide. + +07:30.400 --> 07:31.919 +And if you're interested in helping out + +07:31.919 --> 07:34.080 +in any way, feel free to open an issue, + +07:34.080 --> 07:36.560 +and we can discuss further. + +07:36.560 --> 00:07:38.160 +And finally, all of the examples + +00:07:38.160 --> 00:07:40.400 +from today are also available on GitHub, + +07:40.400 --> 07:42.479 +and that's the last link on this slide, + +07:42.479 --> 07:44.160 +and you can feel free to experiment + +07:44.160 --> 07:45.919 +with these and really just use them + +07:45.919 --> 07:48.560 +in any way that you'd like. + +07:48.560 --> 07:50.319 +Now that's all that I had for today, + +07:50.319 --> 00:07:51.360 +but I do want to take a moment + +00:07:51.360 --> 00:07:52.000 +to thank you all + +07:52.000 --> 07:54.160 +for checking out my presentation, + +07:54.160 --> 07:55.680 +and I want to thank the organizers + +07:55.680 --> 00:07:56.400 +for giving me some time + +00:07:56.400 --> 00:07:57.759 +to speak with you all. + +07:57.759 --> 00:07:59.120 +I hope that this was at least + +00:07:59.120 --> 00:08:01.120 +a little bit interesting to some of you, + +00:08:01.120 --> 00:08:02.319 +and I hope that you all enjoy + +00:08:02.319 --> 00:08:02.800 +the rest of the conference. + +08:02.800 --> 00:08:06.520 +Thank you for your time today. + +00:08:06.520 --> 00:08:07.520 +[captions by Hannah Miller] -- cgit v1.2.3