## FM Synthesis

• Old idea for making interesting sounds with cheap hardware

• Now used digitally because easier to implement accurately

• Idea: Think about an LFO being used to provide vibrato

$$y[t] = \sin(\omega_0 (t + a ~ \sin(\omega_l t))$$

• Well, what happens when $w_l$ gets above 100Hz or so?

• Turns out, can be modeled as a bunch of harmonics and subharmonics of $w_0$

• This is the same as FM radio: use an audio signal to make vibrato on a radio signal!

## FM Refs

• Wikipedia has a decent explanation: note "operators"

• Some nice samples and a tutorial are here

• The classic synth is the Yamaha DX7. Dexed is a faithful open-source emulation

## FM Demo

• Let's look at some Python code that implements a very simple 2-operator FM synth

• Note how harmonics and near-harmonics (and subharmonics and near-subharmonics work)

• Note how amplitude works

## Granular Synthesis

• Recall our discussion of sound time scales earlier

• 1-50ms is an interesting duration: long enough that tones will be heard as tones, but too short to hear individual notes

• Idea: Break a sample into overlapping chunks in this time range and treat them as separate "music particles" or "granules"

• Various games can now be played with the granules: pitch shifting (resample the individual granuals), time stretching (replicate or omit granules), fun synthesis effects (e.g. emit randomly-sampled granules)

## Physical Modeling

• Idea: Quit trying to be so clever. Build a model of the instrument and run the model to make simulated sound

• Way harder than sampling synth, but likely to produce way better results

• Pipe organ is pretty close to perfect: Hauptwerk has some amazing commercial software combining sampling (for individual pipes) with physical modeling (for the instrument as a whole)