[Top][All Lists]

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

Re: [fluid-dev] Setting generators

From: Josh Green
Subject: Re: [fluid-dev] Setting generators
Date: Tue, 23 Nov 2004 11:51:19 -0800

On Mon, 2004-11-22 at 21:53 +0100, Frank Barknecht wrote:
> Yes, I looked at the swami code today as well, but it seems to be
> quite a lot of work to do all the housekeeping and I'd really like to
> keep that fluid~ external simple in general. (Also because I'm not
> that good at writing a lot of C-code. ;) But maybe you could outline a
> bit the way you did it or the way it can be done?

I'm not sure the best way to do things when not managing the instruments
yourself.  I'm using the SoundFont loading API that FluidSynth provides
so I can keep a hash table of voices to instrument items.  So when the
user changes a parameter the corresponding voice can be looked up and
then I do:

fluid_voice_gen_set (voice, genid, amount);
fluid_voice_update_param (voice, genid);

The problem, when using FluidSynth's built in instrument handling, is
getting the voice pointers.  Perhaps someone else on the list knows how
to do this.  Swami uses the preset ->noteon virtual function to create
voices, etc.  You might be able to use the SoundFont loading API but use
all the FluidSynth internal functions, although they probably aren't
publicly defined.

> > The sample loop start/end offsets do work in that situation, in real
> > time. I don't see it making much sense in the case of setting them
> > for an entire channel, unless they are offsets (which might actually
> > be the case).  Still it would seem like one would want to change the
> > loop points for an individual voice, rather than all voices playing
> > on a MIDI channel. 
> To explain what I'm after: Derek Holzer and I had this crazy idea this
> weekend to abuse fluidsynth as an engine for doing granular synthesis.
> Basically use a soundfont as a big collection of waveforms and play
> small parts of them as grains. I'm currently just exploring, if this
> is feasible at all or a very stupid idea. ;) For this application it
> probably would be more apt to set gen parameters per voice. 

Hmm, I'm not very familiar with granular synthesis.  Is it something
that is easily explained, or do you have any pointers to online docs
about this?

> Ciao

        Josh Green

Attachment: signature.asc
Description: This is a digitally signed message part

reply via email to

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