Intro: Designing and Building an 'acoustic' Synthesizer
The previous iteration of this instructable did not feature any sound or video of the actual synth, which is quite essential to see if you want to build something! So here they are:
A great video where Stefany June plays the instrument and I talk about it for a bit.
A quick video of a jam I did together with Roel playing electric guitar
A quick video of a jam I did with the synthesizer in Jasper's electronic setup
This instructable shows how I made my prototype and describes how you could make your own. It won't go into super-deep detail, so if you want any assistance, please don't hesitate to contact me!
More details can be found in the report I wrote here.
This document and all included research and illustrations, are covered by a Creative Commons Attribution-ShareAlike 3.0 Unported License. The hardware designs, schematics and code are provided under GPL v3. This means that you can rebuild and improve on this project as you wish, just let me an Meeblip know!
If you want to know more about me, check me out at http://www.arvidjense.com
Step 1: Concept and Design
So, synthesizers are pretty cool instruments, making the sounds for the mostof the music I listen to right now. Yet they are quite limited in where and how they can be used. For instance, I can play my guitar at home, but I could take it to the park or to a friend for a quick jam-session. Not so simple for a synth: I'd have to plug it out of my studio setup, take a midi keyboard or laptop and just hope the place where I'm going has the right connections to plug in again.
Another point where I feel synthesizers are performing worse than traditional instruments, is in their connection to the user. Where I can feel the vibrations of my guitar resonating through my hands and body, the sound of a synthesizer comes from a speaker a few meters away from me. Similar on the control interface; A guitar is quite clear in the fact that if you pluck a string,a sound comes out. But for a synthesizer you will have to learn the function of dozens of knobs which often have several layers of functionality.
On the other hand the palette of different sounds coming from a synthesizer is bigger than that of most traditional instruments. Also the possibilities for programming the notes allow for things not possible on traditional instruments. So why choose one or the other? I wanted to create a synthesizer which has the flexibility and direct connection of a traditional instrument.
As I've done this project for Meeblip, one thing was certain, I would use a Meeblip Micro as the sonic centerpiece. Other than that, everything was still open. Would it become a drumbox or rather a guitar-like synth? After looking at a lot of different synthesizers, reading up on synthesizer design literature and sketching lot of variations, I came up with something.
After making a lot of prototypes of all the individual pieces (interface, electronics, sequencer etc) I finally found the 'final form' which is made in the next steps. All functions are directly accessible through the knobs and switches on the interface The internal speaker allows the instrument itself to vibrate, which, especially when you place the instrument in your lap, help you feel what your playing. The instrument is controlled through a circular sequencers, in which you set the notes form a range of -12 to +12 semitones from a center note set by the base knob.
I've yet to create a decent video showing all the function, but as soon as that is present, I'll put it in here!
Step 2: Materials, Tools and Budget
Things to buy:
Price (total) Item
€ 50,00 1 x Meeblip Micro
€ 20,00 1 x Arduino Leonardo note: most other Arduinos could do, but would need some modifications in the code
€ 10,00 1 x Cheap USB speakers note: these are all really similar, I got mine at Saturn
€ 15,00 1 x 250x500x2mm model airplane beech plywood note: my laser-cutting files will only work for 2mm wood, but they could be modified if needed
€ 30,00 1 x 30minutes of laser-cutting note: this could be free if you have a fablab near you or it could be hugely more expensive if you have to rely on an online laser-cutting service
€ 18,00 18 x Potentiometers (10K)
€ 18,00 18 x Knobs
€ 3,90 6 x Rocker switches
€ 4,00 2 x Arcade buttons modified
€ 0,40 8 x LEDs (5mm yellow)
€ 10,00 1 x Protoboard
€ 0,30 3 x IC mounts
€ 0,10 2 x Resistor (10k)
€ 0,10 2 x Capacitor (10nF)
€ 0,50 1 x Headers male (about 30 bits)
€ 0,50 1 x Headers female (about 30 bits)
€ 2,00 2 x Multiplexers (4051)
€ 0,50 1 x Hex inverting Schmitt trigger (40106)
€ 1,00 1 x 2aa battery holder
€ 3,00 1 x USB step up converter
€ 1,00 1 x Rubber band (X shape)
€ 4,00 1 x Assorted Wires
€ 2,00 4 x Rubber feet
€ 8,00 2 x AA batteries (rechargable)
€ 202,30 Total
note: these prices are approximations, you might be able to get some parts cheaper or more expensive, but the ballpark cost is around €200,-
Tools and consumables:
Step 3: Encasing
First step is to do the laser-cut enclosure. As I couldn't find any laser-cutting facilities with a powerful machine, I didn't have much choice in wood; it had to be 2mm or thinner. Most types of wood are quite weak and flexible at that thickness, so I had quite a search finding the right wood. I finally settled to a beech plywood for model airplanes of 'F1' quality, whatever that means.
The cutting files can be found in Meeblip lasercut 2mm hairlines part1 [Converted].pdf and Meeblip lasercut 2mm hairlines part2 [Converted].pdf.
Before cutting the files, you should do some tests on the wood to determine the right intensity and speed. This is very important on the lettering, as a line too thin will be illegible from a distance, while too thick of a line will make the lines flow over. I used the same settings for the lines and letters, but for a next version I would increase the intensity on the lines, to make them a bit more pronounced. The pdf files show the cut lines in red, while the engraved lines are black
After everything is cut and engraved, it is time for assembly. Just put all the pieces, except for the front panel, together. Put some high strength (wood) glue in the seams. (Be careful that you don't smudge the wood or leave large blobs of glue hanging on the outside.) Tie this together with some rubber bands and leave it overnight.
With the encasing glued, its time for some finishing. First, be sure there is no grease on the wood, if there is, remove it with any degreaser. Now, use some fine grit (>P150) to sand the wooden panels with the grain. Clean it again after this is finished and let it dry. Now you can put any number of layers of light stain on, I did only one.
Step 4: Electronics
Getting the electronics right in this project is by fare the hardest task in this project. If you can make a PCB, go for it, as it will save a lot of time fixing minor errors. Otherwise, use a stripboard, as you won't need any special tools. You can follow the wiring as shown in the Fritzing file found in Acoustic Meeblip Scheme.zip.
You should be very careful to do everything right the first time, as fixing mistakes is really time consuming. Often when I try to fix one broken wire, the process makes some other wires snap, causing me to spend an hour on what should've been a five minute repair.
Things to note here are how I use two AA batteries with an step-up converter instead of a 9V battery. This is an advantage on multiple levels, AA batteries are cheaper and more common than 9V block and they also provide a a longer operating time on the right voltage.
Another things is the use of the Inverting Schmitt Trigger. This, in combination with the resistor and capacitor, causes the Manual buttons to avoid bouncing and causing a note to be triggered double. (This is complemented by a pieces of debouncing code on the Arduino.)
Step 5: Software
Now all the wiring is done, we can go on with the code. The scheme shows how all the parts interact with each other. What we can see is that the Arduino does all the sequencing and note generation, while all the actual sound synthesis is left to the Meeblip.
The Arduino code is not very complex. It has two modes of operation, automatic and manual. The automatic mode works when the 'run' switch is flipped. Now it will walk through all the sequencer steps on an interval set by the 'tempo' knob. On each step it will set the multiplexers to the right knob and LED, of which the value will be translated in a MIDI note, which in turn is send to the Meeblip through Serial1. (Note: on other Arduinos than Leonardo, this might just be changed to Serial). The manual mode works similar, but works instantly (interrupts the processor), with the right button walking clockwise and the left button walking counter-clockwise.
The arduino code can be found in Meeblip_Project0_4.zip
Some code was changed on the Meeblip as well. Most notably the bindings of the knobs, but it also checks the state of all the knobs on start-up and removes the use of midi CC. This causes that the value a knob is set to, is always the setting which you can hear. Using Arduino ISP and avrdude, I uploaded the firmware with the following command:
avrdude -P COM5 -b 19200 -c avrisp -p m32 -B 5 -U flash:w:meeblip-micro.hex -U lfuse:w:0xBF:m -U hfuse:w:0xD9:m -U eeprom:w:meeblip.eep
(More info on this can be found here)
Both micro.hex and micro.eep can be found in Acoustic meeblip micro firmware.zip
Step 6: Conclusion
And there you have it, an 'acoustic' synthesizer!
As I feel like this is just a first iteration on a completely new type of instrument, I've made a little to-do list. Things I would like to do for a next prototype:
* Use a PCB istead of a stripboard
* Easy battery access
* Open/Close system
* Make the push buttons dynamic sensitive (velocity or pressure)
* Add audio+midi out and midi (sync) in
* Higher quality amp+speaker
* Better ledgible interface lettering
* Battery level indication
* Integrate the Meeblip and Arduino on the PCB
* Make it solar/hand powered
* Make it waterproof