Warning: include(lang/lang_1.php): failed to open stream: No such file or directory in /home/www/custom.colin.dk/index.php on line 9

Warning: include(): Failed opening 'lang/lang_1.php' for inclusion (include_path='.:/php/includes:/usr/share/php') in /home/www/custom.colin.dk/index.php on line 9
Colin Custom
 
 

MIDI-Accordion

Some time ago a friend of mine sent me the following link: http://www.conjurer.plus.com/bassmaker/moolodeon.html . (Ohnoes, the link is borked. Until it recovers the product can be viewed in two youtube videos: http://www.youtube.com/watch?v=OQV-FeRlYAA and http://www.youtube.com/watch?v=Dc1a5ig_M94)

The page behind the link is a short summary of the badassery of an English guy called Lee. He build a diatonic accordion without traditional voices but with MIDI-output instead. This project was so awesome that i had to do it myself.

I have the accordion at home. It is an old east german accordion, which i painted metallic blue in an attempt to restore it some years ago. The restoration failed miserably, as the voices and the mechanics was rubbish. I left it in my mothers basement and forgot about it.

Enter this project. I fiind myself needing an accordion-shaped box - and a fitting bellows. Everything that was wrong with the old blue one is not to be used in this project anyway.

It is the plan that the accordion should be able to both generate and recieve midi events. The accordion should be able to be plugged into either a midi-module or an amplifier. This way, I will be able to plug in a MIDI-keyboard and enjoy the tender notes of my synth-module, as well as i will be able to use the accordion as a MIDI-keyboard, bypassing the synth.

I have made a sketch showing the different modules and their relations.

Project segments:

The project consists of a lot of minor modules, but overall it can be put into a few segments.

Controller: Input to MIDI. Really just an accordion-shaped MIDI-keyboard.

Synthesizer: A MIDI "instrument". Should be able to play back analog sound based on MIDI-information.

Amplifier: Does what an amplifier does. Drives a couple of speakers built into the instrument.

Power supply: Should supply enough powah for everything to run.

 

Controller

Is likely to be the hardest part. I have a lot of (crazy) ideas which all needs to be taken into account.

The buttons are relatively easy. I need to make a keyscan routine, scanning through all the buttons (a birds nest of wire and ordinary press buttons) and register if any has been pressed. I probably also need to do some debouncing during this. The accordion i am using has about 170 buttons, so even if i use a X-Y setup with a MUX, i need a lot of ports on my central microprocessor.

 

I bought an Arduino Mega, which seems to offer what i need. It offers 54 digital IO-ports (from which 8 runs serial - 4 TX and 4 RX. I need this for MIDI in/out) and 16 analog inputs.

Besides from the keyscan, i need an air pressure sensor (i found a fitting model at DIYDrones). It measures the pressure at the bellows, and the volume of the active midi-channels should be adjusted accordingly.

 

As the air pressure sensor is differential, i can measure the direction of the bellows (if the bellows are pulled, it creates a low pressure, if it is pushed, it creates a high pressure). This allows for making a diatonic accordion - melodeon style. I play only the chromatic accordion myself, but it could be interesting doing a five-row melodeon.

Lastly i need some sort of interface. I hope to make it so a few things could be tuned: MIDI-channel (for bass notes, chord tones and melody tones), MIDI-instrument (same as before), semitone- and octave transpose and keylayout.

 

This part of the controller needs a few extra pieces. I chose a two line LCD-display (serial-controlled, from sparkfun), a rotary encoder with pressbutton (also from sparkfun) and a micro-SD reader (yet again, sparkfun).

I also thougt about it would be nizzle to be able to define macros and assign them to buttons (via the key layout). This could end up in a button panel somewhere on the accordion with macros like "quicktranspose", "change to a specific midiinstrument" or so.

 

Surely, this will be easy ;-)

 

Synthesizer

There are a few options here

 

I bought a WaveBlaster daughterboard (NEC Xr385 - a clone of the Yamaha DB60XG), which i made a support circuit for. I found schematics for the circuit at the Electro-music forums. I suspect that the sounds are kinda crummy, after all it is a wave table add-on to a mid-nineties sound board. I hope to find a lot of retro sounds on the board - or i might just build it into a stand-alone MIDI synth module.
I have found a project hosted at GoogleCode: 4bitsynth. It appears to be just what i am looking for. It is a piece of code for an Atmega48 microprocessor, which recieved MIDI data and outputs either square, triangle or noise waves. In its default configuration it can sustain 4 simultanious voices. Maybe this can be expanded? (For it to be useful in this project, i need 6 simultanious voices).
I really havent looked much into this, but it could be great fun to maybe get hold of a couple of SID chips or other sound chips from the same generation. I remember something about one of the sound chips from the first generation TV-consoles having a larger polyphony, maybe this was worth looking into - maybe as a later upgrade project.
I plan to mount the support circuit into the accordion, allowing the daugtherboard to be dismountable. This only requires the 4bitsynth board to have a compatible connector and the WaveBlaster connector is well documented (for example at Wikipedia).

 

Amplifier

Is really not my cup of electronics. I dont really need big speakers, so i might be able to do something really small. Maybe this would do.

 

 

Power supply

Jeg fandt et diagram der er skræddersyet til WaveBlasteren. Det leverer +5V, +12V og -12V (WaveBlasteren skal have hhv + og - 12V, for at den kan levere et stereosignal.

Denne strømforsyning er dimensioneret således at der skulle være basis for at kunne trække det hele (håber jeg. Futter den af, må jeg bygge en bedre ;-) )