Arduino Synth

We would like to make it possible to make installations which emits sounds and music without the need to have a computer connected. We needed to create a stand alone sound creation device which could be controlled by real time user input.

Microcontrollers have two main problems when trying to produce sound. 1)it doesn’t have an analog output which is required for making line output sound signals and 2)memory is not big enough for storing sound samples which would be the preferred way to represent sound.

1)Can be solved by by using PVM modulator which generates a wave form that, when a low pass filter is applied, will result in an immediate analog signal which runs at a high inaudible frequency that can be used as an analog output after filtering. Its a waveform that switches from high to low about 60,000 times a second and by controlling the ratio between high and low you can translate that into an intermediate value by averaging the amount of high and low over time.

2)Can be solved by synthesizing the wave form so that it consists of wave shape that will generate the tone quality of the sound and envelope signal and will define the time behavior of the signal. Since only one wave of the sound needs to be stored in the memory only a small amount of memory is required and equally with the envelope wave form.

This project for individual sound waves can be generated at any given time. Each wave needs a 256 byte wave shape and a 256 byte of envelope shape. These two waves are then stretched to generate the pitch and the time indicator. The four sound sources inside the software is combined before sent to the analog output.

To be able to play actual music with it, sequencing is needed. In the first prototype a simple sequencer is implemented into the software.

In the second prototype, potentiometers are used to control the individual properties of each wave generator. In this way, sound can be controlled manually while playing music.

Sound samples and video coming soon!

Created by Dzl, Mads working on interfaces.