WEBVTT
00:00:02.800 --> 00:00:09.200
I can, yes.
00:00:09.200 --> 00:00:13.120
Okay, yeah, so I'm Zachary Kanfer,
00:00:13.120 --> 00:00:14.920
let's go to the
00:00:14.920 --> 00:00:17.520
questions. The first question, "Why
00:00:17.520 --> 00:00:19.119
do we go top to bottom for time
00:00:19.119 --> 00:00:19.840
progression,
00:00:19.840 --> 00:00:23.920
and left to right for low to high?"
00:00:23.920 --> 00:00:27.279
Interesting, I think…, so the initial
00:00:27.279 --> 00:00:30.000
thing I was copying, that initial app
00:00:30.000 --> 00:00:35.280
work this way, and
00:00:35.280 --> 00:00:36.960
yeah, I mean, certainly traditional music,
00:00:36.960 --> 00:00:38.960
you know, on a staff
00:00:38.960 --> 00:00:43.040
does go left to right like this.
00:00:43.040 --> 00:00:46.000
I mean, going top to bottom does make
00:00:46.000 --> 00:00:47.440
it easier to add more beats without
00:00:47.440 --> 00:00:48.960
having to wrap, but certainly that could
00:00:48.960 --> 00:00:49.920
be managed.
00:00:49.920 --> 00:00:52.239
Yeah, I had not really thought about
00:00:52.239 --> 00:00:53.760
it, but it is definitely something worth
00:00:53.760 --> 00:00:55.199
looking into.
00:00:55.199 --> 00:01:02.480
Yeah.
00:01:02.480 --> 00:01:05.680
Ah, good point, thank you. Let me go ahead
00:01:05.680 --> 00:01:06.960
and do that.
00:01:06.960 --> 00:01:14.240
The entire screen…
00:01:14.240 --> 00:01:16.880
Okay, so the screen share should be
00:01:16.880 --> 00:01:18.320
starting,
00:01:18.320 --> 00:01:21.439
there we go. Cool, all right.
00:01:21.439 --> 00:01:24.880
Two, "Will you play us another song?" Not
00:01:24.880 --> 00:01:26.640
now, I can make some recordings of
00:01:26.640 --> 00:01:28.080
it, or certainly you can try it.
00:01:28.080 --> 00:01:30.720
I couldn't quite get the
00:01:30.720 --> 00:01:33.119
microphone and the webcam and everything
00:01:33.119 --> 00:01:37.040
to work with the sound playing now. So,
00:01:37.040 --> 00:01:40.079
I can record some. Also, please…
00:01:40.079 --> 00:01:43.520
I have put a link at the… here in the
00:01:43.520 --> 00:01:46.640
Etherpad, zck.org/emacsconf2020 [updated],
00:01:46.640 --> 00:01:48.479
where you can go and get the source,
00:01:48.479 --> 00:01:49.920
and you can try it yourself. There's
00:01:49.920 --> 00:01:51.920
no dependencies needed, so it's just all
00:01:51.920 --> 00:01:54.560
in Emacs. So, please, you know, try it
00:01:54.560 --> 00:01:57.040
yourself.
00:01:57.040 --> 00:02:00.079
"Any chance for an Emacs tracker or mod
00:02:00.079 --> 00:02:01.040
player?"
00:02:01.040 --> 00:02:03.680
I don't really know what a mod player
00:02:03.680 --> 00:02:04.479
or tracker
00:02:04.479 --> 00:02:08.000
are, but I mean, I'm sure
00:02:08.000 --> 00:02:09.679
that would be cool, maybe there's one
00:02:09.679 --> 00:02:11.599
on now, but I don't know.
00:02:11.599 --> 00:02:13.920
My musical background. So, I've played
00:02:13.920 --> 00:02:15.200
various instruments since about the
00:02:15.200 --> 00:02:15.840
third grade.
00:02:15.840 --> 00:02:18.160
Started recorder, play cello, I play
00:02:18.160 --> 00:02:19.520
guitar now.
00:02:19.520 --> 00:02:22.560
But yeah, so just kind of random
00:02:22.560 --> 00:02:23.680
instruments, and
00:02:23.680 --> 00:02:26.959
I guess kind of some of those
00:02:26.959 --> 00:02:27.280
things
00:02:27.280 --> 00:02:30.480
influence how I think about music.
00:02:33.519 --> 00:02:35.360
"Are there any open source musical
00:02:35.360 --> 00:02:36.640
management sample libraries that could
00:02:36.640 --> 00:02:37.840
be used?"
00:02:37.840 --> 00:02:41.200
Good question, I'm sure there are, I
00:02:41.200 --> 00:02:42.400
don't know any of that integrate really
00:02:42.400 --> 00:02:43.360
well with Emacs.
00:02:43.360 --> 00:02:44.560
One of the cool things that I liked
00:02:44.560 --> 00:02:45.680
about this is that there are no
00:02:45.680 --> 00:02:47.440
dependencies,
00:02:47.440 --> 00:02:49.360
you know, you don't need any external
00:02:49.360 --> 00:02:50.800
program to
00:02:50.800 --> 00:02:53.040
generate the music. I mean, it does
00:02:53.040 --> 00:02:54.160
shell out to
00:02:54.160 --> 00:02:57.280
to play, but that
00:02:57.280 --> 00:02:58.640
should be able to be done on any
00:02:58.640 --> 00:02:59.840
operating system, as always, you have
00:02:59.840 --> 00:03:03.519
something that can play WAVE files,
00:03:03.519 --> 00:03:05.599
but yeah, it is interesting to kind of
00:03:05.599 --> 00:03:10.000
try the different sounds and different
00:03:10.000 --> 00:03:12.239
tones that you could get with
00:03:12.239 --> 00:03:14.400
different instruments.
00:03:14.400 --> 00:03:16.959
Have I written any actual songs?
00:03:16.959 --> 00:03:21.040
Nothing super
00:03:21.040 --> 00:03:23.680
well put together, I kind of just
00:03:23.680 --> 00:03:25.519
been playing around with this.
00:03:25.519 --> 00:03:27.440
It's kind of… making this was one of
00:03:27.440 --> 00:03:29.040
those things where once I made it, I
00:03:29.040 --> 00:03:30.080
was like, okay,
00:03:30.080 --> 00:03:31.280
now I can play with it, and I did a
00:03:31.280 --> 00:03:32.720
little bit, and was like, I don't know if
00:03:32.720 --> 00:03:33.920
I feel like it right now.
00:03:33.920 --> 00:03:37.280
You know, which I've found that to
00:03:37.280 --> 00:03:38.720
be the case with some things that I've
00:03:38.720 --> 00:03:39.599
implemented
00:03:39.599 --> 00:03:41.360
in Emacs where it's… I make it, and then
00:03:41.360 --> 00:03:43.519
it's the kind of some of the desire to
00:03:43.519 --> 00:03:44.480
use it all the time
00:03:44.480 --> 00:03:46.879
goes away, but I'm sure I'll circle back
00:03:46.879 --> 00:03:47.760
around
00:03:47.760 --> 00:03:51.040
at some point especially kind of maybe
00:03:51.040 --> 00:03:52.400
once I add in different tones or
00:03:52.400 --> 00:03:54.640
something.
00:03:54.640 --> 00:03:56.400
I guess a similar question for
00:03:56.400 --> 00:03:57.840
pre-recorded sounds. Yeah, I mean,
00:03:57.840 --> 00:04:01.120
if it's… part of what I did, what I wrote
00:04:01.120 --> 00:04:02.080
was a
00:04:02.080 --> 00:04:04.720
WAVE generation library, so, if you kind
00:04:04.720 --> 00:04:06.720
of have the data,
00:04:06.720 --> 00:04:08.400
you could use those and chop them
00:04:08.400 --> 00:04:10.159
up and take certain lengths of them
00:04:10.159 --> 00:04:13.360
and make a WAVE file, so it's not plug and
00:04:13.360 --> 00:04:14.959
play right now, but you could certainly
00:04:14.959 --> 00:04:19.120
add those notes to do it.
00:04:19.120 --> 00:04:22.720
"Any MIDI mapping possibilities?"
00:04:22.720 --> 00:04:24.560
I haven't looked into it, but I'm sure
00:04:24.560 --> 00:04:26.160
you definitely could output to MIDI
00:04:26.160 --> 00:04:28.800
which is another benefit of having
00:04:28.800 --> 00:04:30.400
that multiple layers with the top layer
00:04:30.400 --> 00:04:31.520
is just,
00:04:31.520 --> 00:04:33.360
you know, if the root note is this,
00:04:33.360 --> 00:04:35.120
we're just two semitones up or seven
00:04:35.120 --> 00:04:36.560
semitones up or whatever it is.
00:04:36.560 --> 00:04:38.160
It should be relatively simple to
00:04:38.160 --> 00:04:40.720
kind of switch out that layer underneath
00:04:40.720 --> 00:04:44.479
from WAVE to MIDI or other things.
00:04:44.479 --> 00:04:45.759
"What were some of the challenges with
00:04:45.759 --> 00:04:47.520
writing a special mode for Emacs?"
00:04:47.520 --> 00:04:49.759
Interested in getting into this, not
00:04:49.759 --> 00:04:51.040
sure where to start.
00:04:51.040 --> 00:04:54.960
There… yeah, it so…
00:04:54.960 --> 00:04:57.120
this isn't the first mode I've written,
00:04:57.120 --> 00:04:58.320
so that's right…,
00:04:58.320 --> 00:05:01.759
certainly that helps. I actually…
00:05:01.759 --> 00:05:05.600
I have a video that we recorded it
00:05:05.600 --> 00:05:08.240
as part of EmacsNYC on making a major
00:05:08.240 --> 00:05:09.039
mode.
00:05:09.039 --> 00:05:10.720
That's basically starts from
00:05:10.720 --> 00:05:12.639
nothing, and kind of builds up to
00:05:12.639 --> 00:05:15.680
an implementation of tic-tac-toe,
00:05:15.680 --> 00:05:17.039
but so it kind of goes into printing
00:05:17.039 --> 00:05:19.600
things out and buttons and making the
00:05:19.600 --> 00:05:21.280
mode.
00:05:21.280 --> 00:05:22.800
I mean, one of the best parts about Emacs
00:05:22.800 --> 00:05:24.560
is, because it's so
00:05:24.560 --> 00:05:26.479
configurable and so introspectible,
00:05:26.479 --> 00:05:28.479
you can start pretty simply,
00:05:28.479 --> 00:05:30.320
and just kind of ask Emacs about things,
00:05:30.320 --> 00:05:32.320
and then make one little
00:05:32.320 --> 00:05:34.960
change. It's really… it's not that bad,
00:05:34.960 --> 00:05:39.039
so, I'll try to throw a link up on that
00:05:39.039 --> 00:05:40.560
page I put up, or
00:05:40.560 --> 00:05:42.000
please email me for whoever asked this
00:05:42.000 --> 00:05:44.479
question to get a link to that video,
00:05:44.479 --> 00:05:46.240
or just look at the source
00:05:46.240 --> 00:05:47.919
code of this or any other major mode.
00:05:47.919 --> 00:05:50.479
Emacs makes it
00:05:50.479 --> 00:05:52.880
pretty easy to extend
00:05:52.880 --> 00:05:56.479
major modes. And I think that's
00:05:56.479 --> 00:05:57.600
the last question
00:05:57.600 --> 00:06:00.240
in the Etherpad, so, thanks so much
00:06:00.240 --> 00:06:02.479
everybody for coming.
00:06:04.033 --> 00:06:06.720
(Amin: Thank you so much
00:06:06.720 --> 00:06:09.039
to Zachary for your awesome talk,
00:06:09.039 --> 00:06:12.960
and for doing live questions.
00:06:12.960 --> 00:06:19.840
Thank you.) Thank you. (Amin: Cheers.)