跳转至

动态处理类模块设计文档

本文档覆盖以下模块:limiter_v1mdrc_v1


limiter_v1 — 限制器

概述

3 组限制器模块,每组可独立绑定最多 12 路通道,并设置各自的动态参数(Threshold/Attack/Release)。典型应用:按扬声器分组(高音组/中音组/低音组)进行限制保护。

  • 分类dynamics
  • UI 组件LimiterTuningDialog.vue(专用对话框)
  • 通道数:20ch 输入/输出
  • UI 结构:3 个 Group 标签页(G1 / G2 / G3)

参数

全局参数:

参数 ID 类型 范围 默认值 说明
enable bool true 模块整体启用/禁用

每组 g(0/½)的参数(共 3 组,每组 16 个参数):

参数 ID 类型 范围 默认值 说明
bypass#g bool false 组 g+1 旁路
throld#g float -96 ~ 0 dB,步长 0.1 0 组 g+1 限制阈值
attack#g float 1 ~ 3000 ms,步长 1 1 组 g+1 起音时间
release#g float 1 ~ 5000 ms,步长 1 3000 组 g+1 释放时间
inNum#g int 0 ~ 12,步长 1 0 组 g+1 绑定通道数
groupCh#g_0 ~ groupCh#g_11 enum CH20_NAMES FLH 组 g+1 各通道绑定(12 个下拉框)

CH20_NAMESFLH FRH FLM FRM FLL FRL FLSE FRSE RLH RRH RLM RRM RLL RRL RLSE RRSE RLS RRS CHM SWF

UI 布局

┌────────────────────────────────────────────────────────┐
│ ⏻  limiter_inst · 限制器                          ×   │
├────────────────────────────────────────────────────────┤
│  [G1]  [G2]  [G3]                                      │
├────────────────────────────────────────────────────────┤
│  G1 Bypass        [关]                                 │
│  G1 Threshold    ════════════○  [-96~0]    [  0.0]    │
│  G1 Attack       ○══════════════  [1~3000]  [   1]    │
│  G1 Release      ═══════════════○ [1~5000]  [3000]    │
│  G1 通道数       ○══════════════  [0~12]    [   0]    │
│  G1-Ch1  [FLH ▼]  G1-Ch2  [FRH ▼]  G1-Ch3  [FLM ▼]  │
│  G1-Ch4  [FRM ▼]  ...(共 12 个下拉)                 │
└────────────────────────────────────────────────────────┘

WebSocket 协议

// 设置 G1 阈值 -6 dB
{ "type": "set_params", "instanceId": "limiter_0", "paramId": "throld#0", "value": -6.0 }

// 设置 G2 绑定通道数 4
{ "type": "set_params", "instanceId": "limiter_0", "paramId": "inNum#1", "value": 4 }

// 设置 G2 第 1 个绑定通道为 SWF
{ "type": "set_params", "instanceId": "limiter_0", "paramId": "groupCh#1_0", "value": "SWF" }

// 旁路 G3
{ "type": "set_params", "instanceId": "limiter_0", "paramId": "bypass#2", "value": true }

DSP 内存布局

Offset Size 说明
0 1 B enable
1 3 B bypass#0..2(uint8 × 3)
4 12 B throld#0..2(float32 × 3)
16 12 B attack#0..2(float32 × 3)
28 12 B release#0..2(float32 × 3)
40 12 B inNum#0..2(int32 × 3)
52 144 B groupCh#g_c(uint8 × 3组 × 12通道)
196 ~ 255 60 B 保留
总计 256 B binarySize: 256

mdrc_v1 — MDRC 多频段动态处理

概述

三频段动态范围控制模块(Multi-Band DRC),通过两个交叉频率(lowF / highF)将信号分为低频/中频/高频三段,每段独立设置动态参数。常用于整体声场响度均衡和动态保护。

  • 分类dynamics
  • UI 组件MDRCTuningDialog.vue(专用对话框)
  • 通道数:20ch 输入/输出
  • UI 结构:顶部全局栏 + 3 频段标签页(Low / Mid / HIGH)

参数

全局参数:

参数 ID 类型 范围 默认值 说明
enable bool true 模块启用/禁用
bypass bool false 交叉网络旁路(Xover Bypass)
lowF float 20 ~ 20000 Hz,步长 1 400 低/中频分频点
highF float 20 ~ 20000 Hz,步长 1 7000 中/高频分频点

每频段 g(0=Low, 1=Mid, 2=HIGH)参数:

参数 ID 类型 范围 默认值 说明
flat#g bool false 平坦模式(跳过压缩)
throld#g float -96 ~ 0 dB,步长 0.1 0 压缩阈值
gainMax#g float 0 ~ 48 dB,步长 0.1 0 最大增益补偿
attack#g float 1 ~ 10000 ms,步长 1 3000 起音时间
release#g float 1 ~ 10000 ms,步长 1 8000 释放时间
levelOff#g float -96 ~ 0 dB,步长 0.1 0 电平偏置
timeOff#g int 1 ~ 480000 smp,步长 1 48000 时间偏置(样本数)

UI 布局

┌──────────────────────────────────────────────────────┐
│ ⏻  mdrc_inst · MDRC 多频段动态                  ×   │
├──────────────────────────────────────────────────────┤
│ [Xover 旁路]  低频截止 ══○══ [20~20k] [400]          │
│               高频截止 ═════○ [20~20k] [7000]         │
├──────────────────────────────────────────────────────┤
│  [Low]  [Mid]  [HIGH]                                │
├──────────────────────────────────────────────────────┤
│  Low FLAT          [关→平坦/压缩]                    │
│  Threshold (dB)   ════════════○  [-96~0]   [  0.0]  │
│  GainMax (dB)     ○════════════  [0~48]    [  0.0]  │
│  Attack (ms)      ═══════════════○ [1~10000] [3000]  │
│  Release (ms)     ══════════════○ [1~10000] [8000]  │
│  LevelOff (dB)    ════════════○  [-96~0]   [  0.0]  │
│  TimeOff (smp)    ═══════════════○ [1~480k] [48000]  │
└──────────────────────────────────────────────────────┘

WebSocket 协议

// 设置低/中频分频点
{ "type": "set_params", "instanceId": "mdrc_0", "paramId": "lowF",  "value": 300 }
{ "type": "set_params", "instanceId": "mdrc_0", "paramId": "highF", "value": 6000 }

// 设置 Low 频段阈值
{ "type": "set_params", "instanceId": "mdrc_0", "paramId": "throld#0", "value": -12.0 }

// 设置 Mid 频段 GainMax
{ "type": "set_params", "instanceId": "mdrc_0", "paramId": "gainMax#1", "value": 6.0 }

// 开启 HIGH 频段 FLAT 模式
{ "type": "set_params", "instanceId": "mdrc_0", "paramId": "flat#2", "value": true }

DSP 内存布局

Offset Size 说明
0 1 B enable
1 1 B bypass(uint8)
2 4 B lowF(float32,Hz)
6 4 B highF(float32,Hz)
10 3 B flat#0..2(uint8 × 3)
13 12 B throld#0..2(float32 × 3)
25 12 B gainMax#0..2(float32 × 3)
37 12 B attack#0..2(float32 × 3)
49 12 B release#0..2(float32 × 3)
61 12 B levelOff#0..2(float32 × 3)
73 12 B timeOff#0..2(int32 × 3)
85 ~ 127 43 B 保留
总计 128 B binarySize: 128