267-01a-sep27.mp4
0:00 course numbering (267/206) and possible changes in curriculum
6:30 syllabus and theme of course: non-mainstream DSP techniques
8:30 assignments: sonic challenges.
9:00 First one: Pink Floyd synth ostinato from Dark Side of the Moon
19:00 one remification of Floyd having used an odd-harmonic oscillator
21:00 main topic: oscillators as dynamical systems (flows in state space)
21:30 x-y plotting two signals; example, Lissajou figure
22:30 flows in state spaces
24:00 the charge on a capacitor in an analog circuit as state variable
25:00 possible paths in a topologically flat two-dimensional state space
26:00 why paths in a state space can't cross each other
27:30 one-dimensional circular state space, used in digital oscillators
30:00 block-one Pd subpatches for making iterative DSP algorithms
33:00 digital oscillator using a block-1 subpatch
35:00 bookkeeping for naming parameters, the setctl object and number boxes
36:00 sawtooth wave output, and table lookup for making sinusoid
37:30 digitally sampled flow is an approximation of a continuous-time process
38:00 overview of what we did
39:00 you can do interesting stuff by generalizing this oscllator design
41:00 two independent sawtooth oscillators
42:00 separate controls for "step size" and two frequencies
44:00 more about setctl abstraction for parameter control
45:00 frequencies are multiplied by step size
47:30 step size should be 1/(sample rate) - 2.083e-5
49:30 100-Hz sawtooth wave
51:00 440 and 660 Hz. independent oscillators
52:00 plotting output of 2 independent oscillators
52:30 we plotted cosines of sawtooth waves where lines can cross
53:00 state space is only 2-dimensional but wraparound permits more complex behavior
55:00 the true state space of the 2-oscillator combination
56:30 state space is topologically a torus
58:30 introducing coupling between the oscillators: synced oscillator pair
59:00 how to design the flow to sync one oscillator from the other
1:02:00 design idea: always make flow to northeast
1:04:00 implementation of synced oscillator pair in Pd
1:05:00 conditionally add "freq3" value to frequency of second oscillator
1:06:30 product of a function of phase 1 by another function of phase2
1:07:00 making a comparator in Pd (step function, either rising or falling)
1:11:00 state space graph of oscillator pair
1:17:00 is this an example of a CW complex? (don't know).
1:19:00 slightly more on sonic challenges
1:19:30 delay-one iteration in supercollider
1:22:00 can you predict the behavior of coupled oscillators? (probably not)
267-01b-sep29.mp4
1:00 two distinctions: finite difference/sampled versus continuous-time
2:00 and DSP versus control streams
4:30 finite difference sometimes more complicated than continuous
5:30 approximating flows (continuous time) using discrete time (DSP) algorithm
9:00 two oscillators as flow. Differential equations
12:00 "h" is the step size in Euler's numerical method for differential equation
15:30 "h" is one over sample rate
17:30 patch that ran two oscillators is implementing Euler's method
22:30 discrete time picture. Reimplementing oscillator in a 2D phase space
26:00 rotations in two-dimensional phase space
30:00 formula: (x, y) -> (xc-ys, yc+xs) where c, s are cosine and sine of omega
32:30 as a matric equation
34:00 raising a rotation matrix to the nth power to get the nth point of a sinusoid
35:00 representing (x, y) as a complex number Z = x + yi
38:30 multiplying by W = c + si is a rotation in the complex plane
39:30 two oscillators without wraparound require a 4-dimensional phase space
42:00 changing the patch to realize the 2 oscillators in discrete time picture
45:00 conversion factor is now 2 pi / SR instead of h=1/SR
48:00 caution: cos and cos~ take argument in different units
50:00 multiplying state vector (pair of numbers) by (c, -s; s, c) matrix
53:00 starting the oscillator with an impulse
55:00 x/y graph of oscillator output
56:00 fixing amplitude drift
57:30 computing distance from origin. Normalizing (x,y) pair
59:00 approximation: 1/sqrt(b) is about 1-(b-1)/2 = 3/2 - b/2 if b is close to 1
1:00 computing the squared norm (sum of squares of x and y)
1:03:00 computing 1 over square root
1:07:00 norm-stabilized oscillator, two sinusoids in quadrature
1:08:00 clockwise and counter-clockwise motion (positive and negative frequencies)
1:10:00 idea: take two of them and make them bounce off each other