[Top][All Lists]

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

Re: [fluid-dev] Voice-stealing logic, and more

From: Elimar Green
Subject: Re: [fluid-dev] Voice-stealing logic, and more
Date: Tue, 29 Jun 2010 16:13:19 -0700

Hello David,

Sounds like some progress! :)  There have been discussions concerning
the voice stealing algorithm in the past.  Here is a link to a
relevant thread in the list archives:


In summary, the thought was to add settings for the various weightings
of the voice stealing algorithm and possibly have voice stealing
algorithm presets (which could just set the weighted values).

Other improvements to the existing voice stealing algorithm
(copy/pasted from that thread):
- Improve volume level rating (keep track of voice levels?)
- Improve voice age rating (ticks and/or noteID)
- Add settings for selecting voice stealing presets and setting custom
weighted rating values
- Add variables to voice structure for each criteria (ratings get stored
here for statistics)
- Add voice kill log to track what voices got killed and the criteria
ratings of the voice (the reason)

I'm excited that you are delving into this stuff.  I may have a little
time in the coming weeks to put towards FluidSynth.  So let me know if
there is anything in particular that could use researching or
implementing.  Cheers!


On Mon, Jun 28, 2010 at 1:35 PM, David Henningsson
<address@hidden> wrote:
> Hi,
> I'm currently doing heavy work (more than anticipated) refactoring and
> building up the new voice-render / midi state machine separation
> infrastructure. For that reason, trunk is a little broken currently, let
> me know if this causes problems for you (and I'll fix it up and create a
> branch instead).
> One of my design patterns is to split some of the behemoth objects into
> smaller objects, in order to improve cohesion and readability. That way,
> should I have thought something wrong, we are more likely to be able to
> reuse at least some parts. In addition, the thread boundary logic is
> quite straight forward. (Thanks for the ringbuffer implementation
> Elimar, it came in very handy!)
> Anyway, one of the things that are broken is the voice-stealing logic (i
> e what to do if FluidSynth runs out of polyphony). I know there have
> been thoughts about improving that anyway, so what are your thoughts in
> that area - i e what requirements are there for that improvement?
> // David
> _______________________________________________
> fluid-dev mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/fluid-dev

reply via email to

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