A popular synthesizer feature is the noise generator. This noise can be filtered and mixed with our tonal signal to add bite or create percussive sounds. In this mod we will be using an Arduino microcontroller to add a noise generator to our Werkstatt.
1 x Arduino
2 x 10k Potentiometers
For this mod we will be using an Arduino Uno micro controller. The Arduino is based around the ATMEL series of micro processor IC's, and is a very versatile tool across multiple disciplines. Refer to Figure 1 for a closer look at the exact digital and analog I/O configuration for the Arduino. For more information regarding the Arduino please visit arduino.cc
Figure 1. Arduino UNO
We will be using the Arduino to generate a random bit stream, delay the signal by a specific amount to "filter" our bitstream, and then send that signal to our Werkstatt's VCF AUD IN.
This noise generator example uses an Arduino digital output, an Arduino analog input, and 2x 10kΩ resistors. Our digital output sends the noise signal to the Werkstatt, which is passed through one of our 10kΩ potentiometers for signal mixing. Our other 10kΩ potentiometer is hooked to the Arduino's 5V+ line, an analog input, and ground. This will give us a value of 0-1023 depending on how far the potentiometer is turned to control the "color" of our noise. Refer to figure 2 for a jumper configuration for our circuit.
Figure 2. Noise Generator diagram.
We will need to upload some code to our Arduino for this to work properly. The noise generator works by sending a randomized bit stream over an Arduino digital output. We are mapping the incoming ADC 0-1023 data to a 1-3000 range. This proves for a more dynamic "color" range. The "color" refers to the tone or timbre, in this instance it has a bit crush and low pass effect.
To upload simply plug your Arduino into your computer, open noise.pde in the Arduino IDE, and press upload. As long as the moog_werkstatt library is in the IDE's path, the code will compile and upload.
In the code we see that we initiate and name noise class set to output on digital pin 1, this will send our bitstream. Then we initiate and name the interface class set to input on analog pin 0, this is for our pot. We then run the potentiometer function and set minimum and maximum output of the incoming data. This data is then applied to our color value to change the timbre of our noise. Refer to figure 3 for a detailed look at the code.