Close

Making Sound

A project log for Organ Midification

Make my falling-apart cheap Hammond spinet organ sound like an expensive pipe organ.

karl-bielefeldtKarl Bielefeldt 03/17/2015 at 16:430 Comments

Who can design a circuit board when you have a prototype sitting on your desk and just need a little software work to make some sound? Not me! I took a small detour in order to be able to get a small taste of the end product.

I am primarily a church organist, so I mostly wanted a pipe organ sound, although certainly I may hook up a jazz organ synth every now and then. You can get virtual pipe organ software that receives midi messages and plays audio samples recorded from real organs. The big name in this field is Hauptwerk, but I wanted my project to be open source and run on Linux, so I chose GrandOrgue, which is very nice.

Next problem is Arduinos look like a serial port when you want them to look like a midi device. There is a hiduino project to do this over USB without any drivers on the computer side, but that was more modifications to my Arduino than I was willing to do at the moment, so I used Hairless MIDI serial instead. It has a weird name, but works very well for converting serial port messages to a midi device, and has a nice debug output as well, which is perfect for this sort of project. I will probably do the hiduino solution eventually, but only after my firmware has stabilized.

So a little work on my Arduino sketch, and nice pipe organ sound for 22 notes! I will post my code and other design files to github later. The biggest gotcha was even though I was sending a note off event, it still expected a velocity of zero, or GrandOrgue wouldn't actually turn off the note. Hairless' debug output was perfect for troubleshooting this. I could see that my messages were being received correctly, which eliminated many potential sources of error. Also, GrandOrgue being open source helped tremendously, because I could actually look at the code that was processing the note off events.

Now on to designing a full schematic, for real!

Discussions