Documentation
¶
Index ¶
- func Version() string
- type DenoiseConfig
- type DenoiseProcessor
- func (p *DenoiseProcessor) Close() error
- func (p *DenoiseProcessor) GetConfig() DenoiseConfig
- func (p *DenoiseProcessor) Process(input []byte) ([]byte, error)
- func (p *DenoiseProcessor) ProcessInPlace(data []byte) error
- func (p *DenoiseProcessor) Reset() error
- func (p *DenoiseProcessor) SetAECEnable(enable bool) error
- func (p *DenoiseProcessor) SetAGCEnable(enable bool) error
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DenoiseConfig ¶
type DenoiseConfig struct {
// AEC (Acoustic Echo Cancellation) 回声消除
AECEnable bool
// AGC (Automatic Gain Control) 自动增益控制
AGCEnable bool
// 采样率 (Hz)
SampleRate int
// 声道数
Channels int
// 位深 (bits)
BitsPerSample int
}
DenoiseConfig 降噪配置
type DenoiseProcessor ¶
type DenoiseProcessor struct {
// contains filtered or unexported fields
}
DenoiseProcessor 降噪处理器
func NewDenoiseProcessor ¶
func NewDenoiseProcessor(config *DenoiseConfig) (*DenoiseProcessor, error)
NewDenoiseProcessor 创建降噪处理器
func (*DenoiseProcessor) GetConfig ¶
func (p *DenoiseProcessor) GetConfig() DenoiseConfig
GetConfig 获取当前配置
func (*DenoiseProcessor) Process ¶
func (p *DenoiseProcessor) Process(input []byte) ([]byte, error)
Process 处理音频数据 input: 输入音频数据 (PCM格式) output: 输出音频数据 (降噪后) 返回处理的字节数和错误
Example ¶
ExampleDenoiseProcessor_Process 使用示例
// 创建处理器
processor, _ := NewDenoiseProcessor(&DenoiseConfig{
AECEnable: true,
AGCEnable: true,
SampleRate: 16000,
Channels: 1,
BitsPerSample: 16,
})
defer processor.Close()
// 生成测试音频
testAudio := generateTestAudio(16000, 100, 1000, 0.2)
// 处理
denoised, _ := processor.Process(testAudio)
// 计算效果
noisyRMS := calculateRMS(testAudio)
denoisedRMS := calculateRMS(denoised)
reduction := (1 - denoisedRMS/noisyRMS) * 100
fmt.Printf("Noisy RMS: %.4f\n", noisyRMS)
fmt.Printf("Denoised RMS: %.4f\n", denoisedRMS)
fmt.Printf("Noise reduction: %.2f%%\n", reduction)
func (*DenoiseProcessor) ProcessInPlace ¶
func (p *DenoiseProcessor) ProcessInPlace(data []byte) error
ProcessInPlace 原地处理音频数据
func (*DenoiseProcessor) SetAECEnable ¶
func (p *DenoiseProcessor) SetAECEnable(enable bool) error
SetAECEnable 设置AEC启用状态
func (*DenoiseProcessor) SetAGCEnable ¶
func (p *DenoiseProcessor) SetAGCEnable(enable bool) error
SetAGCEnable 设置AGC启用状态
Click to show internal directories.
Click to hide internal directories.