智能音频降噪服务,基于阿里通义实验室 AI 算法,一键消除背景噪音、还原纯净人声。支持 wav、mp3、aac 等主流格式,适用于录音降噪、语音识别预处理、播客后期制作、会议录音优化等场景。当用户需要降噪、去除噪音或提升录音质量时使用。
FunAudioDenoise 是阿里云百炼平台提供的专业级音频降噪服务,采用深度学习算法精准分离人声与背景噪音,让您的录音更清晰、更专业。
特性说明AI 智能降噪基于通义实验室深度学习模型,精准识别人声,有效消除环境噪音实时流式处理WebSocket 双向流式协议,支持边传边处理,响应迅速多格式兼容支持 wav、mp3、aac、opus、amr、pcm 等主流音频格式大文件支持单文件最大支持 2 小时或 1GB,满足长录音需求质量评估自动输出音频质量评分,帮助您了解录音状况
bash
pip install dashscope websocket-client
bash
export DASHSCOPE_API_KEY="你的阿里云 API 密钥"
bash
python denoise_cli.py input.mp3 output.wav
python
from denoise_cli import denoise_audio
result = denoise_audio(
input_path="noisy_recording.wav",
output_path="clean_audio.wav"
)
if result["success"]:
print(f"降噪完成!音频质量评分: {result['output_info']['voice_quality']}")
参数类型默认值说明modelstr"fun-audio-denoising"模型名称(固定值)apikeystrNoneDashScope API Keyformatstr"wav"音频格式:wav、mp3、aac、opus、amr、pcmsample_rate_inint16000输入采样率(PCM 格式必填)sample_rate_outintNone输出采样率(默认同输入)enable_denoiseboolTrue是否启用降噪
python
{
"sample_rate_out": 48000, # 输出采样率
"voice_quality": "0.89", # 音频质量评分 (0-1)
"valid_speech_ms": "15000" # 有效语音时长(毫秒)
}
bash
# 基础使用(自动推断格式)
python denoise_cli.py meeting_recording.mp3
# 指定输出文件
python denoise_cli.py interview.wav clean_interview.wav
# 自定义参数
python denoise_cli.py podcast.mp3 --format mp3 --sample-rate 48000
python
import dashscope
from audio_process import Denoise, DenoiseParam, ResultCallback, DenoiseResult
import threading
# 设置 API Key
dashscope.api_key = "your-api-key"
class MyCallback(ResultCallback):
def __init__(self):
self.audio_data = b""
self.complete_event = threading.Event()
def on_event(self, result: DenoiseResult):
if result.audio_frame:
self.audio_data += result.audio_frame
def on_complete(self):
print("处理完成!")
self.complete_event.set()
# 配置参数
param = DenoiseParam(
format="wav",
sample_rate_in=16000,
enable_denoise=True
)
# 执行降噪
callback = MyCallback()
denoise = Denoise(param=param, callback=callback)
denoise.start_task()
# 发送音频数据
with open("input.wav", "rb") as f:
while chunk := f.read(3200):
denoise.send_audio_frame(chunk)
denoise.sync_stop_task()
# 保存结果
with open("output.wav", "wb") as f:
f.write(callback.audio_data)
python
from denoise_cli import denoise_audio
import os
input_dir = "raw_recordings/"
output_dir = "clean_recordings/"
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.endswith(".wav"):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, f"clean_{filename}")
result = denoise_audio(input_path, output_path, verbose=False)
if result["success"]:
quality = result["output_info"].get("voice_quality", "N/A")
print(f"✓ {filename} - 质量评分: {quality}")
else:
print(f"✗ {filename} - 失败: {result['error']}")
场景推荐采样率说明语音识别16000Hz平衡质量与处理速度电话录音8000Hz兼容传统电话系统音乐/播客44100Hz/48000Hz高保真音质
voice_quality > 0.8:音频质量优秀voice_quality 0.5-0.8:音频质量良好,轻度噪音voice_quality < 0.5:音频质量较差,噪音较多python
try:
denoise.start_task()
# ... 发送音频数据
denoise.sync_stop_task(timeout=120000)
except TimeoutError:
print("处理超时,请检查网络连接")
except Exception as e:
print(f"处理失败: {e}")
finally:
denoise.close() # 确保资源释放
text
usage: denoise_cli.py [-h] [--api-key API_KEY] [--format FORMAT]
[--sample-rate SAMPLE_RATE] [--no-denoise]
[--chunk-size CHUNK_SIZE] [--chunk-delay CHUNK_DELAY]
[-q]
input [output]
positional arguments:
input 输入音频文件路径
output 输出音频文件路径(可选)
optional arguments:
-h, --help 显示帮助信息
--api-key API_KEY DashScope API Key
--format FORMAT 音频格式 (wav, mp3, pcm, aac, opus, amr)
--sample-rate SAMPLE_RATE
采样率 (默认: 16000)
--no-denoise 禁用降噪(仅转换格式)
--chunk-size CHUNK_SIZE
分块大小(默认: 3200)
--chunk-delay CHUNK_DELAY
分块发送间隔(默认: 0.1秒)
-q, --quiet 静默模式
项目规格支持格式wav、mp3、aac、opus、amr、pcm最大时长2 小时最大文件1 GB输出采样率自动优化(默认 48kHz)协议WebSocket 双向流式延迟< 200ms(首包响应)
FunAudioDenoise - 让每一句声音都清晰可闻