智能音视频/语音降噪
语音降噪
更新于: 2026-06-24 15:47:07
扣子企业旗舰版支持两种语音降噪方案:声纹降噪(PDNS)和 AI 降噪(ANS)。你可以根据实际场景选择其中一种。本文介绍两种方案的实现方法。
说明
|
对比维度 |
声纹降噪(PDNS) |
声纹降噪(PDNS) |
AI 降噪(ANS) |
|---|---|---|---|
|
自动提取说话人 |
主动设置说话人 |
自动提取说话人 |
|
|
功能说明 |
自动提取说话者的声纹特征,突出该人声并抑制其他说话人或背景噪音。 |
预先设置目标说话者的声纹 ID,突出该人声并抑制其他说话人或背景噪音。 |
从音频输入中精准区分人声与各类背景噪声,并自动过滤背景噪音,如键盘声、空调声、开关门等瞬态噪声。 |
|
优点 |
|
|
|
|
缺点 |
|
需要提前录制声纹并获取声纹 ID。 |
不针对特定说话人优化,多人说话场景可能识别到其他人的声音。 |
|
典型场景 |
多人会议、客服录音、多人访谈等。 |
智能设备、专业直播等。 |
|
声纹降噪(PDNS)通过识别目标说话人的声纹特征,针对性地保留该人声并削弱非目标人声和环境噪音。声纹降噪支持两种模式,你可根据实际业务场景选择对应模式。
自动提取说话人模式会在通话过程中自动提取当前说话者的声纹特征,进而优化目标人声并抑制其他说话人或背景噪音。无需预先登记声纹,适用于说话人不固定或不方便提前配置声纹的场景,可快速接入并降低配置成本。
当配置 enable_pdns: true 且未设置 voice_print_feature_id 时,默认启用自动提取说话人模式。
建立 WebSocket 连接后,发送 chat.update 上行事件,在事件的 data.voice_processing_config 参数中设置 enable_pdns 为 true,开启声纹降噪。事件的详细说明请参见双向流式对话上行事件。
{
"data": {
"input_audio": {
"format": "pcm",
"codec": "pcm",
"sample_rate": 48000
},
"voice_processing_config": {
"enable_pdns": true
},
"output_audio": {
"codec": "pcm",
"pcm_config": {
"sample_rate": 24000
},
"loudness_rate": 92
},
"turn_detection": {
"type": "server_vad"
},
"need_play_prologue": true
}
}
主动设置说话人模式基于预先登记的声纹 ID,在会话开始即可精准优化目标人声。当配置enable_pdns: true且指定voice_print_feature_id(声纹 ID)时,启用主动设置说话人模式。
你可以通过扣子编程录制声纹并获取声纹 ID,具体请参见声纹识别,或通过创建声纹 API 上传声纹并获取声纹 ID。
组织超级管理员或管理员在扣子编程的组织管理 > 声纹管理页面创建声纹组和声纹。具体步骤请参见声纹识别。
创建声纹组
创建声纹
在声纹列表中获取声纹 ID。
POST https://api.coze.cn/v1/audio/voiceprint_groups/75143038117378***/features \
--header 'Authorization: Bearer pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****' \
--header 'Content-Type: multipart/form-data' \
-F 'file=@/voice_test_data/test_1.wav;type=audio/wav' \
-F 'name=吴经理的声纹' \
-F 'desc=吴经理的声纹'
在 WebSocket 或 RTC 语音通话的上行事件中,开启声纹降噪。
建立 WebSocket 连接后,发送 chat.update 上行事件,在事件的 data.voice_processing_config 参数中:
事件的详细说明请参见双向流式对话上行事件。
{
"data": {
"input_audio": {
"format": "pcm",
"codec": "pcm",
"sample_rate": 48000
},
"voice_processing_config": {
"enable_pdns": true,
"voice_print_feature_id": "756356415658709***"
},
"output_audio": {
"codec": "pcm",
"pcm_config": {
"sample_rate": 24000
},
"loudness_rate": 92
},
"turn_detection": {
"type": "server_vad"
},
"need_play_prologue": true
}
}
session.update 上行事件,在事件的 data.voice_processing_config 参数中:
{
"id": "1",
"event_type": "session.update",
"data": {
"voice_processing_config": {
"enable_pdns": true,
"voice_print_feature_id": "756356415658709***"
}
}
}
ANS 专注于识别与抑制环境噪音,包括键盘敲击、空调持续噪声、开关门、街道嘈杂等,从而凸显说话者的人声。它对说话者身份不敏感,适合“背景噪音重、说话者不固定”的普适场景。
建立 WebSocket 连接后,发送 chat.update 上行事件,在事件的 data.voice_processing_config 参数中设置 enable_ans 为 true,开启 AI 降噪。事件的详细说明请参见双向流式对话上行事件。
{
"data": {
"input_audio": {
"format": "pcm",
"codec": "pcm",
"sample_rate": 48000
},
"voice_processing_config": {
"enable_ans": true
},
"output_audio": {
"codec": "pcm",
"pcm_config": {
"sample_rate": 24000
},
"loudness_rate": 92
},
"turn_detection": {
"type": "server_vad"
},
"need_play_prologue": true
}
}