[Top][All Lists]

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

Re: [fluid-dev] Small CPU stuttering fluidsynth

From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] Small CPU stuttering fluidsynth
Date: Tue, 23 Aug 2011 08:28:47 +0200
User-agent: KMail/1.13.5 (Linux/; KDE/4.4.4; i686; ; )


Sorry for coming so late to this thread, but I've found similar problems.

On Wednesday 26 January 2011, Carma Trepp wrote:
> Hi all
> I installed fluidsynth on my Open Pandora device. Its a device with a
> 800Mhz ARM CPU and 256MB RAM. I use the packages from the Angstrom
> repositories. Version 1.0.8. My problem is I get stuttering noise
> after play multiple notes.
> I look at the command top and Fluidsynth use the CPU 100%. When I play
> some notes fluidsynth use all CPU ressources. Even if I play nothing
> with no soundfont loaded fluidsynth use 34% CPU. I know my device has
> not much horsepower, but I hope to get fluidsynth ''fluid'' running.
> Regards
> Tashi

On Saturday 29 January 2011, Carma Trepp wrote:
> Now i solved all the ./configure dependencies. But the make command
> tells me libglib and libgthread can't be found in /usr/bin. But they
> are on this location.
> 2011/1/28, David Henningsson <address@hidden>:
> > On 2011-01-27 23:04, Carma Trepp wrote:
> >> Thank you for your support. I`m fighting right now compiling FS with
> >> all the dependencies. Solved many. Now I have to find pkg-config.
> >>
> >> 2011/1/27 David Henningsson<address@hidden>:
> >>> On 2011-01-27 00:02, Carma Trepp wrote:
> >>>>
> >>>> Hi Element
> >>>>
> >>>> Thank you for your answer. I checked the device specifications from
> >>>> the ARM Cortex A8. And it have two Floating Point Units, a
> >>>> non-pipelined VFP-lite conforming to the IEEE754 standard for floating
> >>>> point arithmetic and a pipelined SIMD NEON coprocessor. Source:
> >>>> http://www.pandorawiki.org/Floating_Point_Optimization
> >>>> Its interesting that fluidsynth use CPU at 34% when nothing plays. The
> >>>> CPU itself is powerful. It runs PSX and N64 Emulation at fullspeed.
> >>>
> >>> Interesting. I think the 34% might be due to the reverb and/or chorus
> >>> engines still running although nothing plays. Assuming you're running
> >>> Linux
> >>> on this device, can you provide perf output?
> >>>
> >>> As for 1.0.8, that's pretty ancient, please try upgrading to 1.1.2. Also,
> >>> if
> >
> > That should have been 1.1.3, which is the latest version.
> >
> > Btw, on x86, what takes the most time is the interpolation, so you could
> > try changing the interpolation method - this is a trade-off between CPU
> > and sound quality though.
> >
> > Also increasing the buffer sizes can help in some cases. Unless you need
> > low latency, I recommend a buffer size of e g 4096 or 8192 instead of
> > the default of 64.
> >
> > Some people have also suggested lowering the sample rate.
> >
> > // David

I'm playing with a Nokia N950. It is a development and test device for the 
future N9 smartphone that is coming next month to the stores. This thing runs a 
Linux distro (Meego 1.2 Harmattan) with ALSA and PulseAudio, and has an ARM 
CPU: ARMv7 Processor rev.2, with these features: swp, half, thumb, vfp, edsp, 
neon, vfpv3; 996.74 BogoMIPS; 1Gb RAM.

So, it has floating point units and I've built our current SVN for it. I'm 
developing a FluidSynth with VMPK (sourceforge.net/projects/vmpk) bundle, doing 
only real time synth functionality - not SMF playback. Testing this scenario, 
I've found similar problems as the original reporter: stuttering noise when 
playing fast  chords or arpeggios, reaching 100% of CPU usage. Disabling reverb 
and chorus, increasing the buffer size, lowering the sample rate, limiting the 
polyphony, setting interpolation to FLUID_INTERP_NONE, adding the compiler flag 
-mfpu=vfpv3, all of this helps a bit. Using single precision floats instead of 
doubles also helps reducing the CPU usage. For instance, the CPU load when FS 
is in idle state is around 16% when using doubles, and only 12% with floats in 
my tests. Anyway, with these figures it still drains the battery very quickly.

And finally, there are still puzzling noises appearing after releasing all 
notes on some sounds, that can't be silenced with fluid_synth_system_reset(), 
only when the program exits. I've been able to reproduce the noises 
consistently with the soundfont VintageDreamsWaves-v2.sf2 and the preset named 
"El Cheapo Organ", but this happens only with floats and not with doubles!. I 
will keep you posted.


reply via email to

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