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
config.h:
#define WITH_FLOAT 1
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.