fun-denoise

智能音频降噪服务,基于阿里巴巴通义实验室 AI 算法,一键消除背景噪音,还原纯净人声。支持 wav、mp3、aac 等主流格式,适用于录音降噪、语音识别预处理、播客后期制作、会议录音优化等场景。当用户需要音频降噪、去除噪音、音频预处理、提升录音质量时使用。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "fun-denoise" with this command: npx skills add songguocola/fun-denoise

FunAudioDenoise 智能音频降噪

服务简介

FunAudioDenoise 是阿里云百炼平台提供的专业级音频降噪服务,采用深度学习算法精准分离人声与背景噪音,让您的录音更清晰、更专业。

核心优势

特性说明
AI 智能降噪基于通义实验室深度学习模型,精准识别人声,有效消除环境噪音
实时流式处理WebSocket 双向流式协议,支持边传边处理,响应迅速
多格式兼容支持 wav、mp3、aac、opus、amr、pcm 等主流音频格式
大文件支持单文件最大支持 2 小时或 1GB,满足长录音需求
质量评估自动输出音频质量评分,帮助您了解录音状况

适用场景

  • 会议录音 - 消除会议室回声、空调声、键盘声等干扰
  • 播客制作 - 提升人声清晰度,打造专业音质
  • 语音识别预处理 - 提高 ASR 识别准确率
  • 在线教育 - 优化课程录音质量
  • 采访录音 - 还原清晰的对话内容
  • 有声书制作 - 打造沉浸式听书体验

快速开始

环境准备

pip install dashscope websocket-client

设置密钥(只需一次)

export DASHSCOPE_API_KEY="你的阿里云 API 密钥"

一行命令降噪

python denoise_cli.py input.mp3 output.wav

Python API 调用

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']}")

核心 API

DenoiseParam 参数配置

参数类型默认值说明
modelstr"fun-audio-denoising"模型名称(固定值)
apikeystrNoneDashScope API Key
formatstr"wav"音频格式:wav、mp3、aac、opus、amr、pcm
sample_rate_inint16000输入采样率(PCM 格式必填)
sample_rate_outintNone输出采样率(默认同输入)
enable_denoiseboolTrue是否启用降噪

处理结果元数据

{
    "sample_rate_out": 48000,        # 输出采样率
    "voice_quality": "0.89",          # 音频质量评分 (0-1)
    "valid_speech_ms": "15000"        # 有效语音时长(毫秒)
}

使用示例

示例 1:命令行快速降噪

# 基础使用(自动推断格式)
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

示例 2: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)

示例 3:批量处理多个文件

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']}")

最佳实践

1. 音频分帧策略

  • 推荐帧大小:3200 字节(对应 16000Hz 采样率下 100ms 音频)
  • 发送间隔:配合音频时长,模拟实时流(100ms 数据间隔 100ms 发送)
  • 大文件处理:分块读取,避免内存溢出

2. 采样率选择

场景推荐采样率说明
语音识别16000Hz平衡质量与处理速度
电话录音8000Hz兼容传统电话系统
音乐/播客44100Hz/48000Hz高保真音质

3. 质量评估解读

  • voice_quality > 0.8:音频质量优秀
  • voice_quality 0.5-0.8:音频质量良好,轻度噪音
  • voice_quality < 0.5:音频质量较差,噪音较多

4. 异常处理建议

try:
    denoise.start_task()
    # ... 发送音频数据
    denoise.sync_stop_task(timeout=120000)
except TimeoutError:
    print("处理超时,请检查网络连接")
except Exception as e:
    print(f"处理失败: {e}")
finally:
    denoise.close()  # 确保资源释放

命令行工具详解

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 - 让每一句声音都清晰可闻

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Img2img

Generate images from text descriptions using DALL-E 3 while adhering to usage policies and avoiding realistic human faces.

Registry SourceRecently Updated
General

Habitat-GS-Navigator

Navigate and interact with photo-realistic 3DGS environments via the Habitat-GS Bridge. Use when: user asks to explore a 3D scene, perform embodied navigatio...

Registry SourceRecently Updated
General

Memory Palace

持久化记忆管理。Use when: 用户告诉你个人信息/偏好/习惯、需要记住项目状态/技术决策、完成任务后有可复用经验、用户说"记住""别忘了""下次注意"、需要回忆之前的对话内容。支持语义搜索和时间推理。

Registry SourceRecently Updated
General

Podcast Transcript Mining Authority Positioning

Extract guest appearances, speaking topics, and soundbites from podcast transcripts to build authority portfolios and generate podcast pitch templates. Use w...

Registry SourceRecently Updated