Synthesizers have existed in their current form for several decades now. In essence, they generate simple waveforms that are then either added or subtracted together and modified through the use of filters, envelopes, and modulators to control pitch, volume, and several other characteristics. Due to their simplicity, many types of components can be combined to create them with a wide variety of unique characteristics.
Built by Ignacio Ríos, his take on the synthesizer incorporates an Arduino Nano along with a series of buttons, potentiometers, and an amplifier to produce sounds. It starts by taking a carrier frequency that is modulated by a secondary oscillator, similar to how FM radio functions. From here, four potentiometers modify how the carrier frequency responds to the modulated wave. Another four potentiometers change the attack, decay, sustain, and release durations, all of which are read by the Nano’s onboard ADC.
Each of the keyboard’s keys are actuated with a tactile switch that constantly gets polled for when it is either pressed or released. When pressing a key, the program updates the current note being played and each of the four channels with the computed values from the aforementioned potentiometers. Finally, the PWM pin’s pulse width is updated to reflect the new value.
After 3D printing a shell, the 17 keys for the keyboard, and a few dials, Ignacio assembled the synthesizer together and was able to successfully play a series of varied notes. To see this in action, you can watch Ríos’ YouTube video below or check out his write-up on Instructables.
Read more about this on: Arduino Blog