[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] Midi Channel Limitations

From: Peter Hanlon
Subject: [fluid-dev] Midi Channel Limitations
Date: Tue, 9 Sep 2014 14:30:23 +1000


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.  

reply via email to

[Prev in Thread] Current Thread [Next in Thread]