资讯详情

资讯详情

建站行业动态 · 设计趋势 · 数字化升级干货

开源AI语音处理工具包ClearerVoice-Studio完整上手指南:语音增强、人声分离与音质修复一次讲清

开源AI语音处理工具包ClearerVoice-Studio完整上手指南:语音增强、人声分离与音质修复一次讲清 开源AI语音处理工具包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深夜十一点剪辑室的灯还亮着。你反复拖动进度条只为去掉采访素材里那层挥之不去的空调噪音隔壁朋友守着两小时的会议录音正为分辨四个说话人而发愁。这些听得见却听不清的瞬间正是开源 AI 语音处理工具包 ClearerVoice-Studio 想替你解决的问题——它把语音增强、人声分离、音质修复、目标说话人提取打包进统一接口几行代码就能跑通而且预训练模型开箱即用不必从零训练。如果你手里正攒着几条救了又不想放弃的音频或者你只是好奇现在的语音 AI 能做到什么程度这篇文章会从选型、安装、跑通、打分到进阶训练陪你完整走一遍。先认清自己的需求一张声音问题速查地图动手之前先对照下面的场景找自己的位置。ClearerVoice-Studio 提供的四大能力恰好对应了生活中最常见的四类声音困扰你手头的素材需要的功能推荐预训练模型录音里全是底噪人声发闷、发糊语音增强FRCRN_SE_16K、MossFormerGAN_SE_16K、MossFormer2_SE_48K几个人同时讲话混成一团语音分离MossFormer2_SS_16K老录音采样率低声音像隔着一层纱语音超分辨率MossFormer2_SR_48K一群人里只想留下某一位手头还有对应视频目标说话人提取AV_MossFormer2_TSE_16K找到你的那一行了吗接下来我们就一个场景一个场景地把它跑起来。场景一给声音戴上降噪耳机语音增强这是最常用也最直观的功能。所谓语音增强本质上就是给一段带噪音的录音降噪让说话声从背景里浮出来——你可以把它理解成给声音戴上一副降噪耳机。一条命令完成安装如果你只处理.wav文件最省事的方式是直接用 pip 安装推理模块pip install clearvoice如果你希望处理 MP3、AAC、FLAC、OGG 这类格式建议顺手装上 FFmpegWindows 用户下载静态构建后把 bin 目录加进 PATH 即可。想从源码安装、方便随时看代码的话也可以这样git clone https://gitcode.com/gh_mirrors/cl/ClearerVoice-Studio cd ClearerVoice-Studio/clearvoice pip install --editable .装完后进到clearvoice目录直接运行python demo.py就能看到工程自带的完整演示几个示例开关都写在文件里改成True即可逐个体验。用代码消除录音噪音下面这段是语音增强的最小可用示例每一步都加了注释from clearvoice import ClearVoice # 创建处理器任务选 speech_enhancement模型选全频带48kHz增强模型 enhancer ClearVoice(taskspeech_enhancement, model_names[MossFormer2_SE_48K]) # 单文件模式先把处理结果拿到手里再决定保存位置 cleaned enhancer(input_pathsamples/input.wav, online_writeFalse) enhancer.write(cleaned, output_pathsamples/input_cleaned.wav) # 批量模式传入目录工具会自动遍历里面的音频并把结果写回指定目录 enhancer(input_pathsamples/path_to_input_wavs, online_writeTrue, output_pathsamples/path_to_output_wavs)整个调用就三个要点task决定任务类型model_names决定用哪个模型input_path既可以是一个文件、一个目录也可以是一个.scp清单文件文件里逐行列出要处理的音频路径。online_write设为False时结果以波形数组返回方便你继续做二次处理。三个增强模型怎么选FRCRN_SE_16K轻量快速主打效率适合实时性要求高的场景。MossFormerGAN_SE_16KGAN 训练方案主观听感更自然适合追求效果与速度平衡的日常使用。MossFormer2_SE_48K全频带模型直接输出 48kHz 高保真结果适合对音质有要求的后期场景。一句话建议先拿MossFormer2_SE_48K试效果如果觉得显存或速度吃紧再退回两个 16kHz 模型。场景二把一段混音拆成两个人的独唱语音分离会议录音里两三个人同时开口、访谈里嘉宾和主持人叠词这种谁也听不清的混乱交给语音分离。它的任务是把混合语音里的不同说话人分别拆出来就像把一首多人合唱拆成一条条独唱轨。from clearvoice import ClearVoice # 创建分离器模型使用 16kHz 的 MossFormer2_SS_16K splitter ClearVoice(taskspeech_separation, model_names[MossFormer2_SS_16K]) # 单文件分离返回两个声源write 会自动按 s1 / s2 拆成两份文件 two_voices splitter(input_pathsamples/input_ss.wav, online_writeFalse) splitter.write(two_voices, output_pathsamples/output_ss.wav)跑完之后目录里会多出output_ss_s1.wav和output_ss_s2.wav分别对应两个说话人。这个模型在 LRS2-2Mix 测试集上的 SI-SNR 提升可以达到 15.5 dB 左右和许多专为单个数据集调优的方案相比它作为统一模型的表现已经很能打。想批量处理一堆混音把input_path换成目录并开启online_writeTrue即可。场景三让老录音重新长出高频细节语音超分辨率✨有些年代久远的录音采样率只有 16kHz、24kHz 甚至 8kHz听感像蒙了层纱高频细节全被截掉了。语音超分辨率做的就是频带扩展——把低采样率音频补回 48kHz相当于给老录音做一次高清修复。from clearvoice import ClearVoice # 创建修复器把低采样率音频提升到 48kHz fixer ClearVoice(taskspeech_super_resolution, model_names[MossFormer2_SR_48K]) upscaled fixer(input_pathsamples/input_sr.wav, online_writeFalse) fixer.write(upscaled, output_pathsamples/output_sr_48k.wav)有个小技巧值得记住如果这段老录音本身还带噪音最好先把增强和超分串起来用——先用MossFormer2_SE_48K去掉噪音再用MossFormer2_SR_48K做频带扩展。项目自带的演示脚本里就有这种两段式串联的写法实测对 PESQ 这类指标的提升非常明显。场景四在嘈杂人群里只锁定那一个声音目标说话人提取这是最科幻的一个功能当一段视频里有好几个人同时说话而你只想留下其中某一位的声音时模型会利用视频里的口型画面作为参考线索把目标说话人的声音从混合语音中抠出来。它不要求你提前提供目标人声样本只要画面里能看到说话人的脸。from clearvoice import ClearVoice # 音频-视觉联合的目标说话人提取模型为 AV_MossFormer2_TSE_16K extractor ClearVoice(tasktarget_speaker_extraction, model_names[AV_MossFormer2_TSE_16K]) # 传入视频目录处理后得到只保留目标说话人的新视频 extractor(input_pathsamples/path_to_input_videos_tse, online_writeTrue, output_pathsamples/path_to_output_videos_tse)注意这个任务的输入是视频而不是纯音频支持的视频格式包括.avi、.mp4、.mov、.webm。一键评估音频质量用 SpeechScore 给结果打分听起来变干净了是主观感受但如果你想把效果写进报告、对比不同模型或者验证自己微调后的模型有没有变好就需要客观指标。项目里的 SpeechScore 模块把 16 种常用语音质量指标收进了同一个接口你只需要声明要哪些指标import pprint from speechscore import SpeechScore # 想要哪些指标就列哪些PESQ / STOI / DNSMOS / SISDR 是常用组合 scoreboard SpeechScore([PESQ, STOI, DNSMOS, SISDR]) # test_path 是处理后的音频reference_path 是干净参考 result scoreboard(test_pathaudios/noisy.wav, reference_pathaudios/clean.wav, windowNone, # 不切片整段打分 score_rate16000, # 统一按 16k 采样率计算 return_meanFalse) pprint.pprint(result)几个指标的含义大致是PESQ模拟人耳打分范围约 1~4.5越高越好STOI衡量语音可懂度0~1SI-SDR衡量信号与失真的比值dBDNSMOS是无需干净参考的非侵入式评分适合没有标准答案的场景。事实上 DNSMOS、NISQA、SRMR、DISTILL_MOS 这几项都属于非侵入式指标把reference_path留空就能单独评估。评测脚本在speechscore/demo.py跑一遍就能看到全部指标的输出格式。进阶玩法想训练属于自己的模型从 Train 目录开始如果你不只是想用现成模型而是打算在自有数据上微调甚至从头训练项目里还带了一套完整的训练框架覆盖语音增强、语音分离、语音超分辨率、目标说话人提取四个方向例如train/speech_enhancement/就支持 FRCRN_SE_16K、MossFormerGAN_SE_16K、MossFormer2_SE_48K 三种模型的训练与微调。基本流程大致是克隆仓库后创建 conda 环境并安装依赖 → 准备训练数据写成.scp清单文件训练集和验证集各一份可以参考train/speech_enhancement/data/下的现成示例→ 修改config/train/下的 YAML 配置把数据清单路径填进去 → 运行bash train.sh启动训练脚本里的network、train_from_last_checkpoint、init_checkpoint_path三个变量分别控制模型选择、断点续训和微调起点。如果你连训练数据都没有train/data_generation/里还提供了造数据脚本可以给干净语音混入噪音、叠加房间混响自动生成带噪-干净训练对。运行环境与效率小贴士硬件怎么选单纯推理4GB 以上显存的 GPU 就能带动绝大多数预训练模型要做训练或微调建议 8GB 起步如果打算大批量并行处理16GB 以上会更从容。没有 GPU 时CPU 也能跑只是速度会慢不少。长音频怎么处理超过 5 分钟的音频建议先切成 30~60 秒的片段再处理既方便监控进度也能避免显存峰值过高批量处理时优先使用目录模式把待处理文件统一放进一个文件夹一次性跑完处理期间记得留意显存占用别让机器同时跑太多任务。格式与系统.wav是原生支持格式不需要额外依赖.mp3、.aac、.flac、.ogg、.aiff等格式依赖 FFmpeg 做转换工具包本身跨平台Windows、macOS、Linux 都可以安装使用。让第一条干净的声音从今晚开始现在你手里的信息已经足够跑通一个完整流程装好环境、选对功能、跑一条音频、再用 SpeechScore 给它打上客观分数。如果你想要更多对照样本仓库的samples/目录里已经准备好了各类格式的输入音频、混合语音甚至还有用于目标说话人提取的演示视频。别让这些功能停留在阅读列表里。打开终端装好依赖把demo.py里感兴趣的任务开关打开亲手听一听降噪前和降噪后的差别——那种从一团噪声里捞出一句清晰人声的瞬间是任何参数表都给不了的体验。如果你跑出了不错的效果或者训练出了自己的模型也欢迎把经验带回社区让这个工具包因为你的使用而变得更好。【免费下载链接】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),仅供参考

相关资讯