Hello all from Essonne

Post Reply
DieBald
Posts: 2
Joined: Thu May 14, 2020 2:33 pm

Hello all from Essonne

Post by DieBald »

Newly active on the blog, I've started about 1 year ago the construction of cheap Hammond organ interface implementation. I mean, all the stuff that contributes to make the magic of B3: keyboards, draws, buttons, and ultimately the pedal board. Now, I've got electronic part ready, keyboards stacked and started to put all this together to make my dream come true.
Using USBComposite, I 've been able to quickly bind the 2 keyboards together and send Midi messages to computer via USB, but unfortunately, issues came when I' ve got to implement LCD touch screen for UI, Arduino_STM32 is not permitting proper implementation of it. So I decided to port USB MIDI interface to STM32 core. So far I spent some time migrating USBComposite to it, unseccessfully, too bad it looked so promising! From now on, I will adapt MIDIUSB to STM32 CORE.
I'm sure I will post again soon,
Regards,
DieBald

sheepdoll
Posts: 27
Joined: Fri Dec 20, 2019 6:47 pm

Re: Hello all from Essonne

Post by sheepdoll »

Welcome to the forums;

I have been working with pipe organ controllers for many years (Decades?)

There are a number of virtual organ systems out there. I work with theater organs which are VTPO. I also understand there are Virtual Hammond organs (VHOs) and a lot of VPOs which are virtual pipe organs. Most of these use recorded sound loops that are based on WAV files. The most popular loops are called soundfonts or SF2 files. These were loaded into the soundblaster cards. Now there are a number of software synths. Fluidsynth being the most popular.

An organ needs control logic this is called a Relay. They were originally magnetic coil relays and the name has stuck. Most Modern relays are computer/microcontroller based. The pre electronic versions were called trackers as they used roller bearings and wires to do the switching. Pipe organs date back some 2000 years to the Romans. By the middle ages they were the most complex things built, mechanically. A cathedral organ can have 1000s of pipes. All switched through mechanical and pneumatic logic. Many played automatically through spiked barrels that were rotated using a water wheel or weights. This makes them the earliest examples of stored program memory.

I like a relay program that it written in java called jOrgan. It is midi based. There is also MidiTzer and Hauptwerk. I think they all have an plug in extensions for emulating the Hammond B3 using standard midi keyboards and stop rails.

The Hammond organ was unique in that it used spinning disks called tone wheels to create it's distinctive sound.

I built a simple Arduino 8 bit interface for a 2 manual Wurlitzer theater organ console. This scans the keys and converts them to MIDI for jOrgan to parse. This worked well with the Arduino leonardo with the built in MIDI library class. I think the library is called arcore.

I have yet to find a similar stand alone library for STM32. Most are lufa based and attempt to do everything.

More recently I have been working on a commercial product using the STM32F407. Which is proprietary. It uses UDP over Ethernet.

The old jOrgan/Arduino stuff was based on a now defunct relay program called Emutek. This used PLCs and ladder type logic to control the pipes. Ironically the PLCs used STM 8051 based PSD made (and obsoleted by) STM, which I replaced with AVR Arduino starting with the mega88 and working up to the mega328. The irony is I am back to using STM chips. I think I posted some of the code to my github which is also sheepdoll. If not I can put the old Leonardo based code up. The main controller which is written in plain C got a bit large for the AVR328 memory space so I sort of abandoned it.

MIDI is a bit slow for organs. The emutek used RS485 as the bus. I simply captured the scans from the keyboard shift register, then used the arduino to convert the frames to MIDIUSB. The jOrgan knows how to patch things together though interfaces like Jack and rout them to the fluidsynth or if implemented a hardware synth. Actually the STM32F407-disco with the on board audio makes for a nice hardware synth. All it really needs is a decent implementation of a MIDI usb library.

Anyway check out the jOrgan system -- it can run on a rasbery pi, although it needs linux and a JVM to run. At one time STM had a JVM that runs on the STM32F429 discovery.

DieBald
Posts: 2
Joined: Thu May 14, 2020 2:33 pm

Re: Hello all from Essonne

Post by DieBald »

Hi sheepdoll,

thanks a lot for hints! I'm targetting organ emulation on windows, I haven't yet decided which one yet, and this is also the reason why I want my system to be flexible. I'll get a look to jOrgan anyhow since it could make the system fully autonomous!
I'm pleased to meet enthusiast people here and I'm looking forward to bringing my stone to this community.

Kind regards,

DieBald

Post Reply

Return to “Let us know a bit about you and your projects”