Hi,
I am Peter from Canberra Australia. I am trying to redevelop a Schober
Consolette II Organ that I built in 1970, using modern electronics and
synthesizer software. For the hardware, I have used Arduino Uno and four MIDI
DIN R5 boards. My Arduino software then delivers printable hex records of 19
bytes to an Apple Mac OSX application via a USB port. The 19 bytes consist of a
1-byte bus indicator, 2-bytes volume shoe, and then 16 bytes of digital
switches. The bus is upper or lower or pedal keyboard or
stops/balance/vibrato/percussion kit. A record is sent when something on the
relevant 64-bit bus changes.
I have the OSX application including the serial port access and fluid_synth
calls running to the point where a key press on the Organ produces a vaguely
reasonable note through the OSX speaker.
What I need is comment on my design for the fluid_synth bit, which I will try
to summarise as follows:-
The organ has 23 stops allocated to pedals, swell and great manuals with one
stop switching swell to great. It also has a dozen instruments on a rotary
switch comprising a percussion kit. My current design essentially has each stop
allocated to its own channel, and one channel allocated to the percussion kit.
For the stops, the channel is attached to a particular sound font using sound
font id, bank and program, statically during the synth initialization.
For the ‘percussion’ kit, the channel is initially similarly attached, but is
reviewed when the percussion switch changes.
So I have had to extend ‘midi-channels’ to 32 from default 16. And I now wonder
if I need some notion of ‘midi-routing’ where I might be responsible for
coalescing these potential 32 down to something amenable to the MIDI
limitations, or sound card or whatever, or hopefully some God within
fluid_synth looks after it all for me?
The Arduino code is in pretty reasonable shape, and fluid_synth on an Intel
Galileo could be an interesting activity. I imagine that sound font sizes and
font access might be issues.