SoundFontCombi v0.017
---------------------
Sorry for the English :-)


Requirements:
------------    

* Linux (Tested on a PIII 933 Debian sid and PII 300 Gentoo).
* ALSA (with sequencer).
* FLTK (tested and compiled with v1.1.1)
* Wave table device hardware or software or some kind of MIDI OUT (Tested
  with SBlive, Fluidsynth, Timidity, ZynAddSubFX.
* Midi Keyboard or virtual keyboard like vkeybd.    


Get the latest version in :

http://personal.telefonica.terra.es/web/soudfontcombi/
               
What does SoundFontCombi?
--------------------------

sfc (SoundFontCombi) is a midi router oriented to mix the sounds of your
sound devices, up to 8 sounds can be mixed or split, for do that has 6
midi out ports and 2 midi in ports, up to six different devices can be used
to produce combinations of sounds like some synthesizers.

The connection with your devices are automatized, then you can load/save
your "mixes" in banks of sounds, and change it via Midi Program Change
message or by the computer. 

sfc take the advantages of ALSA sequencer for do that an of course you can
use any kind of device who recognizes midi messages to produce sound, like
emu10k1 hardware synthesizer, Timidity. FluidSynth, ZynAddSubFX, external
expanders o synthesizers .... anything you want.

Then you only need put Ardour in record mode and play .. :-)

In fact SoundFontCombi does nothing ... if you want a real synthesizer please try 
ZynAddSubFX - Copyright (c) 2002-2003 Nasca Octavian Paul, is a really
great program, in fact SoundFontCombi was inspired in small utility that
comes whit ZynAddSubFX. 


How to start?
-------------

First you need to start the wave table devices and then run SoundFontCombi.  

If you don't have a sound card with wave table device you need a virtual
soundfont synthesizer like Timidity or Fluidsynth ... good ones .. believe
me.

Start one of this programs  like a sequencer alsa client in this way :

timidity -j -iA -B2,8 -Os -EFreverb=0

you need also write a /etc/timidity.cfg file with this format 

soundfont "soundfontfile"

or

fluidsynth -a alsa  -m alsa_seq  "soundfontfile"

where "soundfontfile" is a *.sf2 SoundFont File :-) 
you can find free General Midi  SoundFontFiles in many places ... 
http://www.hammersound.net/  for example has a good collection. 

In order to use the Reverb and Chorus effects in a emu10k1 device you need
to install de ld10k1 package from Peter Zubaj available in:

http://ld10k1.sf.net


After that, you can use sfc.


I think the best way to start is :


- Run sfc
- Go to menu Settings
- Select your devices in the browsers for each Midi-in/Midi-out in sfc
- Select a bank of sounds.(sfc will load at start). 
  The default installation put the examples in:
  /usr/local/share/sfc
  Go with the browser button to this location then select the example bank.
- Save the settings 
- Restart sfc


---------------------------------------------------------------------- 

NOTE about auto-connection
--------------------------

sfc stores in the config file the ALSA sequencer Info of each port you
select in your configuration, and use this info for auto-connection ports
when hi starts. (That's because Client and Port Info can change).

Then if you have two devices with the same Info, sfc uses the second one.
Also there's a problem with FluidSynth, because they put in their info the
port number, and this number can change in other sessions.

Anyway you can connect MIDI clients with some programs like aconnect. 


NOTE about BankLSB and BankMSB parameters
-----------------------------------------

Unfortunatelly not all the synthesizers manage the Bank Change MIDI message in
the same way. Here are some examples:

emu10k1 ---> Bank 2 ---> Put BankMSB = 2;
timidity --> Bank 2 ---> Put BankMSB = 2;
Fluidsynth-> Bank 2 ---> Put BankLSB = 2;
emu10k1 ---> Bank 128 -> Put BankMSB = 128;
Fluidsynth-> Bank 128 -> Put BankMSB = 1 - BankLSB = 1;

And even in FluidSynth and Timidity the Bank128 (Drums sounds in GM) ONLY can be obtained in
Midi Channel 10.

Then the DISPLAYED name of program corresponds to the highest, that is ...
if BankMSB is equal or greater than BankLSB, sfc displays the programs names of the
BankMSB, otherwise sfc displays program names of BankLSB.

Small Descriptions:
--------------------

SoundFontCombi has a velocity meter, you can see if your midi input events.
Turn ON some part and change what ever you want, program change, transpose,
octave ... 
Start Point and End Point is used to split the keyboard.

In side of volume slider you have 5 buttons P, M, E,  O1, O2 for each part.

P  = Pitch Bend 
M  = Modulation
E =  Expression Pedal (sustain)

If buttons are ON the part sends this events, if you split the keyboard
maybe you want to turn off some off this events for some parts.


O1 = MidiOut 1
O2 = MidiOut 2
....

If you turn ON events are routed to this ports.
You can load or save your "Combis"


Banks
-----
Left Click to put combi in the main window.
Right Click to get the combi of the main window.


Presets
-------

Now you can load a file with your presets in command line.

sfc -p PresetFile

The format file is:

Bank Combi Name

0 0 Grand Piano
0 1 Bright Piano
0 2 Violin
...
...

Exactly what generates sftvkb a small utility provided by vkeybd.


-----------------------------------------------------------------------------------------

If you need more help please visite:


       http://personal.telefonica.terra.es/web/soudfontcombi/soundfontcombi.html



and if you need more support subscribe to:


        http://groups.yahoo.com/group/hlsu/


You can send your comments to: holborn@telefonica.net 

have a nice day ...



 




  




 



