ClariFi

The ClariFi algorithm analyzes the content stereo audio streams for losses in fidelity associated with perceptual coding or lossy (i.e. destructive) compression and adds an estimate of these losses back to the original signal.
The treatment of compressed signals is based on careful assumption and scientific probabilities with a goal ultimately to provide a significantly improved listening experience, that is preferable to original unprocessed input.

ClariFi Properties

Below table describes about the ClariFi audio object properties and functionality.

A screenshot of a computer Description automatically generated

Properties Description
Display Name Display the name of the ClariFi audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode ClariFi audio object supports two modes.

  • Fixed
  • Auto-Detect

Mode

Mode Description
Fixed A constant treatment level is applied regardless of the quality or bitrate of the incoming audio. It is best to use this mode when source quality is known or highly predictable, e.g satellite radio.

  • pros: input audio will be treated consistently regardless of content.
  • cons: constant treatment level will be applied regardless of source quality.
Auto-Detect A variable treatment level is applied based on the analysis of incoming audio. It is best to use this mode when source quality is unknown or unpredictable, e.g., input from iPod, USB, Bluetooth, analog inputs, or streaming from arbitrary apps.

  • pros: treatment level is very accurate/appropriate for most codecs. The treatment level will reset and recalibrate after a mute longer than 120ms (e.g., a track change).
  • cons: some streams, even while compressed, will not trigger any treatment to be applied.

Memory allocation for optimized MCPS on GUL

The Clarifi algorithm uses FFT algorithm. There are six buffers used by FFT. For FFT to work these buffers must be allocated in internal memory.  There is also memory alignment requirements.
Refer below table for memory records and alignment.

Memory Record Label Alignment in Bytes
FFT real Input signal-critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT imaginary input signal-critical for MCPS

4096 for Block size = 512

2048 for Block size = 256

FFT temporary buffer1-critical for MCPS 8
FFT temporary buffer2-critical for MCPS 8
FFT Twiddle real part-critical for MCPS 8
FFT Twiddle imaginary part-critical for MCPS 8

For better MCPS performance allocate these buffers to lower memory latency levels.
MCPS can be further improved if these buffers are placed in different block of lower memory latency.

In xAF design:

  • Level1 latency is mapped to L1 memory Block 0
  • Level2 latency is mapped to L1 memory Block 1
  • Level3 latency is mapped to L1 memory Block 2

Below is example of memory allocation for improved MCPS performance.

A screenshot of a computer Description automatically generated

Additional Parameters

There are no additional parameters available for ClariFi audio object.

Tuning Parameters

ClariFi can be tuned by the GTT tuning panel.  Below table describe supported tuning parameters.

Name Description Tunable Range
BitRate Bit rate control. The overall level of wet/effects/treatment being applied to the input Tunable 0.00 – 1.0
Voc Air Voc Air parameter at maximum. Isolates the lead instruments in a signal, such as vocals or soloists, and sharpens their frequency response Tunable 0.00 – 4.00
Voc Air 0 Voc Air parameter when Bitrate is 0 %. Tunable 0.00 – 4.00
Voc Air 50 Voc Air parameter when Bitrate is at midpoint %. Tunable 0.00 – 4.00
Voc Air-k Voc Air midpoint % value. Tunable 0.00 – 0.99
Voc Air Limit Controls the low frequency limit in Hz of the VocalAir parameter Tunable 100 – 4000
ASW (Apparent Stage Width) Decorrelates or spreads the soundfield outward by adding crosstalk signals, preserving the center portion of the stage Tunable 0.00 – 4.00
ASW 0 ASW parameter when Bitrate is 0 % Tunable 0.00 – 4.00
Direct signal gain Controls the amount of dry/direct/unprocessed signal in the CF output Tunable 0.00 – 1.00
BWE Band width extension. Adds high frequency bandwidth extension to the compressed signal Tunable 0.00 – 2.00
BWE 0 BWE parameter when Bitrate is 0 %. Tunable 0.00 – 2.00
BWE 50 BWE parameter when Bitrate is at midpoint %. Tunable 0.00 – 2.00
BWE-k BWE parameter midpoint % value Tunable 0.0 – 0.99
HardPan Controls the amount of boost given to extreme hard-panned signals Tunable 0.00 – 4.00
HardPan 0 HardPan gain value when Bitrate is 0 %. Tunable 0.00 – 4.00
VerbFill Restores dropouts in a recording’s reverberation caused by encoding Tunable 0.00 – 1.00
VerbFill 0 VerbFill gain value when Bitrate is 0 %. Tunable 0.00 – 1.00
DrumFill Drum Fill gain. Controls the gain of the enhancement which sharpens the attack and decay of transient signals Tunable 0.00 – 1.00
DrumFill 0 DrumFill gain parameter when Bitrate is 0 %. Tunable 0.00 – 1.00
DrumFill 50 DrumFill gain parameter when Bitrate is at midpoint%. Tunable 0.00 – 1.00
DrumFill-k DrumFill midpoint% value Tunable 0.00 – 0.99
Mask Spread Attempts to fill frequency holes in the frequency domain in much the same manner as Reverb Fill attempts to fill reverb holes in the time domain Tunable 0.00 – 1.00
Mask Spread 0 Mask Spread when Bitrate is 0 %. Tunable 0.00 – 1.00
Mask Spread 50 Mask Spread when Bitrate is at midpoint %. Tunable 0.00 – 1.00
Mask Spread-k Mask Spread midpoint value Tunable 0.00 – 0.99
Ext Scale Gain to control the overall output level of ClariFi Tunable 0.00 – 1.00
Intensity Functions identically to Bitrate except that it is not regulated internally when Mode is set to Auto-Detect. Tunable 0.00 – 1.00
SD bypass Control to Enable/Disable ClariFi. Tunable 0 – 1
SD Mode Control for ClariFi Mode select Tunable 0 – 1
Softness Controls the character or timbre of the high frequencies, allowing harshness to be moderated Tunable 0.00 – 1.00
Softness 0 Softness value when Bitrate is 0%. Tunable 0.00 – 1.00
Softness 50 Softness value when Bitrate is at midpoint%. Tunable 0.00 – 1.00
Softness-k Softness midpoint % value Tunable 0.00 – 0.99
TrsBoost Controls the amount of transient bass boost Tunable 1.0 – 6.0
TrsBoost 0 Transient bass boost when Bitrate is 0%. Tunable 1.0 – 6.0
BassOvrl Transient bass boost parameter value when Bitrate is at midpoint%. Tunable 0.0 – 2.0
BassOvrl 0 Transient bass boost midpoint% value Tunable 0.0 – 2.0
Lmit Off Control to Allow the soft-clip peak limiter to be turned off Tunable 0 – 1
Src Type Controls a change in compression sensitivity to accommodate Bluetooth sources that use the SBC codec Tunable 0 – 8
GapThrsh Sets the lowest expected signal value. This is used to determine the signal level at which it is safe to assume the current stream or source is silent or muted Tunable 0.1 – 10.0
SNR Sets the ratio of instantaneous detected noise to signal in the high frequency gap of a compressed audio stream such that the auto-detect algorithm will flag the stream as compressed Tunable 0.01 – 1.00
LevlDiff Sets the height of the brick wall needed to trigger the auto-detect algorithm Tunable 1.0 – 30.0
VerbBWE Adds high frequency bandwidth extension to the reverb treatment. Tunable 0.00 – 1.00
VerbBWE 0 VerbBWE parameter value when Bitrate is at 0%. Tunable 0.00 – 1.00
DrumBWE Adds high frequency bandwidth extension to the DrumFill treatment Tunable 0.00 – 1.08
DrumBWE 0 DrumBWE parameter value when Bitrate is at 0%. Tunable 0.00 – 1.08
BinX Sets the operating frequency for normal bandwidth extension treatment when SetBinX is set Tunable 4000 – 19000
SetBinX Overrides the analyzed value of the high cutoff frequency and substitutes the frequency set by BinX in its place Tunable 0 – 1
SBR Rx When codecs employing SBR such as HE-AAC are detected, there is no applicable cutoff frequency to determine corresponding treatment level. Therefore, this parameter imposes an equivalent treatment based on the same cutoff frequency as its value. Tunable 8000 – 20000
SBR avg Sets the amount of time-averaged smoothing on SBR detection. Tunable 0.9000 – 0.9999
SBR sens Sets the sensitivity of the auto-detection algorithm to the presence of SBR detected elements. Tunable 0.2 – 2.0
BWE Lim Imposes a lower end limit in Hz to the bandwidth reconstruction of the BWE treatment. This does not affect VerbBWE or DrumBWE. Tunable 8000 – 20000
SpeechRx Sets the maximum multiplier to the Bitrate value (regardless of whether Bitrate is being regulated by Auto-Detect mode) when speech is detected. Tunable 0.0 – 1.0
SpeechMode Sets whether speech is always assumed (fixed mode) or detected automatically (auto-detect). Tunable 0 – 1
BW Sense Controls the sensitivity of treatment level (Bitrate) versus detected high cutoff frequency of compressed streams when in Auto-Detect mode. Tunable 0.000 – 1.000
Widening Applies decorrelation to the right input channel to a degree set by this parameter, if/when mono probability exceeds the value set by the MonoDetect parameter. Tunable 0.00 – 1.00
Widening 0 Tunable 0.00 – 1.00
MonoDetect Sets the threshold of probability that the input is mono above which Widening is applied. Tunable 0.00 – 1.00
Verb_LF Control the amount of highs and lows in the VerbFill component (extracted reverb signal) respectively Tunable 1 – 12
Verb_HF Control the amount of highs and lows in the VerbFill component (extracted reverb signal) respectively Tunable 0.010 – 0.100

Control Parameters

There are no control parameters available for ClariFi audio object.

Native Panel

ClariFi audio object supports native panel. The native panel window has different controls for enabling and disabling various modes and for configuring tuning parameters. Native panel can be opened by double-clicking on the ClariFi object in the SFD.

A screenshot of a computer Description automatically generated

_________________

Rate this post!