Specification
- Function
- Digital Oscillator
- Width
- 14 HP
- In rack
- 1
- Built
- 2025
- Revision
- A
- Status
- Built
Digital Oscillator · 14 HP
YM3812 Synthesizer
A simple digital frequency modulation oscillator based on the soundcard classic YM3812 for creating chiptunes.
After seeing Tyler Klein’s YM3812 build, I started thinking about adding a simple digital FM synthesizer to my case. While something similar to the DX-7 is a confusing tangle of six operators, the YM3812 is the picture of simplicity – two operators which can either be added or multiplied together.
The brains of this module is a ATMEGA1284 chip which hosts the code, reads the inputs, and sends the patch parameters through a 74HC595 shift register to the YM3812 chip. The YM3812 chip reads the incoming patch parameters, performs the actual synthesis, and then a Y3014B digital to analog converter transforms the digital output of the YM3812 to audio.
Tyler’s project (so far) has resulted in a breadboard ready schematic and the code needed to operate the YM3812 with a microcontroller, and I built off of this base by:
- Adding a screen and a rotary controller for the user interface
- Adding 1v/oct, gate, and velocity inputs so that, in addition to polyphonic MIDI control, the module can be played as a monophonic synthesizer using control voltage
- Adding a MIDI through output, just in case I want to chain multiple MIDI instruments together
- Adding 4 assignable CV inputs with attenuators and offsets so that there are four sources of control voltage which can be used to control patch parameters
The code that glues this all together is based on Tyler’s original code, and I then used Claude Code to help build out the UI and integrate all the features I added.