跳转至

混音类模块设计文档

本文档覆盖以下模块:surround_v1krk_echo_v1krk_upmixer_v1upmixer_v1


surround_v1 — 环绕声处理

概述

多频段环绕声处理模块,将输入信号按低/中/侧/高频段分离处理后混合输出,支持各频段独立增益、延迟和交叉频率配置,加上 12 路混音系数(Mix 矩阵)。

  • 分类mixing
  • UI 组件GenericTuningDialog.vue
  • 通道数:20ch 输入/输出

参数

参数 ID 类型 范围 默认值 说明
enable bool true 启用/禁用
lowGain float -96 ~ 24 dB,步长 0.1 0 低频段增益
midGain float -96 ~ 24 dB,步长 0.1 0 中频段增益
sideGain float -96 ~ 24 dB,步长 0.1 0 侧频段增益
highGain float -96 ~ 24 dB,步长 0.1 0 高频段增益
lowDelay int 0 ~ 960 smp,步长 1 0 低频段延迟(采样数)
midDelay int 0 ~ 960 smp,步长 1 0 中频段延迟(采样数)
lowXOver float 20 ~ 20000 Hz,步长 1 400 低/中频分频点
highXOver float 20 ~ 20000 Hz,步长 1 7000 中/高频分频点
mix#0 ~ mix#11 float 0 ~ 1,步长 0.01 0.5 12 路混音系数

UI 布局

┌──────────────────────────────────────────────────────┐
│ ⏻  surround_inst · 环绕声处理                  ×   │
├──────────────────────────────────────────────────────┤
│ 低频增益   ════════○══  [-96~24]  [0.0]             │
│ 中频增益   ════════○══  [-96~24]  [0.0]             │
│ 侧频增益   ════════○══  [-96~24]  [0.0]             │
│ 高频增益   ════════○══  [-96~24]  [0.0]             │
│ 低频延迟   ○══════════  [0~960]   [0]               │
│ 中频延迟   ○══════════  [0~960]   [0]               │
│ 低频分频   ══════○════  [20~20k]  [400]             │
│ 高频分频   ══════════○  [20~20k]  [7000]            │
│ Mix 1      ════════○══  [0~1]     [0.50]            │
│ ...(共 12 路 Mix)                                  │
└──────────────────────────────────────────────────────┘

WebSocket 协议

{ "type": "set_params", "instanceId": "surround_0", "paramId": "lowGain",  "value": -3.0 }
{ "type": "set_params", "instanceId": "surround_0", "paramId": "lowXOver", "value": 300 }
{ "type": "set_params", "instanceId": "surround_0", "paramId": "mix#0",    "value": 0.7 }

DSP 内存布局

Offset Size 说明
0 1 B enable
1 4 B lowGain(float32)
5 4 B midGain
9 4 B sideGain
13 4 B highGain
17 4 B lowDelay(int32)
21 4 B midDelay
25 4 B lowXOver(float32)
29 4 B highXOver
33 48 B mix#0..11(float32 × 12)
81 ~ 255 175 B 保留
总计 256 B binarySize: 256

krk_echo_v1 — KRK 回声

概述

KRK 风格回声处理模块,含 Dry/Wet/Echo 三路全局增益,以及每通道独立的 Dry Mix / Wet Mix / Echo Mix 混音系数(20ch perChannel)。

  • 分类mixing
  • UI 组件GenericTuningDialog.vue
  • 通道数:20ch
  • 通道名:标准车载 20 通道名

参数

全局参数:

参数 ID 类型 范围 默认值 说明
enable bool true 启用/禁用
dryGain float -96 ~ 24 dB,步长 0.1 0 Dry 全局增益
wetGain float -96 ~ 24 dB,步长 0.1 0 Wet 全局增益
echoGain float -96 ~ 24 dB,步长 0.1 0 Echo 全局增益

Per-channel 参数(20ch):

参数 ID 类型 范围 默认值 说明
dryMix float 0 ~ 1,步长 0.01 0.5 每通道 Dry 混音系数
wetMix float 0 ~ 1,步长 0.01 0.5 每通道 Wet 混音系数
echoMix float 0 ~ 1,步长 0.01 0.5 每通道 Echo 混音系数

UI 布局

┌──────────────────────────────────────────────────────┐
│ ⏻  krk_echo_inst · KRK 回声                    ×   │
├──────────────────────────────────────────────────────┤
│ 启用          [开]                                   │
│ Dry Gain     ════════○══  [-96~24]  [0.0]           │
│ Wet Gain     ════════○══  [-96~24]  [0.0]           │
│ Echo Gain    ════════○══  [-96~24]  [0.0]           │
│ Dry Mix (系数)                                       │
│  FLH  ════════○══  [0~1]  [0.50]                   │
│  FRH  ════════○══  [0~1]  [0.50]                   │
│  ...(共 20 行)                                     │
│ Wet Mix (系数)  ...(20 行)                         │
│ Echo Mix (系数) ...(20 行)                         │
└──────────────────────────────────────────────────────┘

WebSocket 协议

{ "type": "set_params", "instanceId": "krk_echo_0", "paramId": "echoGain",  "value": -12.0 }
{ "type": "set_params", "instanceId": "krk_echo_0", "paramId": "dryMix",    "value": 0.8, "channel": 0 }
{ "type": "set_params", "instanceId": "krk_echo_0", "paramId": "echoMix",   "value": 0.2, "channel": 19 }

DSP 内存布局

Offset Size 说明
0 1 B enable
1 12 B dryGain/wetGain/echoGain(float32 × 3)
13 80 B dryMix[0..19](float32 × 20)
93 80 B wetMix[0..19]
173 80 B echoMix[0..19]
253 ~ 255 3 B 保留
总计 256 B binarySize: 256

krk_upmixer_v1 — KRK 上混器

概述

KRK 风格上混器,含与 surround_v1 结构相同的多频段增益/延迟/分频参数,以及 12 路 Mix 系数,用于将立体声源上混到多声道输出。

  • 分类mixing
  • UI 组件GenericTuningDialog.vue
  • 通道数:20ch 输入/输出

参数

surround_v1 参数结构完全相同(参见上文),但语义上用于上混而非环绕处理。

参数 ID 说明
enable 启用/禁用
lowGain/midGain/sideGain/highGain 各频段增益(dB)
lowDelay/midDelay 各频段延迟(smp)
lowXOver/highXOver 分频点(Hz)
mix#0 ~ mix#11 12 路混音系数(0~1)

WebSocket 协议

{ "type": "set_params", "instanceId": "krk_upmixer_0", "paramId": "highGain", "value": 2.0 }
{ "type": "set_params", "instanceId": "krk_upmixer_0", "paramId": "mix#5",    "value": 0.6 }

DSP 内存布局

surround_v1 完全相同,binarySize: 256


upmixer_v1 — 上混器

概述

通用立体声/多声道上混器,含以下三组参数: 1. 立体声映射(20 通道):每路输出通道对应哪个立体声输入通道(0=L, 1=R) 2. 多声道映射(29 路):多声道输入到输出的路由映射 3. 增益(12 路):各路输出增益(-96~+24 dB) 4. 延迟(12 路):各路输出延迟(0~20 ms)

  • 分类mixing
  • UI 组件GenericTuningDialog.vue
  • 输入:12ch,输出:20ch

参数

参数 ID 类型 范围 默认值 说明
enable bool true 启用/禁用
stereoMap#c(c=0~19) int 0 ~ 255,步长 1 c%2 第 c 路输出对应的立体声输入通道
multiMap#c(c=0~28) int 0 ~ 255,步长 1 255 第 c 路多声道映射(255=静音)
gain#c(c=0~11) float -96 ~ 24 dB,步长 0.1 -96 第 c 路输出增益
delay#c(c=0~11) float 0 ~ 20 ms,步长 0.02 0 第 c 路输出延迟

UI 布局

┌──────────────────────────────────────────────────────┐
│ ⏻  upmixer_inst · 上混器                       ×   │
├──────────────────────────────────────────────────────┤
│ 启用        [开]                                     │
│ 立体声映射 0  ══○══════  [0~255]  [0]               │
│ 立体声映射 1  ═════○═══  [0~255]  [1]               │
│ ...(共 20 行)                                      │
│ 多声道映射 0  ═════════○ [0~255]  [255]             │
│ ...(共 29 行)                                      │
│ 增益 1       ○═══════════ [-96~24] [-96.0]          │
│ ...(共 12 行)                                      │
│ 延迟 1       ○═══════════ [0~20]   [0.00]           │
│ ...(共 12 行)                                      │
└──────────────────────────────────────────────────────┘

WebSocket 协议

// 设置第 0 路立体声映射为右声道(1=R)
{ "type": "set_params", "instanceId": "upmixer_0", "paramId": "stereoMap#0", "value": 1 }

// 设置第 0 路增益 0 dB
{ "type": "set_params", "instanceId": "upmixer_0", "paramId": "gain#0", "value": 0.0 }

// 设置第 0 路延迟 1.5 ms
{ "type": "set_params", "instanceId": "upmixer_0", "paramId": "delay#0", "value": 1.5 }

DSP 内存布局

Offset Size 说明
0 1 B enable
1 80 B stereoMap#0..19(int32 × 20)
81 116 B multiMap#0..28(int32 × 29)
197 48 B gain#0..11(float32 × 12)
245 48 B delay#0..11(float32 × 12)
293 ~ 511 219 B 保留
总计 512 B binarySize: 512