=== 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. * [[attachment:midivamp.touchosc|MIDIvamp TouchOSC Template]] 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: * [[http://www.benfuhrman.com/?p=652|Ben Fuhrman's Controller]] Tavis Lochhead made a MAX for Live controller, linked here: * [[http://tavislochhead.com/other-work/|MAX for Live Controller]] Robbneu's beat surfing template: * [[attachment:MIDI Vampire-I Bass.bs|MIDIvampire-I 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. * [[attachment:vamp1.hex|firmware AVR .hex file]] * [[attachment:vamp1_avr.zip|firmware AVR Studio Project]] * [[attachment:resampler.pd|Pure Data wavetable sample rate changer]] * [[attachment:wave_generator.pd|Pure Data wavetable creator]] ==== Documentation ==== Files: Version 1.0 * [[attachment:vamp1_brd.png|board image]] [[attachment:vamp1_4.brd|board eagle file]] * [[attachment:vamp1_sch.png|schematic image]] [[attachment:vamp1_4.sch|schematic eagle file]] * [[attachment:audioint.lbr|library eagle file]] * [[attachment:vamp1.zip|pcb gerber files]] * [[attachment:vamp1_bom.pdf|pdf parts listing]][[attachment:vamp1_bom.ods|.ods parts listing]]