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.)