Uploaded November 2020 | Updated September 2026, 1 hour ago
Download the patch (for Purr Data) here: dropbox.com/s/9ul0t5y2eobeaf4/lecture2.zip?dl=0
This is a follow-up to my previous lecture video (youtu.be/2_P7MVQnmZk) where I started making the patch. It includes lots of details about sound design, sequencing and various abstractions that I used in the patch. A recording of the finished patch is here: youtu.be/aLIqXrJqPqo
0:00 introduction
1:04 cat meow
1:49 harmonic series just intonation scale description
3:22 harmonic_analysis.m Octave script
5:08 arp1 section
7:06 pulse width modulation-like effect with a sigmoid waveshaper
7:42 arp2 section
8:25 envelope and control data smoothing
9:43 digital modulation generation and smoothing in hardware synthesizers
13:03 arp3 section
14:16 comments on waveshaping
16:05 3 phase panning
16:41 signal routing in the arp1/2/3 subpatch
17:00 earlyref~ abstraction used as a multitap delay
17:47 ssb~ frequency shifter abstraction
19:27 grain delay subpatch
20:08 reverb727~ reverb abstraction
20:36 pad subpatch
21:32 pwmbl and pwmbl~ pulse width modulation abstractions (use with pwmblt abstraction)
23:09 chorus330~ chorus abstraction (emulation of Roland VP-330, RS-505 and RS-09 chorus circuits)
23:58 bass subpatch introduction
24:17 Casio CTK-1000 overview
26:21 CTK-1000 sound examples
27:57 cat
29:02 CTK-1000 patents (US5164530, US5103711, US5340938, US5319151)
32:52 ixa~ abstraction based on patent US5164530
34:05 ixa~ abstraction compared to phase modulation
35:50 bass subpatch
38:36 drum subpatch
39:04 bass drum
41:50 comments on drum sequencing
43:32 bass drum sequencer
44:39 hi-hat and tabgen8 randomized table abstraction
46:09 metallic noise generation for drum sounds
48:06 comments on aliasing and sample rate
48:59 snare drum
50:28 drum sequencer counter variations
52:41 chord subpatch, sawbl~ sawtooth oscillator abstraction (use with pwmblt abstraction)
54:45 inharmonic comb filter resonator, phase16a~ phase shifter and fctofb~ coefficient generation abstractions
57:33 earlyref~ abstraction used as a early reflections
58:06 automation subpatch introduction
58:41 qenv2~ envelope generator abstraction and comments on envelope curves
59:51 automation subpatch
1:00:25 comments on downbeats and rhythmic ambiguity
1:01:07 automation subpatch
1:02:01 preventing timing jitter with the blkbpm abstraction
1:06:56 comments on time delay issues with send~, receive~, throw~ and catch~
1:07:52 playrec, player~ and recorder~ abstractions for playing and recording
1:08:42 comments on recording and interactivity
1:09:26 final comments
Download the patch (for Purr Data) here: dropbox.com/s/9ul0t5y2eobeaf4/lecture2.zip?dl=0
This is a follow-up to my previous lecture video (youtu.be/2_P7MVQnmZk) where I started making the patch. It includes lots of details about sound design, sequencing and various abstractions that I used in the patch. A recording of the finished patch is here: youtu.be/aLIqXrJqPqo
0:00 introduction
1:04 cat meow
1:49 harmonic series just intonation scale description
3:22 harmonic_analysis.m Octave script
5:08 arp1 section
7:06 pulse width modulation-like effect with a sigmoid waveshaper
7:42 arp2 section
8:25 envelope and control data smoothing
9:43 digital modulation generation and smoothing in hardware synthesizers
13:03 arp3 section
14:16 comments on waveshaping
16:05 3 phase panning
16:41 signal routing in the arp1/2/3 subpatch
17:00 earlyref~ abstraction used as a multitap delay
17:47 ssb~ frequency shifter abstraction
19:27 grain delay subpatch
20:08 reverb727~ reverb abstraction
20:36 pad subpatch
21:32 pwmbl and pwmbl~ pulse width modulation abstractions (use with pwmblt abstraction)
23:09 chorus330~ chorus abstraction (emulation of Roland VP-330, RS-505 and RS-09 chorus circuits)
23:58 bass subpatch introduction
24:17 Casio CTK-1000 overview
26:21 CTK-1000 sound examples
27:57 cat
29:02 CTK-1000 patents (US5164530, US5103711, US5340938, US5319151)
32:52 ixa~ abstraction based on patent US5164530
34:05 ixa~ abstraction compared to phase modulation
35:50 bass subpatch
38:36 drum subpatch
39:04 bass drum
41:50 comments on drum sequencing
43:32 bass drum sequencer
44:39 hi-hat and tabgen8 randomized table abstraction
46:09 metallic noise generation for drum sounds
48:06 comments on aliasing and sample rate
48:59 snare drum
50:28 drum sequencer counter variations
52:41 chord subpatch, sawbl~ sawtooth oscillator abstraction (use with pwmblt abstraction)
54:45 inharmonic comb filter resonator, phase16a~ phase shifter and fctofb~ coefficient generation abstractions
57:33 earlyref~ abstraction used as a early reflections
58:06 automation subpatch introduction
58:41 qenv2~ envelope generator abstraction and comments on envelope curves
59:51 automation subpatch
1:00:25 comments on downbeats and rhythmic ambiguity
1:01:07 automation subpatch
1:02:01 preventing timing jitter with the blkbpm abstraction
1:06:56 comments on time delay issues with send~, receive~, throw~ and catch~
1:07:52 playrec, player~ and recorder~ abstractions for playing and recording
1:08:42 comments on recording and interactivity
1:09:26 final comments










