MidiVox shield for Arduino

stacks_image_0FCE4B8F-60DA-4E9A-9A86-92AE407CBF43
stacks_image_AE321F9A-1798-4D30-B5A5-472F66749BFE

MidiVox turns an Arduino board into a programmable MIDI synthesizer.

The assembled kit provides an isolated MIDI input jack along with a single-channel, 12-bit, digital audio output. Any MIDI keyboard with a
DIN-5 output can be used to control the shield. Assignable knobs/faders on your controller will come in handy for modifying synth parameters as sou play.

Intended for use as an experimental digital synthesizer, the board can be easily modified for use as a MIDI->CV converter or a MIDI output device.

The kit incorporates an
MCP4921 Digital to Analog Converter (DAC) chip, with an 6N138 optocoupler for industry-standard MIDI input.

Features include:
  • Indicator LEDs for power and MIDI data
  • 2-pole passive lowpass filter
  • Onboard volume trimmer w/ knob
  • Slide switch for allowing MIDI or Arduino programming data
  • Single channel 12-bit audio out
  • optocoupled MIDI input
  • a fine lookin’ PCB
Code:
Healer Synth v2 (previous version available here)

  • monophonic synthesizer based off of Marc Nostromo's Arduino Piano Squealer
  • requires Tim Twillman's Arduino MIDI library
  • responds to MIDI note #s 0-84
  • new - saves custom parameters to built-in memory (EEPROM)
  • 8 customizable parameters controllable via MIDI CC messages:
MIDI CC# Synth Parameter
0 Waveform Select
1 Filter Resonance
2 Filter Cutoff
3 Filter Type
4 Filter Envelope (0 to disable)
5 Wave Loop/Truncate
6 Attack Time
7 Release Time

The Healer Synth code is divided into 7 parts (.pde & .h files):

  • MidiVox_Healer_v1 - the main loop
  • MidiSetup - implements the MIDI Library and passes info to synthcontroller
  • SynthController - converts control parameters for the synth engine
  • SynthData - contains all wavetable data (waveforms) used by synthengine
  • Fixed - fixed point arithmetic conversion used by synthengine
  • SynthEngine - calculates a sample from control params & wavetables to send to the DAC
  • Hardware - formats and sends data out to the DAC

Schematic & PCB files:
MidiVoxSchematic-600wMidiVoxPCB_purple
EAGLE .sch & .brd files - MidiVox v1.1

Schematic
PNG file for print/etc
Demonstration Video:
Availability:
Kits will are available for purchase via the Maker Shed

For any additional info, feel free to ask via the contact page.

Photos on Flickr

© 2009 Collin Cunningham