summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.sbv
blob: 1dc29c444935d50817f1f852ecfee639340f4e55 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
0:00:02.800,0:00:05.600
i can yes

0:00:09.200,0:00:14.920
okay um yeah so i'm uh zachary canfer

0:00:13.120,0:00:17.520
let's go to the

0:00:14.920,0:00:19.119
questions uh the first question uh why

0:00:17.520,0:00:19.840
do we go top to bottom for time

0:00:19.119,0:00:23.920
progression

0:00:19.840,0:00:27.279
uh and left to right uh for low to high

0:00:23.920,0:00:30.000
interesting i think uh so the initial

0:00:27.279,0:00:31.599
uh thing i was copying that initial app

0:00:30.000,0:00:35.280
work this way

0:00:31.599,0:00:36.960
um and

0:00:35.280,0:00:38.960
yeah i mean certainly traditional music

0:00:36.960,0:00:43.040
you know on a staff uh

0:00:38.960,0:00:46.000
does go left to right uh like this

0:00:43.040,0:00:47.440
um i mean going top to bottom does make

0:00:46.000,0:00:48.960
it easier to add more beats without

0:00:47.440,0:00:49.920
having to wrap but certainly that could

0:00:48.960,0:00:52.239
be managed

0:00:49.920,0:00:53.760
um yeah i i had not really thought about

0:00:52.239,0:00:55.199
it but it is definitely something worth

0:00:53.760,0:00:59.840
looking into

0:00:55.199,0:00:59.840
uh yeah you are now unmuted

0:01:02.480,0:01:06.960
ah good point thank you let me go ahead

0:01:05.680,0:01:13.840
and do that

0:01:06.960,0:01:13.840
uh the entire screen

0:01:14.240,0:01:18.320
okay so the screen share should be

0:01:16.880,0:01:21.439
starting

0:01:18.320,0:01:24.880
there we go cool all right uh

0:01:21.439,0:01:26.640
two will be placed on the song um not

0:01:24.880,0:01:28.080
now i can i can make some recordings of

0:01:26.640,0:01:30.720
it or certainly you can try it

0:01:28.080,0:01:33.119
um i couldn't quite get the the

0:01:30.720,0:01:37.040
microphone and the webcam and everything

0:01:33.119,0:01:40.079
to work with the sound playing now um so

0:01:37.040,0:01:43.520
uh i can record some also please uh

0:01:40.079,0:01:46.640
i put a link at the uh here in the uh

0:01:43.520,0:01:48.479
ether pad uh zck dot me slash emacs conf

0:01:46.640,0:01:49.920
2020 where you can go and get the source

0:01:48.479,0:01:51.920
and you can try it yourself uh there's

0:01:49.920,0:01:54.560
no dependencies needed so it's just all

0:01:51.920,0:01:56.880
in emacs um so please you know try it

0:01:54.560,0:01:56.880
yourself

0:01:57.040,0:02:01.040
any chance for an emacs tracker or mod

0:02:00.079,0:02:03.680
player

0:02:01.040,0:02:04.479
um i don't really know what a mod player

0:02:03.680,0:02:08.000
or tracker

0:02:04.479,0:02:09.679
are but i mean i'm sure

0:02:08.000,0:02:11.599
that would be cool uh maybe there's one

0:02:09.679,0:02:13.920
on now but i don't know uh

0:02:11.599,0:02:15.200
my musical background so i've played

0:02:13.920,0:02:15.840
various instruments since about the

0:02:15.200,0:02:18.160
third grade

0:02:15.840,0:02:19.520
uh started recorder uh play cello i play

0:02:18.160,0:02:22.560
guitar now

0:02:19.520,0:02:23.680
um but yeah so just kind of random

0:02:22.560,0:02:26.959
instruments and

0:02:23.680,0:02:27.280
uh yeah i guess kind of some of those

0:02:26.959,0:02:30.480
things

0:02:27.280,0:02:33.519
influence how i think about music um

0:02:30.480,0:02:35.360
uh yeah um

0:02:33.519,0:02:36.640
are there any open source musical

0:02:35.360,0:02:37.840
management sample libraries that could

0:02:36.640,0:02:41.200
be used

0:02:37.840,0:02:42.400
um good question i'm sure there are um i

0:02:41.200,0:02:43.360
don't know any that integrate really

0:02:42.400,0:02:44.560
well with emacs

0:02:43.360,0:02:45.680
one of the cool things that i liked

0:02:44.560,0:02:47.440
about this is that there are no

0:02:45.680,0:02:49.360
dependencies

0:02:47.440,0:02:50.800
you know you don't need any external

0:02:49.360,0:02:53.040
program to

0:02:50.800,0:02:54.160
uh generate the music i mean it it does

0:02:53.040,0:02:57.280
shell out to

0:02:54.160,0:02:58.640
to play um but that

0:02:57.280,0:02:59.840
should be able to be done on any

0:02:58.640,0:03:03.200
operating system as always you have

0:02:59.840,0:03:03.200
something that can play wav files

0:03:03.519,0:03:06.879
um but yeah it is interesting to kind of

0:03:05.599,0:03:10.000
try the different

0:03:06.879,0:03:12.239
uh different sounds and different

0:03:10.000,0:03:14.400
tones uh that you could get with

0:03:12.239,0:03:16.959
different instruments

0:03:14.400,0:03:17.599
have i written any actual songs um

0:03:16.959,0:03:20.640
nothing

0:03:17.599,0:03:20.640
super uh

0:03:21.040,0:03:25.519
uh well put together just i kind of just

0:03:23.680,0:03:27.440
been playing around with this

0:03:25.519,0:03:29.040
it's kind of i making this was one of

0:03:27.440,0:03:30.080
those things where like once i made it i

0:03:29.040,0:03:31.280
was like okay

0:03:30.080,0:03:32.720
now i can play with it and i did a

0:03:31.280,0:03:33.920
little bit and was like i don't know if

0:03:32.720,0:03:37.280
i feel like it right now

0:03:33.920,0:03:38.720
you know which i've i've found that to

0:03:37.280,0:03:39.599
be the case with some things that i've

0:03:38.720,0:03:41.360
implemented

0:03:39.599,0:03:43.519
in emacs where it's i make it and then

0:03:41.360,0:03:44.480
it's the kind of some of the desire to

0:03:43.519,0:03:46.879
use it all the time

0:03:44.480,0:03:47.760
goes away but i'm sure i'll circle back

0:03:46.879,0:03:51.040
around

0:03:47.760,0:03:52.400
at some point especially kind of maybe

0:03:51.040,0:03:54.640
once i add in different tones or

0:03:52.400,0:03:56.400
something

0:03:54.640,0:03:57.840
i guess a similar question for

0:03:56.400,0:04:01.120
pre-recorded sounds yeah i mean

0:03:57.840,0:04:02.080
if it's part of what i did what i wrote

0:04:01.120,0:04:04.720
was a

0:04:02.080,0:04:06.720
wave generation library so if you kind

0:04:04.720,0:04:08.400
of have the data

0:04:06.720,0:04:10.159
you could use those and like chop them

0:04:08.400,0:04:13.360
up and take certain lengths of them

0:04:10.159,0:04:14.959
and make a wav file so it's not plug and

0:04:13.360,0:04:19.120
play right now but you could certainly

0:04:14.959,0:04:21.040
add those notes uh to do it

0:04:19.120,0:04:22.720
um any knitting midi mapping

0:04:21.040,0:04:24.560
possibilities um

0:04:22.720,0:04:26.160
i haven't looked into it but i'm sure

0:04:24.560,0:04:28.800
you definitely could output to midi

0:04:26.160,0:04:30.400
um which is another benefit of having

0:04:28.800,0:04:31.520
that multiple layers with the top layer

0:04:30.400,0:04:33.360
is just like

0:04:31.520,0:04:35.120
um you know if the root note is this

0:04:33.360,0:04:36.560
we're just two semitones up or seven

0:04:35.120,0:04:38.160
semitones up or whatever it is

0:04:36.560,0:04:40.720
uh it should be relatively simple to

0:04:38.160,0:04:44.479
kind of switch out that layer underneath

0:04:40.720,0:04:45.759
uh from wave to midi or other things

0:04:44.479,0:04:47.520
what were some of the challenges with

0:04:45.759,0:04:49.759
writing a special mode for emacs

0:04:47.520,0:04:51.040
uh interested in getting into this not

0:04:49.759,0:04:54.960
sure where to start

0:04:51.040,0:04:57.120
um there uh yeah it so

0:04:54.960,0:04:58.320
this isn't the first mode i've written

0:04:57.120,0:05:01.759
um so that's right

0:04:58.320,0:05:05.600
certainly that helps um i actually

0:05:01.759,0:05:08.240
um i have a video that we recorded it

0:05:05.600,0:05:09.039
as part of emacs nyc on making a major

0:05:08.240,0:05:10.720
mode

0:05:09.039,0:05:12.639
that's basically like starts from

0:05:10.720,0:05:15.680
nothing and kind of builds up to

0:05:12.639,0:05:17.039
an implementation of tic-tac-toe um

0:05:15.680,0:05:19.600
but so it kind of goes into printing

0:05:17.039,0:05:21.280
things out and buttons and making the

0:05:19.600,0:05:22.800
mode

0:05:21.280,0:05:24.560
i mean one of the best parts about emacs

0:05:22.800,0:05:26.479
is because it's so

0:05:24.560,0:05:28.479
uh configurable and so introspectible

0:05:26.479,0:05:30.320
you can start pretty simply

0:05:28.479,0:05:32.320
and just kind of asking max about things

0:05:30.320,0:05:34.960
and then make one little

0:05:32.320,0:05:36.479
change um it's really it's not that bad

0:05:34.960,0:05:39.039
so uh

0:05:36.479,0:05:40.560
i'll try to throw a link up on that uh

0:05:39.039,0:05:42.000
on on that page i put up or

0:05:40.560,0:05:44.479
please email me for whoever asked this

0:05:42.000,0:05:46.240
question uh to get a link to that video

0:05:44.479,0:05:47.919
um or just look at look at the source

0:05:46.240,0:05:50.479
code of this or any other major mode

0:05:47.919,0:05:52.880
um it it's pretty ems breaks it makes it

0:05:50.479,0:05:56.479
pretty easy to extend uh

0:05:52.880,0:05:57.600
major modes and i think that's that's

0:05:56.479,0:06:00.240
the last question

0:05:57.600,0:06:02.479
in the ether pad so uh thanks so much

0:06:00.240,0:06:06.720
everybody for coming

0:06:02.479,0:06:09.039
you are now unmuted uh thank you so much

0:06:06.720,0:06:12.960
to curry for your awesome talk

0:06:09.039,0:06:19.840
and for doing live questions

0:06:12.960,0:06:19.840
thank you thank you cheers