Re: MERGE: soundfont-support

Hey Stefan.

What I don't understand here is what you mean by letting the user
setup the reverb in the end of a module chain.
If I'mnot mistaken, fluidsynth loads the SF, renders it *including*
the reverb effect, and then BSE uses the sampled rendering data.
So the freeverb use isn't actually eliminated.

As I recall, our last idea was to always run fluidsynth at 44.1k on 48k
rates, and then resample the  output if beast runs at any other rate
(and we concluded that for the time being only 88.2k and 96k would
be sensible alternative rates, for which resampling is fast).

On 11/09/2010 03:50 PM, Stefan Westerfeld wrote:

I've finished putting the SoundFont support into a branch, so it can be merged
into the main tree. The original bug report (with some remarks) was:
  576946 - Sound Font support for BEAST

The last time we talked about it, the plan was to resample the output of
fluidsynth in case the sampling rate was 96000 or 88100, to get the reverb
built into fluidsynth sound the same like for sampling rates 48000 and 44100.
However, my code does not use the reverb. The reason is that while seperating
multiple tracks, for instance using a Piano on one track and a Violin on
another track, fluidsynth will combine the reverb for both tracks, so there is
only one stereo output using the reverb. For beast however, you may need to use
different processing for each track, in the mixer. Usually you would just want
to regulate the volume and stereo panning in the mixer (because thats the only
thing our mixer can do right now), but in further beast releases you also may
want to put equalizer, compressor and other effects on each mixer bus
seperately. The bottom line is: the user will be able to add reverb, chorus and
other effects using beast, so my recommendation is to forget about fluid synth
reverb and chorus; the user can add reverb via post net, or via the mixer once
effects are available on that level.

So I did not implement resampling, and I do not think its necessary or
desirable either. Besides, resampling will add latency to the fluidsynth
tracks, and if that happens, the tracks will be out of sync with the other
tracks (with synthetic instruments) that do not use fluidsynth.

Therefore, I recommend merging soundfont support as provided in the branch. It
will allow users to have many new good-sounding instruments, and that may be
just the feature we want to be advertising for beast-0.7.4; it would be a
justification for a new release, I suppose :-)

Here is the code:

branch: soundfont-support

    Cu... Stefan


Yours sincerely,
Tim Janik


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