音源设计类模块设计文档
本文档覆盖以下模块:distortion_v1、virtual_bass_v1、loudness_v1。
distortion_v1 — 失真器
概述
音频失真处理模块,通过前级增益→饱和非线性→后级增益的处理链实现谐波失真效果,常用于声音设计和音色染色。
- 分类:
soundDesign
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch
参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
preGain |
float |
-24 ~ 24 dB,步长 0.1 |
0 |
前级增益(饱和前) |
postGain |
float |
-24 ~ 24 dB,步长 0.1 |
0 |
后级增益(饱和后) |
saturation |
float |
0 ~ 100 %,步长 1 |
0 |
饱和度(0=线性,100=完全饱和) |
UI 布局
┌───────────────────────────────────────────────┐
│ ⏻ distortion_inst · 失真器 × │
├───────────────────────────────────────────────┤
│ 启用 [开] │
│ 前级增益 ════════○════ [-24~24] [0.0] │
│ 后级增益 ════════○════ [-24~24] [0.0] │
│ 饱和度 ○═══════════ [0~100] [ 0] │
└───────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "distortion_0", "paramId": "preGain", "value": 6.0 }
{ "type": "set_params", "instanceId": "distortion_0", "paramId": "saturation", "value": 40 }
{ "type": "set_params", "instanceId": "distortion_0", "paramId": "postGain", "value": -3.0 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
4 B |
float32 |
preGain(dB) |
| 5 |
4 B |
float32 |
postGain(dB) |
| 9 |
4 B |
float32 |
saturation(%) |
| 总计 |
13 B |
— |
binarySize: 13 |
virtual_bass_v1 — 虚拟低音
概述
虚拟低音增强模块,通过谐波激励将次低频延伸到人耳可感知的谐波频段,含 PrePost 频率滤波、DRC 动态压缩、以及 VolDep(音量相关性)三个参数组。
- 分类:
soundDesign
- UI 组件:
VirtualBassTuningDialog.vue(专用对话框)
- 通道数:20ch 输入/输出
- UI 结构:3 个标签页(PrePost / DRC / VolDep)
参数
全局与 PrePost 参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
autoDly |
bool |
— |
false |
自动延迟补偿 |
expHarm |
bool |
— |
false |
谐波扩展模式 |
preLP |
float |
20 ~ 200 Hz,步长 1 |
50 |
前置低通频率 |
preHP |
float |
20 ~ 200 Hz,步长 1 |
50 |
前置高通频率 |
postLP |
float |
20 ~ 200 Hz,步长 1 |
100 |
后置低通频率 |
postHP |
float |
20 ~ 200 Hz,步长 1 |
50 |
后置高通频率 |
crsLP |
float |
20 ~ 200 Hz,步长 1 |
100 |
交叉低通频率 |
crsHP |
float |
20 ~ 200 Hz,步长 1 |
100 |
交叉高通频率 |
dryGn |
float |
-96 ~ 24 dB,步长 0.1 |
0 |
Dry 增益 |
wetGn |
float |
-96 ~ 24 dB,步长 0.1 |
0 |
Wet(谐波)增益 |
dryDly |
int |
0 ~ 1000 smp,步长 1 |
0 |
Dry 通路延迟(样本) |
DRC 参数
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
drcBypass |
bool |
— |
false |
DRC 旁路 |
drcMute |
bool |
— |
false |
DRC 静音 |
throld |
float |
-96 ~ 0 dB,步长 0.1 |
0 |
压缩阈值 |
mkUp |
float |
-48 ~ 48 dB,步长 0.1 |
0 |
补偿增益(MakeUp) |
slope |
float |
0 ~ 2,步长 0.01 |
0.25 |
压缩比斜率 |
attack |
float |
1 ~ 250 ms,步长 1 |
250 |
起音时间 |
release |
float |
1 ~ 500 ms,步长 1 |
500 |
释放时间 |
rmsPk |
float |
0 ~ 1,步长 0.1 |
0 |
RMS/Peak 混合比 |
knee |
float |
0 ~ 10,步长 0.1 |
0 |
膝部平滑度 |
VolDep 参数(20 行 × 6 列表格)
参数 ID 格式:volDep#${row}_${col.id}(row=0~19,col.id=wetGain/throld/makeUp/slope/attack/release)
| 列 ID |
范围 |
说明 |
wetGain |
-96 ~ 24 dB |
音量档 Wet 增益 |
throld |
-96 ~ 0 dB |
音量档压缩阈值 |
makeUp |
-96 ~ 0 dB |
音量档 MakeUp 增益 |
slope |
0.1 ~ 2 |
音量档压缩斜率 |
attack |
1 ~ 250 ms |
音量档起音时间 |
release |
1 ~ 500 ms |
音量档释放时间 |
UI 布局
┌──────────────────────────────────────────────────────┐
│ ⏻ virtual_bass_inst · 虚拟低音 × │
├──────────────────────────────────────────────────────┤
│ [PrePost] [DRC] [VolDep] │
├──────────────────────────────────────────────────────┤
│ Auto Delay [关] Exp Harmonic [关] │
│ ── 频率参数 ─────────────────────────────────────── │
│ Pre LP (Hz) ══○══════ [20~200] [ 50] │
│ Pre HP (Hz) ══○══════ [20~200] [ 50] │
│ Post LP (Hz) ════○════ [20~200] [100] │
│ Post HP (Hz) ══○══════ [20~200] [ 50] │
│ Crs LP (Hz) ════○════ [20~200] [100] │
│ Crs HP (Hz) ════○════ [20~200] [100] │
│ ── 增益/延迟 ────────────────────────────────────── │
│ Dry Gain (dB) ════════○══ [-96~24] [0.0] │
│ Wet Gain (dB) ════════○══ [-96~24] [0.0] │
│ Dry Delay ○══════════ [0~1000] [0] │
└──────────────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "virtual_bass_0", "paramId": "preLP", "value": 80 }
{ "type": "set_params", "instanceId": "virtual_bass_0", "paramId": "throld", "value": -12.0 }
{ "type": "set_params", "instanceId": "virtual_bass_0", "paramId": "volDep#0_wetGain", "value": -6.0 }
DSP 内存布局
| Offset |
Size |
说明 |
| 0 |
1 B |
enable |
| 1 |
1 B |
autoDly |
| 2 |
1 B |
expHarm |
| 3 |
24 B |
preLP/preHP/postLP/postHP/crsLP/crsHP(float32×6) |
| 27 |
4 B |
dryGn |
| 31 |
4 B |
wetGn |
| 35 |
4 B |
dryDly(int32) |
| 39 |
2 B |
drcBypass/drcMute |
| 41 |
36 B |
DRC 参数(throld/mkUp/slope/attack/release/rmsPk/knee,各 float32) |
| 77 |
120 B |
volDep 表格(20行×6列 × float32) |
| 197 ~ 255 |
保留 |
|
| 总计 |
256 B |
binarySize: 256 |
loudness_v1 — 响度处理
概述
4 频段响度均衡模块,按音量分级调整频谱响应(如低音和高音在小音量时增强),实现等响度补偿(Fletcher-Munson)。
- 分类:
soundDesign
- UI 组件:
GenericTuningDialog.vue
- 通道数:20ch
参数
共 1(enable)+ 4×4 = 17 个参数。每频段 b(0~3):
| 参数 ID |
类型 |
范围 |
默认值 |
说明 |
enable |
bool |
— |
true |
启用/禁用 |
type#b |
enum |
FL/LP/HP/LSV/HSV/PK/AP |
PK |
Band b+1 滤波器类型 |
freq#b |
float |
20 ~ 20000 Hz,步长 1 |
1000 |
Band b+1 频率 |
q#b |
float |
0.1 ~ 10,步长 0.01 |
0.71 |
Band b+1 Q 值 |
gain#b |
float |
-24 ~ 24 dB,步长 0.1 |
0 |
Band b+1 增益 |
UI 布局
┌────────────────────────────────────────────────────┐
│ ⏻ loudness_inst · 响度处理 × │
├────────────────────────────────────────────────────┤
│ Band1 类型 [PK ▼] │
│ Band1 频率 ══════○══════ [20~20000] [1000] │
│ Band1 Q值 ════════○════ [0.1~10] [0.71] │
│ Band1 增益 ════════○════ [-24~24] [0.0] │
│ ────────────────────────────────────────────────── │
│ Band2 ~ Band4 ...(共 4 组) │
└────────────────────────────────────────────────────┘
WebSocket 协议
{ "type": "set_params", "instanceId": "loudness_0", "paramId": "type#0", "value": "LSV" }
{ "type": "set_params", "instanceId": "loudness_0", "paramId": "freq#0", "value": 80 }
{ "type": "set_params", "instanceId": "loudness_0", "paramId": "gain#0", "value": 4.0 }
DSP 内存布局
| Offset |
Size |
类型 |
说明 |
| 0 |
1 B |
uint8 |
enable |
| 1 |
4×4 B |
enum/uint8 |
type#0..3 |
| 17 |
4×4 B |
float32 |
freq#0..3 |
| 33 |
4×4 B |
float32 |
q#0..3 |
| 49 |
4×4 B |
float32 |
gain#0..3 |
| 总计 |
65 B |
— |
binarySize: 64(对齐) |