fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Using multiple soundfonts from unix command line


From: Matt Wallis
Subject: Re: [fluid-dev] Using multiple soundfonts from unix command line
Date: Fri, 15 Jun 2018 09:32:46 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

On 12/06/2018 01:02, Ceresa Jean-Jacques wrote:

I Matt,

>I just want to check my understanding here: Are you saying that playing  midi files won't work (in fluidsynth version 1) ?

No, Tom simply said that in version 1.x, the MIDI messages coming from a MIDI file cannot be filtered by the router. But this lack of functionality has been recently added in git repo master.

So, to fix your initial issue (using your first attemp which is the only one correct), there are 2 solutions:

1) if you want your MIDI file messages filtered by the router (using the router rules given by Tom), you need to use version 2.0 (master). (clone or tar from git, than build (cmake,make,..)).

2) if you want to stay with version 1.x, you need to edit your MIDI file and remove all the prog,bank change MIDI messages incompatible with your select command parameters (chan, prog, bank).

Hope you will choose (1).

Thank you for the information.

So I chose (1) :-) But I was very lazy, and ignored the instructions on https://github.com/FluidSynth/fluidsynth/blob/master/README-OSX, mostly because I don't want to install another package manager (fink), in case it messes up the one I already use (macports). So I built fluidsynth (without checking the dependencies - very lazy!). please let me know if this is a likely cause of the problems I describe below.
$ git clone address@hidden:FluidSynth/fluidsynth.git
$ cd fluidsynth/
$ mkdir build
$ cd build/
$ cmake ..
$ make
$ src/fluidsynth --version
FluidSynth runtime version 2.0.0
Copyright (C) 2000-2018 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

FluidSynth executable version 2.0.0
Sample type=double
Can I now run fluidsynth2 direct from the command line using `src/fluidsynth` - will it pick up the correct libraries/Frameworks?
If the answer is NO: can you tell me what I need to do to install in my home directory? - I don't want to risk overwriting stuff in system directories.

If the answer is YES - (and only if the answer is YES!) - then read on, and I'll attempt to describe how this is not (quite) working for me....

Running `src/fluidsynth' seems to work for fast-rendering directly to a WAV file, but not for playing the audio directly (I get pages of Jack errors). Do I need to sort these errors out before proceeding, or should it be OK, to continue to use it only for fast-rendering?

I prepared the fluidsynth config file according to Tom M.'s instructions (I hope):

load /opt/local/share/sounds/sf2/GeneralUser_GS_v1.47.sf2
load /Users/matt/Downloads/Nice-Keys-Ultimate-V2.3.sf2
fonts
router_clear
router_begin note
router_end
router_begin cc
router_par1 1 31 0 0
router_end
router_begin cc
router_par1 33 127 0 0
router_end
router_begin pbend
router_end
router_begin cpress
router_end
router_begin kpress
router_end
select 4 2 0 33
select 5 2 0 33
select 6 1 0 33
select 7 1 0 33
channels -verbose

... and genererated audio (note the output from the `channels -verbose` command in the config file - this looks right)

$ src/fluidsynth -f ../../config.fluidsynth -F ../../Test.wav ~/Music/Matt/SevenEightPiano/WholeScore.midi
FluidSynth runtime version 2.0.0
Copyright (C) 2000-2018 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

fluidsynth: error: Unable to open file '/usr/local/share/soundfonts/default.sf2'
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/local/share/soundfonts/default.sf2"
loaded SoundFont has ID 1
loaded SoundFont has ID 2
ID  Name
 2  /Users/matt/Downloads/Nice-Keys-Ultimate-V2.3.sf2
 1  /opt/local/share/sounds/sf2/GeneralUser_GS_v1.47.sf2
chan 0, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 1, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 2, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 3, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 4, sfont 2, bank 0, preset 33, Cello
chan 5, sfont 2, bank 0, preset 33, Cello
chan 6, sfont 1, bank 0, preset 33, Finger Bass
chan 7, sfont 1, bank 0, preset 33, Finger Bass
chan 8, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 9, sfont 1, bank 128, preset 0, Standard
chan 10, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 11, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 12, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 13, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 14, sfont 2, bank 0, preset 0, Yamaha C5 Grand
chan 15, sfont 2, bank 0, preset 0, Yamaha C5 Grand
Rendering audio to file '../../Test.wav'..

However, when listening back to the audio, I'm not getting Cello (from sfont 2) on channel 4/5 or Finger bass (from sfont 1) on channel 6/7.
What I'm getting sounds like 'Yamaha C5 Grand' on every channel.
Of course, the above output from `channels -verbose` is generated /before/ my midi file is loaded.

I can't find detailed documentation in order to understand what these router commands are doing - perhaps Tom M. was giving an illustration, rather than a complete solution?

All the best, Matt.

All the best.

jjc

> Message du 11/06/18 23:53
> De : "Matt Wallis" <address@hidden>
> A : "Tom M." <address@hidden>
> Copie à : address@hidden
> Objet : Re: [fluid-dev] Using multiple soundfonts from unix command line
>
> On 11/06/2018 17:01, Tom M. wrote:
> > Unfortunately, the procedure described above has no effect when playing midi files. I've just implemented it in our latest development version. This feature will be part of fluidsynth 2.0. If you need it now, you'll have to check out the source code from our git repo and build fluidsynth from source.
> Thanks very much for the info.
> I just want to check my understanding here: Are you saying that playing
> midi files won't work (in fluidsynth version 1), as opposed to
> fast-rendering them to a file, which *will* work? So it works with my
> version for fast-rendering- no need to build from source if I'm happy
> just to render to a file?
>
>
>
> _______________________________________________
> fluid-dev mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>


_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev



reply via email to

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