Tangible Waves - Grains
An Arduino compatible granular sound player / multi purpose digital sound module.
GRAINS is a development of ginkosynthese.com, Jan-Willem from Ginkosynthese gave me the permission to adapt his module for the AE format.
It's based on an Atmega 328 micro controller, well known as the core of the Arduino Uno, Nano and other boards, and can act as a granular sound player as well as different other functions depending on the firmware. It can be programmed directly by the Arduino IDE via the integrated USB socket on the front side of the module (USB cable is included!)
A lot of different codes are available on the Ginkosynthese website; they are are a perfect starting pointfor your own experiments and exploring how digital sound processing works.
GRAINS is a programmable multipurpose module that has first been developed by Ginkosynthese for Eurorack. The AE Modular version is 100% compatible with the source code for the original, but there are a few added features. It is based on the Atmega 328 micro controller, well known as the core of the Arduino Uno, Nano and other boards, and can act as a granular sound player as well as different other functions depending on the firmware. It can be programmed directly by the Arduino IDE via the integrated USB socket on the front side of the module via the included USB cable.
- IN1 - accepts a CV signal
- 2 - accepts a CV signal
- 3 - accepts a CV signal
- A - accepts an audio signal (this is a new feature of the AE Grains and isn't available on the original Eurorack module)
- OUT - This is an audio signal direct from the PWM output pin of the Atmega chip running through a lowpass filter
- D - This is a digital signal that can be used for triggers, etc. (this is also a new feature and does not exist on the original Eurorack module)
- MULT - unbuffered multiple, unconnected from the module's circuitry
Bus outputs on the left hand bank of sockets.
- Bus CV - CV signal from MIDI
- Bus CTRL - Gate signal from MIDI
- Bus Gate - Gate signal from MIDI
- Pot Level 1 - depending on switch 1 attenuate signal from IN1 or select CV level between 0-5V
- Switch IN1/MAN - switch between attenuating signal from IN1 or issue CV between 0-5V (the original Eurorack module does not have this switch)
- Pot Level 2 - depending on switch 2 attenuate signal from IN2 or select CV level between 0-5V
- Switch IN2/MAN - switch between attenuating signal from IN2 or issue CV between 0-5V (the original Eurorack module does not have this switch)
- Pot Level 3 - select CV level between 0-5V
How to install other Firmwares
You can easily install different firmwares on to the GRAINS module or even develop your own programs!
The following firmwares are currently available from the Ginkosynthese website:
- GRAINS - The first code written for the GRAINS, an FOF synthesis oscillator
- ROUNDHOUSE - Kick drum based on the 909 with some tweaks
- FRAMEN - A cut up amen break
- TALKO-COUNTER - Let your GRAINS count like a Speak&math
- TRI-SHAPE - An oscillator based on the supersaw
- RZ1 - Crazy lo-fi drums based on the Casio RZ1
- EURO PWM SAW - A supersaw oscillator to bring you back to the 90's
- FRESH - A sample used in many classics, your GRAINS will say FRESH!
- FALAFEL RAPS - A famous rap sample to mangle into crazy glitch-hop
- WAVEGRAINS - A wavetable oscillator
To install those firmwares on the module you need to follow these steps:
- Download and install the Arduino IDE
- Download and install the driver software for the CH340 USB chip (you may not need it if you are running the latest version of OSX)
- Open the Arduino IDE and make sure that under Tools/Board you have selected Arduino Nano
- Make sure under Tools/Processor you have selected "ATmega328P"
- Download a firmware from the Ginkosynthese website
- Connect the included USB cable between the GRAINS module and your PC
The firmware codes from the Ginkosynthese website are mostly single files with the ending .ino which means that they are Arduino sketches. You can open them in the Arduino IDE by double clicking on the filename.
Once you have the file open in the Arduino IDE you can upload them to the GRAINS module by clicking the Upload icon (depicted as an arrow pointing right).
Once the IDE shows that upload is complete you can disconnect the USB cable and use the GRAINS module with the new firmware.
Developing your own Firmware
Using the existing codes as example you can either make changes to them or develop your own firmware from scratch. The following diagram shows how you can access the various inputs, outputs and controls from within your code: