Open Source Desktop Synthesizer
Benjamin Miller, Mouser Electronics
Licensed under CC BY-SA 4.0
Overview
The general design of the synthesizer has three major sections: inputs, output, and peripherals.
Figure 1: The schematic, made with Fritzing. See Resources for a higher-res version, as well as the original Fritzing file.
The first section is Inputs, circled in blue above, which consists of two of Adafruit’s MPR121 breakout boards. By wiring each channel of the breakout board to a conductive material (copper, in our case), we will create a piano keyboard, the universal musical human interface.
The second section is Peripherals, circled in red, which includes the Vibrato Sensor and the Mode Switch. Both of these devices send data to the Arduino 101 to change the sound of the keys. The Vibrato sensor allows the user to bend the pitch of the notes they are playing, from a light vibrato to a deep bass drop, all achieved by simply waving a hand in front of the sensor. When the user raises their hand, the pitch increases until it hits a maximum; when they lower their hand, the pitch drops to a rumbling bass pitch.
The Mode Switch changes which octaves the 24 keys cover:
- Mode 1 sets the keys to a low setting
- Mode 2 to a mid-range setting
- Mode 3 to a high setting
The high octave in Mode 1 is the same as the low octave in Mode 2, while the high octave of Mode 2 is the low octave of Mode 3. The octaves overlap for a total of 4 octaves.
The final section is Outputs, circled in green. Really, there is just one output, but the Arduino outputs 7 separate signals (one for each note currently being played) which are summed in the output circuit, adjusted with the volume potentiometer, run through a high- and low-pass filter, and sent to a ¼” phone output. You can plug a ¼” to 1/8” adapter into the output to play the synth through your headphone, or you can use an instrument cable to plug into an amplifier.
We would love to hear what you think about this project; please tell us in the comments section below.