summaryrefslogtreecommitdiffstats
path: root/2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt
diff options
context:
space:
mode:
Diffstat (limited to '2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt')
-rw-r--r--2021/captions/emacsconf-2021-gregorian--typesetting-gregorian-chant-with-emacs--spencer-king--main.vtt820
1 files changed, 820 insertions, 0 deletions
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]