[Top][All Lists]

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

Re: [fluid-dev] problems with fluidsynth 1.1.6 on a raspberry pi

From: Pedro Lopez-Cabanillas
Subject: Re: [fluid-dev] problems with fluidsynth 1.1.6 on a raspberry pi
Date: Mon, 19 Nov 2012 07:34:52 +0100
User-agent: KMail/4.8.5 (Linux/3.6.6-1.fc16.x86_64; KDE/4.8.5; x86_64; ; )

El Lunes, 19 de noviembre de 2012 06:42:38 David Henningsson escribió:
> On 11/18/2012 07:56 PM, Pedro Lopez-Cabanillas wrote:
> > El Domingo, 18 de noviembre de 2012 12:51:58 David Henningsson escribió:
> >> I'll do some experiments with it when I have some more time.
> > 
> > My bet is floating point exceptions.
> I tried to verify this theory on my Nexus 7 device. I've tried to
> compile with -ffast-math, with according to documentation should
> activate flush-to-zero mode, as well as activating it explicitly

On my Nokia N9xx (also ARM based) the release build was made with these flags:
QMAKE_CFLAGS_RELEASE += --mfpu=neon -ffast-math -funsafe-math-optimizations

#define WITH_FLOAT 1

Automatic denormals to zero doesn't prevent FP operations being slower when 
such numbers are involved. The problem is the larger CPU usage if there are FP 
exceptions, which happens in all CPUs except modern Intel processors.

By the way, this is the initialization code:

    ::fluid_settings_setstr(m_settings, "audio.driver", "pulseaudio");
    ::fluid_settings_setint(m_settings, "audio.period-size", 1024);
    ::fluid_settings_setint(m_settings, "audio.periods", 2);
    ::fluid_settings_setnum(m_settings, "synth.sample-rate", 12000.0);
    ::fluid_settings_setint(m_settings, "synth.chorus.active", 0);
    ::fluid_settings_setint(m_settings, "synth.reverb.active", 0);
    ::fluid_settings_setnum(m_settings, "synth.gain", 0.4);
    ::fluid_settings_setint(m_settings, "synth.polyphony", 16);
    ::fluid_synth_set_interp_method(m_synth, -1, FLUID_INTERP_LINEAR);

With this setup, the synth is barely usable on the N9 for real time usage. 
Playing MIDI files on it is out of the question.


reply via email to

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