[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
Ciao
Josh Green
signature.asc
Description: This is a digitally signed message part