[posted] Draw Bar Organ MIDI Module

lsrichard

Member
Introducing the Draw Bar Organ ver.12 by Richard Lingenberg. It is a modern open source 9 draw bar MIDI/ USB Host keyboard organ module. It makes extensive use of Teensy PJRC technology with a Teensy 4.0 attached to a Rev. D audio board and a Teensy 3.6 driving the ILI9341 type touch display. It uses a SD card that can be attached to the built in reader on the Teensy 3.6 to store 105 patches with 22 patches built into the program. The patches contain the 9 draw bar settings, the AHDSR settings and the patch display name. It uses the EEPROM to save the selectable default setting loaded at power up. It uses a dependable MIDI to USB adapter made by Fore attached to the USB host of the Teensy 4.0. It also makes extensive use of PJRC libraries.

Features:
* 61 voice/ note capacity. One voice for each note on a 5 octave keyboard.
* 9 touch screen draw bars.
* Attack/ Hold/ Decay/ Sustain and Release settings.
* 105 savable to SD card patches. 22 built in patches.
* MIDI channel and Program change options.
* Default settings that load at power up: patch, MIDI channel, MIDI patch change, S10 mode, Sustain polarity, Transpose, Tuning and Bender range
( all saved in EEPROM memory ).
* Volume control knob and isolated output.

If interested I can share my schematics and source code. While I am experienced at building electronics and have done engineering work I am a bit of a newbe to coding. Some of the coding may look strange or disorganized but everything works as intended.

WIN_20200328_12_57_59_Pro.jpg

WIN_20200330_20_27_00_Pro.jpg

The Draw Bar Organ sounds best with some external effects added such as a chorus or rotary speaker simulator and a bit of reverb. I am using a MXR Micro Chorus and a mini reverb pedal. The MXR Micro Chorus I use has been modified to be able to change the rate speed controlled by the Teensy 3.6. This provides a pleasing fast and slow rotary speaker effect.

A look inside the module:

WIN_20200219_16_10_45_Pro.jpg

WIN_20200330_20_29_03_Pro.jpg

WIN_20200328_13_03_19_Pro.jpg

Screen shot of the extensive Draw Bar Organ Audio System Design Tool setup:

Drawbar Organ Audio Design Tool Screen Shot.jpg

I know the objects are too small to see. I was not sure the Audio System Design Tool or the Teensy 4.0 could handle this many connections or objects but luckily it did. The objects on the left are 101 sine wave generators. The next three columns are 61 nine input mixers made from 183 four input mixers. In the fifth column are the 61 Envelope objects. In the sixth column and the rest on the right are the 61 input mixer and output section. This is similar to how an analog draw bar organ is wired.

As for a sound demo I will try to post a Sound Cloud link soon but I have not recorded it yet.

Thanks
 
Here is a link to a sound cloud demo of the Draw Bar Organ module.

https://soundcloud.com/lsrichard/draw-bar-organ-demo-1

Here is the master wiring schematic.

Drawbar organ master wiring.jpg

IT uses a Teensy 4.0 attached to a Rev.D audio board and a Teensy 3.6 to handle the touch screen display and patch loading from the SD card.
They communicate with each other with a standard serial connections sending different parameters to each other.

Here is the power supply and audio output section ect.

Drawbar organ audio ect..jpg

I am not sure how to rotate images when I post them.

I am using the stereo output of the audio board in a differential format with normal and inverted output.

This is to help cancel out any digital noise and helps make the noise floor lower.

The audio section also has a 7KHz low pass filter and is isolated with an output transformer.

The isolation is mostly only needed when it is connected to a computer thru the programming ports.

Thanks
 
The sound cloud demo link will continue to play the other unrelated files on my sound cloud account after the organ demo has completed.
Not sure how to stop this and I can not delete the other files from a project 6 years ago.

Just push the pause button on sound cloud after the organ demo is done.

Thanks
 
Hello, I just listened to the demo, and it sound nice !
There seem to be a lot of good ideas in your project for a real instrument like the inverted output, and many others that I don't quite understand as I am a newbie in electronics. How do manage to create inverted channels ?
Also are you using relay for controlling the MXR or some other elctronic trick ?
Would it be possible to see the code for this instrument ?

Thanks for your poject share.
 
Hi Regis,
in response to the inverted channels question, instead of running in stereo run signal thru two Amp objects using the audio design tool and set Amp1 to 1.0 and Amp2 to -1.0. this will invert the signal of the amp2 object. Then the left and right output is recombined using an op-amp. This technique is used in many commercial products and cancels out some of the noise generated in the digital to analog process.
 
Hi Regis,
in response to the MXR control question, I am using a photo-coupler with the photocell side connected in parallel with the rate pot. I think I used a Vactrol part #VTL5C3 or VTL5C4. The LED side is controlled by the circuit.
 
the organ code

I too am a newbee to coding in C++.
I am about 2 years into learning this.
I think the ability to find ones own mistakes was a major breakthrough.
Rem everything ( i even rem the } to keep track of them ).
 

Attachments

  • organ4_12.ino
    142.5 KB · Views: 124
Hi Regis
another note:
The code was started and built on the inputFunctions example under USBHost_t36.
I found the USBHost_t36 to be the most stable MIDI functions library for teensy.
 
Hello,
Thanks for sharing ! You do have some enigmatic variable names but it looks quite good. I didn't know a tonewheel organ was working this way.
I haven't tested it yet but soon I hope. And thanks for hardware tips also.
 
instead of running in stereo run signal thru two Amp objects using the audio design tool and set Amp1 to 1.0 and Amp2 to -1.0. this will invert the signal of the amp2 object. Then the left and right output is recombined using an op-amp. This technique is used in many commercial products and cancels out some of the noise generated in the digital to analog process.

I guess this is emulating a differential ADC to produce 6dB higher signal - it only adds benefit I think
if the bit depth exceeds the ENOB of the converters (which is often the case). Still its a useful trick to
remember - and you can use it to directly generate a balanced output signal too of course.
 
Hi there

Just happened across this again - very impressive!

I'm slightly curious why you elected to use 101 "tonewheels" and equal temperament tuning, when the Hammond has 91 (with some weird "foldback" at low and high notes) with slightly odd tunings due to the integer-ratio gearing. This page is a good reference, if you wanted to give it a try. Obviously the Hammond isn't the only tonewheel organ ever made, but it's possibly the iconic one, and might be worth devoting some patches to.

Cheers

Jonathan
 
Back
Top