录音噪音太重怎么办?用免费开源的 ClearerVoice-Studio 一键还原清晰语音
2026/8/19 18:54:31 网站建设 项目流程

录音噪音太重怎么办?用免费开源的 ClearerVoice-Studio 一键还原清晰语音

【免费下载链接】ClearerVoice-StudioAn AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker Extraction, etc.项目地址: https://gitcode.com/gh_mirrors/cl/ClearerVoice-Studio

上周末,我帮一位做播客的朋友剪辑音频。她特意挑了安静的咖啡馆录音,可回放时,空调的低鸣声、窗外的车流声全被麦克风收了进来,40 分钟的人声被杂音埋得几乎听不清。那一刻我才明白:录音里的噪音,不是把音量调大就能解决的。

朋友后来发给我一个开源项目——ClearerVoice-Studio,一个基于 AI 的语音处理工具包,几行代码就能把噪音清掉,让原本模糊的人声重新立起来。这篇文章,就是带你从零上手它的完整过程。

一句话认识它:这个 AI 语音处理工具到底能做什么

ClearerVoice-Studio 是一个免费开源的 AI 语音处理工具包:它像给语音"做手术"一样,能去掉背景噪音、把混在一起的人声分开、把低采样率的旧录音补回高音质,甚至能盯着视频里的人脸,只提取目标说话人的声音。

它适合三类人:想拯救糟糕录音的内容创作者、想把语音处理能力接进自己产品的开发者,以及需要模型训练与效果评估的研究人员。好消息是——绝大多数场景下,你只需要会复制粘贴几行 Python 代码。

先看几个让人心动的点

  • 🧩开箱即用:预训练模型在首次运行时自动下载,pip install clearvoice一条命令就能装好。
  • 🎯一包四能力:语音增强(去噪)、语音分离、语音超分辨率、目标说话人提取,一个接口全部覆盖。
  • 📦批量省心:支持单个文件、整个文件夹、scp 列表文件三种输入方式,几十段音频一次处理完。
  • 🎵格式通吃:wav、mp3、aac、flac、ogg、aiff 等常见格式都能直接读入。
  • 📊自带"体检":配套的 SpeechScore 提供 18 项语音质量指标,效果好坏用数据说话,不靠"我觉得"。

零基础第一课:三行代码让一段嘈杂语音变干净

先安装,打开终端输入:

pip install clearvoice

如果你处理的文件不是 wav 格式(比如 mp3、aac、flac),建议顺手装一下 FFmpeg,它是格式转换的底层依赖,Ubuntu 上执行sudo apt install ffmpeg即可。

然后新建一个 Python 文件,粘贴下面这段:

from clearvoice import ClearVoice # 初始化:选择"语音增强"任务和全频带去噪模型 myClearVoice = ClearVoice(task='speech_enhancement', model_names=['MossFormer2_SE_48K']) # 处理单个音频文件,返回增强后的波形 output_wav = myClearVoice(input_path='你的录音.wav', online_write=False) # 保存结果 myClearVoice.write(output_wav, output_path='去噪后的录音.wav')

第一次运行时,模型权重会从远端自动下载到本地的checkpoints目录,你不需要手动找模型文件。跑完去听一听输出文件——背景杂音消失了,人声会变得干净利落,这种"手术前后"的对比感非常直观。

如果你有一整个文件夹的音频要处理,把代码换成:

myClearVoice(input_path='放满音频的文件夹', online_write=True, output_path='输出文件夹')

一次调用,全部搞定。

能力进阶:从去噪到分离人声,再到修复音质

跑通第一个示例后,你会发现它远不止"去噪"这么简单。按照下面的路径一步步往上走,就知道什么时候该用哪个能力了。

第一步,去噪,也就是语音增强。这是最常用的场景:录音里有空调声、键盘声、马路噪音。工具包提供了三个预训练模型,按需选择:FRCRN_SE_16K速度快,适合追求效率的场景;MossFormerGAN_SE_16K效果最好,PESQ 得分在同测试集上领先;MossFormer2_SE_48K是全频带模型,适合 48kHz 高音质素材。刚上手时用MossFormer2_SE_48K体验最稳。

第二步,当录音里有两个人同时说话,就该上语音分离了。会议记录、访谈素材常遇到这种问题。把 task 换成speech_separation,模型换成MossFormer2_SS_16K,它会把混合音频拆成两个独立的人声文件:

myClearVoice = ClearVoice(task='speech_separation', model_names=['MossFormer2_SS_16K']) output_wav = myClearVoice(input_path='两人对话.wav', online_write=False) myClearVoice.write(output_wav, output_path='分离结果.wav') # 会生成 spk1 和 spk2 两个文件

第三步,面对老旧录音,试试语音超分辨率。翻出来的老磁带、低码率录音,采样率只有 16kHz 甚至更低,声音发闷发糊。MossFormer2_SR_48K能把它们补回 48kHz 的高音质。更妙的是,它还可以和去噪模型串联使用——先增强去噪,再超分辨率提升采样率,一条流水线把"又噪又糊"的音频修成干净清晰的状态。

第四步,想锁定视频里特定的人?试试目标说话人提取。这是最有意思的一个能力:输入一段有多个说话人的视频,模型通过人脸检测锁定你要提取的那个人,只保留他的声音。模型名是AV_MossFormer2_TSE_16K,支持 avi、mp4、mov、webm 等常见视频格式。

给开发者的彩蛋:numpy 进 numpy 出。如果你想把模型嵌入自己的训练或推理管线,不想走文件读写,项目提供了 numpy 接口——直接把波形数组喂进去,拿波形数组出来,还支持批量输入。参考示例在 clearvoice/demo_Numpy2Numpy.py,非常贴心。

给研究者的进阶:完整训练与微调脚本。如果你不满足于用现成模型,项目train/目录下提供了语音增强、分离、超分辨率、目标说话人提取等任务的完整训练脚本,还有专门的数据生成脚本,可以按自己的数据做微调或重新训练。对应的目录是 train/speech_enhancement、train/speech_separation 等。

新手最容易踩的 5 个坑

坑一:装了库但 mp3、aac 读不进来。很多人只跑了pip install clearvoice就急着处理 mp3,结果报错。解决办法很简单——安装 FFmpeg。它是所有非 wav 格式的底层依赖,装上之后格式问题基本消失。

坑二:采样率对不上,输出音质怪怪的。模型名字里的16K48K不是装饰,它代表模型期望的输入采样率。用 numpy 接口时尤其要注意:代码里通常需要先用librosa.resample把音频重采样到模型要求的采样率。用文件接口时,工具会自动处理好,但你自己写调用逻辑时别忘了这一点。

坑三:以为模型要手动下载,结果卡在"网络问题"上。预训练模型是自动从远端下载的,不需要你手动找。如果自动下载失败,去 ModelScope 手动下载权重放到clearvoice/checkpoints目录即可。

坑四:任务选错了。两个说话人混在一起,用去噪模型解决不了——去噪是去背景噪音,分离才是拆人声。场景判断错了,效果自然不对。记住:噪音多→增强,人声混→分离,音质差→超分辨率,视频里找特定人→目标说话人提取。

坑五:一上来就喂超长音频,把显存爆了。超过几分钟的长音频建议先切成 30~60 秒的片段再批量处理,既省内存,也好排查问题。

效果如何?用数据说话

光说"有效"不够,我们用项目公开的评测数据看看它到底有多能打:

  • 语音增强:在 VoiceBank+DEMAND 测试集上,MossFormerGAN_SE_16K把 PESQ(感知语音质量分,越高越好)从带噪状态的1.97 拉到 3.47;在 DNS-Challenge 2020 测试集上更是从1.58 提升到 3.57
  • 语音分离MossFormer2_SS_16K在 LRS2-2Mix 上取得15.5 dB的 SI-SNRi,在 WHAM! 测试集上达到 17.4 dB,与当前顶级模型持平。
  • 语音超分辨率:把 16kHz 音频补到 48kHz,LSD(对数谱距离,越低越好)从2.80 降到 1.93,听感改善非常明显。
  • 真实使用量:FRCRN 去噪模型在 ModelScope 上已被调用超过300 万次,MossFormer 分离模型超过250 万次——这些数字本身就是口碑。

这些评测分数是怎么来的?项目自带的 SpeechScore 工具包,集成了 PESQ、STOI、DNSMOS、SI-SDR、NISQA 等 18 项主流语音质量指标。你处理完一段音频后,可以自己跑一遍评分,把"我觉得变好了"变成一组客观数字:

from speechscore import SpeechScore mySpeechScore = SpeechScore(['PESQ', 'STOI', 'DNSMOS', 'SISDR']) scores = mySpeechScore(test_path='去噪后的录音.wav', reference_path='原始干净录音.wav', window=None, score_rate=16000, return_mean=False) print(scores)

值得一提的是,DNSMOS、SRMR、NISQA 这类非侵入式指标不需要干净参考音频,只有一段处理结果也能打分,非常适合没有干净底稿的场景。

下一步:动手试一次,加入社区

现在轮到你了。最快的体验路径有三条,任选其一:

  1. 跑在线 Demo:项目在 HuggingFace 和 ModelScope 上都部署了在线体验空间,不用装任何东西,上传音频就能看到效果,适合先感受一下再动手。
  2. 跑本地示例:源码仓库里带了demo.pydemo_with_more_comments.pydemo_Numpy2Numpy.py三个演示脚本,从源码安装后直接运行,改改开关就能切换任务。想从源码安装的话,克隆命令是:
git clone https://gitcode.com/gh_mirrors/cl/ClearerVoice-Studio cd ClearerVoice-Studio/clearvoice pip install --editable .
  1. 带着自己的录音测试:找一段你最头疼的嘈杂录音,套用上面的最小示例跑一遍,听听输出文件——相信我,第一次听到"手术前后"的差异时,你会忍不住把家里所有旧录音都翻出来处理一遍。

如果你在使用的过程中遇到问题,或者想和做语音技术的同学交流,项目有官方钉钉交流群,扫描上面的二维码即可加入(群二维码会不定期更新,如果发现过期,去仓库 README 里找最新版本就行)。

语音处理不应该只是研究员桌上的论文实验。当一段差点被删掉的录音,经过几行代码重新变得清晰可辨时,那种"挽救了一段记忆"的满足感,就是技术最动人的样子。去试试吧。

【免费下载链接】ClearerVoice-StudioAn AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker Extraction, etc.项目地址: https://gitcode.com/gh_mirrors/cl/ClearerVoice-Studio

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询