Correct RTA detector timing and peak integration

This commit is contained in:
Mikei386
2026-07-21 21:29:41 +02:00
parent 3478bfb495
commit 9b5250d42b
10 changed files with 312 additions and 112 deletions
+4 -1
View File
@@ -517,6 +517,8 @@ function buildPhoenixMeterPacket(frame) {
rta: rta ? {
engine: String(rta?.engine || 'iir'),
filterbank: String(rta?.filterbank || 'legacy'),
detector: String(rta?.detector || 'average'),
response: String(rta?.response || 'fast'),
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 : []),
@@ -873,6 +875,7 @@ export function buildRtaRuntimeConfig(CONFIG = {}) {
return {
engine: rtwProfile ? 'iir' : (CONFIG.RTA_ENGINE || 'iir'),
filterbank: CONFIG.RTA_IIR_FILTERBANK === 'butterworth' ? 'butterworth' : 'legacy',
detector: CONFIG.RTA_DETECTOR === 'peak' ? 'peak' : 'average',
fftSize: CONFIG.FFT_SIZE || 4096,
monoInput: !!CONFIG.MONO_INPUT,
lrFractionalDelayEnabled: !!CONFIG.LR_FRACTIONAL_DELAY_ENABLED,
@@ -881,7 +884,7 @@ export function buildRtaRuntimeConfig(CONFIG = {}) {
freqRange: rtwProfile ? 'norm' : (CONFIG.RTA_FREQ_RANGE || 'norm'),
weighting: CONFIG.RTA_WEIGHTING || 'z',
order: rtwProfile ? 6 : (CONFIG.RTA_IIR_ORDER || 6),
tauFast: CONFIG.RTA_IIR_TAU_FAST || 0.12,
tauFast: CONFIG.RTA_IIR_TAU_FAST || 0.125,
tauSlow: CONFIG.RTA_IIR_TAU_SLOW || 1.0,
integration: CONFIG.RTA_INTEGRATION || 'fast',
layout,
+16 -2
View File
@@ -59,14 +59,15 @@ const CONFIG = {
RTA_BAR_LAYOUT: 'rtw', // 'iec' | 'rtw'
RTA_BAR_BASE_COLOR: '#ffe066',
HEADER_TEXT_COLOR: '#ffe066',
RTA_INTEGRATION: 'fast', // 'impulse' | 'fast' | 'medium' | 'slow' | 'average' | 'peak'
RTA_DETECTOR: 'average', // 'average' | 'peak'
RTA_INTEGRATION: 'fast', // 'impulse' | 'fast' | 'medium' | 'slow'
RTA_BALLISTICS_MODE: 'average', // 'average' | 'peak' | 'both'
RTA_PEAK_HOLD_MODE: 'auto', // 'off' | 'auto' | 'manual'
RTA_PEAK_HOLD_SEC: 2.5,
RTA_PEAK_DECAY_DB_PER_S: 20,
RTA_DISPLAY_HOLD_SEC: 0,
RTA_IIR_ORDER: 6,
RTA_IIR_TAU_FAST: 0.12,
RTA_IIR_TAU_FAST: 0.125,
RTA_IIR_TAU_SLOW: 1.0,
SPECTRO_GAMMA: 0.4,
SPECTRO_SCROLL_MODE: 1, // 0.5=Langsam, 1=Normal, 2=Licht, 4=Lächerlich, 6=Wahnsinnig
@@ -788,6 +789,19 @@ function loadConfig(opts = {}) {
CONFIG.RTA_IIR_FILTERBANK = CONFIG.RTA_IIR_FILTERBANK === 'butterworth'
? 'butterworth'
: 'legacy';
if (CONFIG.RTA_INTEGRATION === 'peak') {
CONFIG.RTA_DETECTOR = 'peak';
CONFIG.RTA_INTEGRATION = 'fast';
} else if (CONFIG.RTA_INTEGRATION === 'average') {
CONFIG.RTA_DETECTOR = 'average';
CONFIG.RTA_INTEGRATION = 'fast';
}
CONFIG.RTA_DETECTOR = CONFIG.RTA_DETECTOR === 'peak' ? 'peak' : 'average';
if (!['impulse', 'fast', 'medium', 'slow'].includes(CONFIG.RTA_INTEGRATION)) {
CONFIG.RTA_INTEGRATION = 'fast';
}
CONFIG.RTA_IIR_TAU_FAST = 0.125;
CONFIG.RTA_IIR_TAU_SLOW = 1.0;
if (CONFIG.RTA_BAR_LAYOUT === 'rtw') {
CONFIG.RTA_ENGINE = 'iir';
CONFIG.RTA_IIR_ORDER = 6;