|
From: | Element Green |
Subject: | Re: [fluid-dev] Getting severe clicking/static with FluidSynth (on Android) |
Date: | Mon, 6 Feb 2017 09:31:13 -0700 |
As promised, here are findings with clicks/static noted in this thread. It turns out there are multiple issues:A. Some clicks/scratch sounds are simply due to signal clipped to [-1,+1] range, as Jean-Jacques noted. This is not Android specific and we can solve this by different gain settings.B. Other clicks are caused by our application-specific logic for panning, again not an Android problem. Specifically, we are panning based on pitch (low pitches all the way left, high pitches all the way right), not orchestral positioning. This means we are setting the pan before each note on message. We thought this only affects the new note on messages. But it affects all existing notes on the channel, which end up "jumping" between different pan settings, causing clicks.--> NEW QUESTION 1. Is it possible to set FluidSynth to set panning by note rather than by channel? If not, would this be a hard change to do? I'm guessing the synth maintains a list of signal generators for the current notes, and these currently use a global pan setting -- they would need to be changed to use their own note-specific pan setting.
3. The wall of noise problem (in the recording from my original message) is solved by reducing number of voices from 256 to 16. This feels like a workaround, not a real diagnosis of the underlying problem, which may still be related to Android performance limitations. I also suspect it has to do with the specific SF2 characteristics. For instance it was happening using a harp preset, which has global attenuation set to a relatively high value of 20.
--> NEW QUESTION 2. I think I need to understand the meaning of the various SF2 settings like attenuation, vol env. delay/attack/hold/decay/sustain/release. Any tips on learnings resources for these things for a laymen (i.e. non-music person)?
Thanks all for the responses so far, really helpful.--Ien
[Prev in Thread] | Current Thread | [Next in Thread] |