MIDI Vampire-I
About the MIDI Vampire-I
MIDI Vampire-I (Vamp1) is just about the smallest digital synth we could make (i'd hate to think how big the smallest analog would be!). It boils down a MIDI synth to its basics - MIDI in, processing, audio out. And, in doing so, it reduces the power consumption to the point that it can be phantomly (or vampirically) powered from the MIDI data line itself! Just plug in and play, no batteries or powersupplies.
Vamp1 is a 4 voice, polyphonic wavetable synthesizer, with a mono, PWM output at 14b, 31.25ksps. It gives control over attack, decay, wavetable selection, and has FM, AM, reverb, and bitcrusher effects. It also has a variable pulse width, square wave synth, which is not wavetable based, and can generate filter sweep type sounds.
MIDI Implementation
Vamp1 responds to Note On and Note Off messages. If 4 notes are being held, then no new notes can be played. But, if less than 4 notes are being held, then new notes can steal currently decaying notes. You can set the MIDI Channel by cutting traces on the bottom of the PCB. Vamp1 does NOT respond to Sys. Ex. or Real Time messages. It does implement running status. All of the voice parameters can be modified via CC messages.
MIDI CC Messages
CC # |
Parameter |
Comments |
10 |
wavetable selection |
there are 16 tables, table 1 is PWM |
11 |
attack |
|
12 |
decay |
|
13 |
frequency sweep |
64 is off, 0 - 63 is down, 65 - 127 is up |
14 |
fm depth |
0 is off |
15 |
fm frequency |
|
16 |
bit crush |
0 is off, 127 is 1 bit |
17 |
reverb depth |
0 is off |
18 |
PWM "cut-off" |
|
19 |
PWM "cut-off" decay |
64 is off, 0 - 63 is down, 65 - 127 is up |
20 |
am frequency |
0 is off |
Controllers
One of our users (Nate Grossman) made an awesome controller within TouchOSC for the ipad. It opens up all the parameters, so you can visualize what's going on.
Another user (Ben Fuhrman) made an equally impressive controller using MAX/MSP, and exported it to work as a standalone unit (you don't need MAX/MSP). You can download it from his website:
Tavis Lochhead made a MAX for Live controller, linked here:
Robbneu's beat surfing template:
Firmware
If you want to modify your Vamp, there are plenty of fun things to do. You can put in your own wavetables, or modify the frequency ranges pretty easily. These are just done with lookup tables that can be swapped out. The code itself is written in AVR assembly, which we apologize for, but it was the only way to get so much into such a small space. We have some Pure Data wavetable creators that you can use to take .wav files and convert them into assembly lookup tables. You can also generate sounds within Pure Data and make wavetables from those as well.
Documentation
Files: Version 1.0