1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/lang
Ryan Billing d0918b98fa DSP Compressor: Sidechain, Exponential Atk/Rls
This is an improvement to the current compressor which I have added
to my own Sansa Fuze V2 build.  I am submitting here in case others
find it interesting.

Features added to the existing compressor:
Attack, Look-ahead, Sidechain Filtering.
Exponential attack and release characteristic response.

Benefits from adding missing features:
Attack:
Preserve perceived "brightness" of tone by letting onset transients
come through at a higher level than the rest of the compressed program
material.

Look-ahead:
With Attack comes clipping on the leading several cycles of a transient
onset.  With look-ahead function, this can be pre-emptively mitigated with
a slower gain change (less distortion).  Look-ahead limiting is implemented
to prevent clipping while keeping gain change ramp to an interval near 3ms
instead of instant attack.

The existing compressor implementation distorts the leading edge of a
transient by causing instant gain change, resulting in log() distortion.
This sounds "woofy" to me.

Exponential Attack/Release:
eMore natural sounding.  On attack, this is a true straight line of 10dB per
attack interval.  Release is a little different, however, sounds natural as
an analog compressor.

Sidechain Filtering:
Mild high-pass filter reduces response to low frequency onsets.  For example,
a hard kick drum is less likely to make the whole of the program material
appear to fade in and out.  Combined with a moderate attack time, such a
transient will ride through with minimal audible artifact.

Overall these changes make dynamic music sound more "open", more natural.  The
goal of a compressor is to make dyanamic music sound louder without necessarily
sounding as though it has been compressed.  I believe these changes come closer to this goal.

Enjoy.  If not, I am enjoying it

Change-Id: I664eace546c364b815b4dc9ed4a72849231a0eb2
Reviewed-on: http://gerrit.rockbox.org/626
Tested: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-12-15 22:24:08 +01:00
..
afrikaans.lang FS#11354 - A few more islenska.lang fixes by Hinrik Örn Sigurðsson fixing a few more source and target mismatches with english.lang in the icelandic translation. Prune a lot of old unused strings that were deleted from english.lang long ago. 2010-06-05 15:41:04 +00:00
arabic.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
basque.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
bulgarian.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
catala.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
chinese-simp.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
chinese-trad.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
czech.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
dansk.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
deutsch.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
eesti.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
english-us.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
english.lang DSP Compressor: Sidechain, Exponential Atk/Rls 2013-12-15 22:24:08 +01:00
espanol.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
esperanto.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
finnish.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
francais.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
galego.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
greek.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
hebrew.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
hindi.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
hrvatski.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
islenska.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
italiano.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
japanese.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
korean.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
lang.make Only check lng files for MAX_LANGUAGE_SIZE. 2012-06-09 23:04:42 +02:00
latviesu.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
lietuviu.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
magyar.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
nederlands.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
norsk-nynorsk.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
norsk.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
polski.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
portugues-brasileiro.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
portugues.lang FS#12882 - Updated translation for PT-PT 2013-07-18 20:57:21 +02:00
romaneste.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
russian.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
slovak.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
slovenscina.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
SOURCES Make basque.lang be built. Fixes FS#12235 2011-08-19 11:52:32 +00:00
srpski.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
svenska.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
tagalog.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
thai.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
turkce.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
ukrainian.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
wallisertitsch.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00
walon.lang [Fuze+][lang] keymaps hint update 2013-07-16 15:00:02 +02:00