vanheusden.com

minimum effort ESP32-MIDI-Synth

what is it

The ESP32-MIDI-synth is a minimum effort synthesizer. It consists of only 11 resistors, a 6N318 optocoupler, an ESP32 and some sockets.

All of this is enough to make an 8 channel MIDI synthesizer.

The tones are produced by letting the ESP32 produce PWM signals. The API of the ESP32 has functions for PWM of LEDs and this is also made usable for audio.

Letting the ESP32 produce a frequency x is only 3 steps:

  1. ledcSetup(channel, pwm_frequency, resolution)
  2. ledcAttachPin(output_pin, channel)
  3. ledcWriteTone(channel, frequency)

pictures


(one resistor is on the back)

1 note played

3 notes played

make it yourself

schematic:

You may want to add an opamp voltage follower before the audio-jack and a voltage divider to bring the signal to line level.

what does it sound like

The audio is quite loud (3.3V while line voltage is around 1.5V). Because of that the recording sounds distorted.

esp32-synth-abba-chiquita.mp3

license of the source code and schematics

All of this is, of course, released in the public domain.

other

mediocresaw - a "supersaw" implemented using a couple of arduinos




For contact info, see this page.