Skip to main content

Topic: foo_midi and split soundfont (Read 2817 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • foo_lover
  • [*]
foo_midi and split soundfont
Hello.

I recently found a soundfont which consists of two parts: Fluid R3 GM.sf2 and Fluid R3 GS+SFX Portion.sf2. Is there any way to use this sountfont in GS+SFX mode with foo_midi? I tried using Fluid R3 GS+SFX Portion.sf2 alone, but it produced no sound. I guess it's because it's not a complete soundfont, but a separated part of Fluid R3 GM.sf2 and probably only contains alternative mapping or something like that. So, I am wondering, if it's possible to properly merge these into one file?

PS: Soundfonts are available in Ubuntu distributions under package names fluid-soundfont-gm and fluid-soundfont-gs. There is also configuration for timidity included, but I don't understand how to make use of it..

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi and split soundfont
Reply #1
List both file names in a UTF-8 encoded text file, using a .sflist file name extension. The paths contained in the .sflist file may be relative to its location on disk, or they may be absolute paths. Then direct foo_midi to load that .sflist file instead. Files at the bottom of the list take priority over files at the top.

I devised this method for even more complex setups, such as Colossus.SF2, a complete rip of the commercial Colossus sound bank. Each numbered instrument and any other bank variations are included in their own .SF2 files. I list almost the entire set, minus a few files that have annoying samples, then I list SGM at the top of the file, and AnotherXG above that. It is also quite possible that Colossus.SF2 is split this way because the sample data exceeds 4GB, and that is the total sample data size limit of the SoundFont format. Or maybe they made it 2GB, I don't know.
  • Last Edit: 22 February, 2012, 03:04:24 PM by kode54

  • foo_lover
  • [*]
foo_midi and split soundfont
Reply #2
Thank you! Works like a charm. Though I couldn't hear the difference. Guess I need something that really uses GS instead of just indicating it...

I list SGM at the top of the file, and AnotherXG above that.

So, your list looks like this:

AnotherXG.SF2
SGM.SF2
Colossus*.SF2

Right? I'm confused about AnotherXG placing. This variant will use samples from Colossus, then from SGM, and only then use AnotherXG for what wasn't found in Colossus and SGM, which would probably be only XG part of it?

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi and split soundfont
Reply #3
A small collection of XG samples. Note that SoundFont banks can't actually properly support all XG instruments, because some use the bank least significant byte (LSB) while others use the most significant byte (MSB). SoundFont instruments map into the MSB space, with no standard that I know of for mapping LSB space into SF2 instruments, even though the file format does use a full 16 bit field for bank numbers.

  • foo_lover
  • [*]
foo_midi and split soundfont
Reply #4
I see. Thank you very much for explainations.

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi and split soundfont
Reply #5
The Creative SoundFont control panel actually does support configuring whether MSB, LSB, or both are used, but I think they just map LSB in the same way as MSB, so they would overlap each other.