The Electronic Instrument Toolkit aims at filling a gap in the tools of prototyping electronic audio instruments. Mozzi provides a strong library for designing synthesisers on the Arduino and Teensy platforms, and there are well written MIDI libraries in existance, so all that remains is an expandable hardware platform consisting of signal processors and sensors.
The three areas I would like to provide tools for in this project are:
- Traditional synthesisers, in particular modular synthesisers.
- Wearable sensors, particularly focussed on making instruments accessible.
- Weird stuff that comes out of NIME (seriously, if you haven't heard of NIME check out some of the weird and awesome stuff they present).
For the initial iteration of the project I aim just to create ultra-basic components to get started. These will be:
- Mozzi Hi-Fi DAC
- MIDI Input
- MIDI Output
- Potentiometer board
The first revision is succesful in outputting audio, but is not what I would want other people to use as it there are several problems. The main issue is that I forgot to run the ratnest command before finishing the board, so the ground plane is not connected to the grounded pins, which have been modded now to test the rest of the board.
The board is very unstable on the breadboard, which is an issue if the headphone cable may get knocked. I have seen this overcome by the Breadboard Friends by Mutable Instruments by having dual row headers on both ends of the breadboard. This works fantastically, but does increase size significantly.
Quantization noise is apparent on the output of the audio from the Arduino Nano. The Mozzi HiFi DAC outputs 14 bit audio at around 32 kHz, which is great for an 8-bit micro, and shouldn't be too noisy. I think there is an issue that I took the easy way out and did not match resistors to achieve the optimal weighting of the parallel digital outputs. Better markings on the board could indicate the options so that users can choose how lazy they want to be.
Changing to a stackable header would be advantageous as if the board is crowded, it can be connected directly by wire without needing surrounding pins (also taken from Breadboard Friends). A pin that is connected to the output would also be useful if the user wants to connect the board to further processing, or wants to bypass the D-A and just output to the headphones.
So, the action from this revision will be:
Consider an unconnected dual-row header for stability.
Switch to a stackable header, and add an additional pin which will be connected to the output (dual purpose of getting the converted audio, and also just using the board as a generic headphone jack).
Include markings on the board to indicate either two 1M resistors can be used, or one 499k. Also improve markings for easy building.