Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Analog FM is not so unusual, but it's usually "real" FM, e.g. a modulation of pitch or linear frequency, and it's not so easy to tame into consistent musical pitches.

"Yamaha style" FM is however more of a kind of phase modulation. The operators are sine tables driven by phase counters, and the outputs of the modulators are scaled and summed with the phase counter of the carrier before the sum goes into the carrier wavetable. So you modulate the phase irrespective of frequency, e.g.

  modulator(phase) = sin(phase * modulator_multiplier) * modulator_amplitude
  carrier(phase) = sin(phase * carrier_multiplier + modulator) * carrier_amplitude
I suppose this could be replicated in the analog domain. A phase counter could simply be a ramping sawtooth waveform. Summing modulator outputs would be as simple as mixing. The hardest part I think would be to replicate the wavetable. You'd need a waveshaper that basically does f(x) = sin(x). There is an oscillator on the market that I think does everything except the waveshaping in the analog domain: https://wmdevices.com/products/phase-displacement-oscillator...


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: