Jan & David:

In my opinion, limiting the polyphony (I presume that is what you mean
by "limiting the voices") does not adversely affect the sound.  

What is using up the CPU, is voices still being 'sounded' that have long
before faded to where they are inaudible.  

If Fluidsynth works similarly to the EMU10K1/2 (Soundblaster & Audigy)
chip, it should 'take-out' the oldest voices first, though I don't know
if that is actually the case.  

I think the Soundblaster and Audigy soundcards have a polyphony limit of
64 (I have also heard that the limit is actually 48).  And since the
pieces sounded fine on my Soundblaster card, I tried setting the
polyphony to 64, and it also sounded perfectly good, and cut down the
processor load significantly.  

Trying that worked fine, with no detectable degradation in sound.  

Since I use Qsynth, I change this by changing the "Polyphony" parameter
of the "Audio" tab (visible after clicking the "Setup" button.  I do not
know how to make the same change using command-line parameters.  


- Aere

-----Original Message-----
From: David Henningsson <di...@ubuntu.com>
Reply-to: FluidSynth mailing list <fluid-dev@nongnu.org>
To: FluidSynth mailing list <fluid-dev@nongnu.org>
Subject: Re: [fluid-dev] problems with fluidsynth 1.1.6 on a raspberry
pi
Date: Sun, 18 Nov 2012 12:51:58 +0100


On 11/18/2012 11:07 AM, Jan Newmarch wrote:
> Thanks to Christian and Aere. Here are some more results on a file
> nightsin.kar of various choices using pidstat:
>
> Version       flags   sound font      cpu %   memory %        comments
> 1.1.5         none    FluidR3_GM      75%     43%     unlistenable
> 1.1.5         -z 4096         FluidR3_GM      70%     43%     unlistenable
> 1.1.5         -z 4096         GeneralUser     76%     20%     unlistenable
> 1.1.6         none    FluidR3_GM      80%     40%     still distorting
> 1.1.6         -z 4096         FluidR3_GM      75%     40%     distorts when 
> usage > 90%
> 1.1.6         -z 4096         GeneralUser     65%     none shown      
> distorts when usage > 90%

Thanks for providing a good test case. I'm not familiar with pidstat - 
could you state the command line do you use for this, for an accurate 
comparison?

It looks like the CPU % maybe does not differ that much.

Actually, I recently got hold of a Nexus 7 running Ubuntu [1], which has 
a Tegra 3 core. When running NIGHTSIN.KAR (found at [2]), it does indeed 
use a lot of CPU. It runs fine for the most part, but occasionally 
breaks up. (This is with -z 4096.)

Running a quick perf analysis of it, the top CPU using functions are:

30% - fluid_rvoice_dsp_interpolate_4th_order
27% - fluid_rvoice_buffers_mix
13% - fluid_iir_filter_apply
  9% - fluid_revmodel_processmix

The interpolation can be reduced, but only inside the shell it seems 
like, so that would help some (at the expense of quality, as usual).

Reducing the number of voices would be the first thing to try IMO, that 
is usually not that hearable hopefully.

But this is indeed an interesting optimisation problem. At least 
fluid_rvoice_buffers_mix should be able to run faster I believe. I'll do 
some experiments with it when I have some more time.

// David

[1] https://wiki.ubuntu.com/Nexus7

[2] http://www.swissdom.cc/midis/karaoke-internacional-1/n/

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


-- 


Sincerely,
AereSincerely,
Aere

Sincerely,
Aere
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to