Add selectable RTA filter characteristics
This commit is contained in:
@@ -516,6 +516,7 @@ function buildPhoenixMeterPacket(frame) {
|
||||
xyR,
|
||||
rta: rta ? {
|
||||
engine: String(rta?.engine || 'iir'),
|
||||
filterbank: String(rta?.filterbank || 'legacy'),
|
||||
bands_avg: Array.isArray(rta?.bands_avg) ? rta.bands_avg : (Array.isArray(rta?.bands) ? rta.bands : []),
|
||||
bands_peak: Array.isArray(rta?.bands_peak) ? rta.bands_peak : [],
|
||||
bands: Array.isArray(rta?.bands) ? rta.bands : (Array.isArray(rta?.bands_avg) ? rta.bands_avg : []),
|
||||
@@ -871,6 +872,7 @@ export function buildRtaRuntimeConfig(CONFIG = {}) {
|
||||
const runtimeBpoMode = bpoMode;
|
||||
return {
|
||||
engine: rtwProfile ? 'iir' : (CONFIG.RTA_ENGINE || 'iir'),
|
||||
filterbank: CONFIG.RTA_IIR_FILTERBANK === 'butterworth' ? 'butterworth' : 'legacy',
|
||||
fftSize: CONFIG.FFT_SIZE || 4096,
|
||||
monoInput: !!CONFIG.MONO_INPUT,
|
||||
lrFractionalDelayEnabled: !!CONFIG.LR_FRACTIONAL_DELAY_ENABLED,
|
||||
|
||||
@@ -50,6 +50,7 @@ const CONFIG = {
|
||||
REALTIME_BAR_HOLD_MS: 800,
|
||||
REALTIME_BAR_DECAY_DB_PER_S: 20,
|
||||
RTA_ENGINE: 'iir', // 'fft' | 'iir'
|
||||
RTA_IIR_FILTERBANK: 'legacy', // 'legacy' | 'butterworth'
|
||||
RTA_FREQ_RANGE: 'norm', // 'norm' | 'lf'
|
||||
RTA_BPO_MODE: '1_3',
|
||||
RTA_WEIGHTING: 'z', // 'z' | 'a' | 'c'
|
||||
@@ -784,6 +785,9 @@ function loadConfig(opts = {}) {
|
||||
if (typeof saved.PPM_DIN_DECAY_DB_PER_S === 'number') CONFIG.PPM_DIN_DECAY_DB_PER_S = saved.PPM_DIN_DECAY_DB_PER_S;
|
||||
if (typeof saved.PPM_DIN_HOLD_MS === 'number') CONFIG.PPM_DIN_HOLD_MS = saved.PPM_DIN_HOLD_MS;
|
||||
if (CONFIG.RTA_BAR_LAYOUT === 'classic') CONFIG.RTA_BAR_LAYOUT = 'rtw';
|
||||
CONFIG.RTA_IIR_FILTERBANK = CONFIG.RTA_IIR_FILTERBANK === 'butterworth'
|
||||
? 'butterworth'
|
||||
: 'legacy';
|
||||
if (CONFIG.RTA_BAR_LAYOUT === 'rtw') {
|
||||
CONFIG.RTA_ENGINE = 'iir';
|
||||
CONFIG.RTA_IIR_ORDER = 6;
|
||||
|
||||
Reference in New Issue
Block a user