- 新增 Audio 模块文档 (54 个文件) - AudioSystem 单例类及 20 个方法页 - AudioMixer 混音器类及 11 个方法页 - IAudioBackend、IAudioEffect 接口 - FFTFilter、Reverbation、Equalizer、HRTF 效果类 - WASAPIBackend Windows 后端 - AudioConfig、Audio3DParams 等结构体 - 9 个枚举类型文档 - 新增 Components 模块文档 (3 个文件) - AudioSourceComponent 音频源组件 - AudioListenerComponent 音频监听器组件 - 更新 docs/api/main.md 添加模块导航
1.8 KiB
1.8 KiB
Reverbation
命名空间: XCEngine::Audio
类型: class
头文件: XCEngine/Audio/Reverbation.h
描述: 混响效果器,基于 Schroeder 算法实现。
概述
Reverbation 是 Schroeder 算法的并行 Comb 滤波器 + AllPass 滤波器混响实现。它模拟真实环境中声音的早期反射和后期混响,支持调节房间大小(RoomSize)、阻尼(Damping)、干湿信号混合比等参数,适用于游戏场景中的环境混响效果。
公共方法
| 方法 | 描述 |
|---|---|
Reverbation |
构造函数 |
~Reverbation |
析构函数 |
ProcessAudio |
处理混响音频 |
SetRoomSize |
设置房间大小 |
GetRoomSize |
获取房间大小 |
SetDamping |
设置阻尼 |
GetDamping |
获取阻尼 |
SetWetMix |
设置湿信号混合比例 |
GetWetMix |
获取湿信号混合比例 |
SetDryMix |
设置干信号混合比例 |
GetDryMix |
获取干信号混合比例 |
SetWidth |
设置声场宽度 |
GetWidth |
获取声场宽度 |
SetFreeze |
设置冻结模式 |
IsFreeze |
检查冻结状态 |
使用示例
#include <XCEngine/Audio/Reverbation.h>
using namespace XCEngine::Audio;
void SetupReverb() {
Reverbation* reverb = new Reverbation();
reverb->SetRoomSize(0.5f);
reverb->SetDamping(0.5f);
reverb->SetWetMix(0.3f);
reverb->SetDryMix(0.7f);
reverb->SetWidth(1.0f);
}
相关文档
- Audio 模块总览 - Audio 模块总览
- IAudioEffect - 音频效果接口