iiwusynth-devel
[Top][All Lists]
Advanced

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

Re: [iiwusynth-devel] CVS new version


From: Josh Green
Subject: Re: [iiwusynth-devel] CVS new version
Date: 25 Oct 2002 16:02:32 -0700

On Thu, 2002-10-24 at 23:29, M. Nentwig wrote:
> Hello,
> 
> new version on CVS. Updated DSP loop, a bit more efficient in the worst
> case, plus some conditional optimizations (no filter, root pitch).
> Go bug hunting :-)
> 
> Markus
> 

Okay, I got some more info on the 2 bugs I mentioned before.

Segfault in
iiwu_voice_determine_amplitude_that_reaches_noise_floor_for_sample at
line 1553:

    for (offset=voice->loop_start_offset; offset<voice->loop_end_offset;
offset++){
1553: ->   signed short val=s->data[offset];

I think this was being caused by the order in which this function and
iiwu_voice_calculate_runtime_synthesis_parameters are being called from
iiwu_voice_start(). The function where the crash occurs depends on
voice->loop_start_offset and friends which are set by the
calc..synth..params function, changing the order of the calls at line
651 in iiwu_voice.c fixes this (apparently, haven't done real extensive
testing yet and it was an intermittent bug).


Other problem relating to FluidSynth getting locked in the while loop at
line 578 in iiwu_voice.c appears to be occurring with an instrument in
one of my banks that has instrument loop generator offsets that are way
out of range. This happened when the sample loop points were modified
after the instrument zone loop points were set. I'm not sure the best
way to handle this in Swami (any ideas), but getting stuck in a loop is
probably not the best behavior on FluidSynth's part? Or should I be
doing some range checking before sending bogus sample point offset
generators to FluidSynth? The details of what is occuring is related to
line (588):

end_in_buffer += iiwu_phase_steps(dsp_phase, voice->loop_end_offset,
incr);

It appears that iiwu_phase_steps returns 0, so end_in_buffer never gets
incremented which is the condition of the while loop. I can send you my
SoundFont bank if you want to test it yourself (occurs every time the
particular messed up instrument is played). Cheers.
        Josh Green





reply via email to

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