Date: Mon, 12 Mar 2012 09:11:46 +1100
From: lsd(a)wootangent.net
To: linux-audio-user(a)lists.linuxaudio.org
Subject: Re: [LAU] Popping sound at the start of every note on Bristol synths.
On 12/03/12 9:03 AM, Rafael Vega wrote:
However, I've found that there is a popping
sound at the start of every
note. This is more apparent in some models/presets than others. I'm
pretty sure my jack configuration is fine (has been working fine with
other synths, ardour, puredata, qtractor, etc.) and I've also tried ALSA
and two different sound cards (laptop internal and firewire). I also
tried outputting Bristol straight to system output, passing through
It may just be that the attack on the amplitude envelope is too fast.
I'm not sure if Bristol has this problem, but on many synths, with the
attack time set to its minimum, the envelope opens instantaneously, and
that can cause a clicking sound. Try increasing the attack time and see
if that helps.
Thanks
I had a listen through the sample you posted and agree that it is an issue withthe attack
time, it was always very aggressive but there was also a recent changefrom a default
exponential to default linear attack which probably does not helpwith what you are
hearing. You can change back to exponential from the configstage however there is
_another_ change that will go into the next release whichis probably the correct fix.
The change is to make the envelope 'time constant'. This is actually not the
casewith the current code so if you increase the sampling rate you also increase
thefastest attack rate. The fix places the attack at 500us then gives you a rate which is
independent of the sampling rate. I can make this a config time option if peopleare
interested, it could be a runtime option which I think that is overkill but 500us is still
pretty aggressive.
The maximum attack duration does not change, that is also a config option which defaults
to 10 seconds however having the parameters being a function of the sampling rate was bad
coding.
FYI some background on the changes: I have been doing work on 'low end'systems
where I default to half rate sample, 22KHz and 24KHz to reduce the CPUfootprint and hence
extend battery life. At the same time I have been working onhigh end systems where we have
been reviewing the improved sound quality with96KHz and 192KHz and these really
exacerbated the problem. There are other interesting results from the developments. The
main filters are Huovilainen's whichare 2x resampling, this was required since the
algorithm loses frequency accuracyas it approaches Nyquist. At the higher rates I removed
the resampling since the cutofffrequency is now nowhere near Nyquist and the result is
that, for the filters at least,the change from 48 to 96KHz is almost free and you can
still 'play' the filter at selfoscillation.
Let me review the code differences and perhaps post the new envelope.c on theSourceForge
forum. That might not be possible: the envelopes actually drive thesignalling to the
engine regarding when to deactivate voices in polyphonic voiceassignments and I don't
want any more sticky or lost notes where this signallingmight have changed.
Regards, nick.