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