ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Amphion 中 RawNet3 预训练模型的下载、放置与说话人相似度评估实战

Amphion 中 RawNet3 预训练模型的下载、放置与说话人相似度评估实战 音频语音媒体生成深度学习【免费下载链接】AmphionAmphion (/æmˈfaɪən/) is a toolkit for Audio, Music, and Speech Generation. Its purpose is to support reproducible research and help junior researchers and engineers get started in the field of audio, music, and speech generation research and development.项目地址https://gitcode.com/GitHub_Trending/am/Amphion点击查看免费下载本指南围绕 Amphion 的 RawNet3 预训练模型说明 展开系统讲解如何在 Amphion 中获取基于 VoxCeleb1/VoxCeleb2 训练的 RawNet3 官方权重、将其放置到正确目录并借助 Amphion 的评估流水线以rawnet作为说话人嵌入提取器完成生成语音与参考语音的说话人相似度Speaker Similarity客观评测。读完本文你将掌握 RawNet3 权重在仓库中的完整落地路径以及从命令行一键运行相似度指标的全部参数细节。一、RawNet3 在 Amphion 中的定位RawNet3 是一个基于原始波形raw waveform输入的说话人识别/验证模型属于 Raw 系列网络——它不依赖手工设计的声学特征如 MFCC、Fbank而是直接以 16kHz 单声道波形作为输入通过可学习的前端滤波器与残差网络提取说话人嵌入speaker embedding。在 Amphion 中RawNet3 并不是训练管线的一部分而是作为评估Evaluation环节的预训练依赖模型存在。仓库根目录 README.md 在介绍客观评估指标时明确指出说话人相似度Cosine similarity可以基于 RawNet3、Resemblyzer、WeSpeaker、WavLM 等模型计算同时 pretrained/README.md 将 RawNet3 列为 Amphion 的预训练模型依赖之一。因此RawNet3 权重文件属于按需下载、随评估脚本加载的第三方资源本文档所在目录即其约定存放位置。二、下载 RawNet3 预训练权重根据 rawnet3 目录说明RawNet3 的官方预训练检查点托管在 Hugging Face 上的jungjee/RawNet3仓库即 RawNet 原作者 Jungjee 发布的官方权重其预训练数据集为VoxCeleb1VoxCeleb2这两个数据集是说话人识别领域的常用大规模语音数据集包含大量不同说话人的自然语音片段。基于它们训练得到的 RawNet3 权重具有较强的说话人判别能力因此被 Amphion 选用为说话人相似度评估的嵌入模型之一。下载时只需获取其中的model.pt文件无需下载整套推理代码或额外配置——Amphion 已在评估模块中内置了与官方权重配套的网络结构定义。三、文件放置与目录结构拿到model.pt后必须将其放入 Amphion 仓库的pretrained/rawnet3目录最终目录结构应为Amphion ┣ pretrained ┃ ┣ rawnet3 ┃ ┃ ┣ model.pt该约定在 pretrained/README.md 中有明确说明且被源码硬编码引用评估模块 speaker_similarity.py 中加载权重的路径为pretrained/rawnet3/model.pt并取其中的model键作为state_dictmodel.load_state_dict( torch.load( pretrained/rawnet3/model.pt, map_locationlambda storage, loc: storage, )[model] )需要特别指出的是权重文件必须命名为model.pt且放置在仓库根目录相对路径pretrained/rawnet3/下否则评估脚本将因找不到文件而报错。如果你的工程实际运行时是从其他工作目录启动请确保该相对路径在当前工作目录下仍然成立Amphion 的 egs/metrics/run.sh 会把PYTHONPATH设置为仓库根目录。四、源码级确认RawNet3 如何被加载与使用RawNet3 的嵌入提取与相似度计算实现在 evaluation/metrics/similarity/speaker_similarity.py 中。当--similarity_model rawnet被指定时脚本会以如下超参构建模型参数取值说明model_scale8Bottle2neck 残差块的缩放系数contextTrue是否拼接全局统计均值/方差作为上下文summedTrue是否使用求和形式的跨层残差连接encoder_typeECA注意力类型ECA/ASPnOut256输出说话人嵌入维度out_bnFalse输出前是否经过 BatchNormsinc_stride10Sinc 前端滤波器的步长log_sincTrue是否对滤波输出取对数norm_sincmeanSinc 输出的归一化方式上述参数与 RawNetModel.py 中MainModel(**kwargs)的默认结构Bottle2neck, model_scale8, contextTrue, summedTrue一致保证了与官方权重完全匹配的模型结构。在嵌入提取函数extract_rawnet_speaker_embdspeaker_similarity.py中有以下关键处理流程单声道校验只接受单声道音频多声道输入会直接抛出ValueError重采样非 16kHz 的音频会通过librosa.resample统一重采样到 16kHzRawNet3 的固定输入采样率长度处理若音频短于指定窗口长度n_samples48000即 3 秒 16kHz则用 wrap 方式循环补齐分帧取段在整段音频上均匀取n_segments10个长度为 3 秒的片段逐一过模型嵌入输出取 10 个片段嵌入向量的均值作为该音频的说话人嵌入。最后通过余弦相似度F.cosine_similarity计算参考音频与生成音频的嵌入相似度得到最终评分speaker_similarity.py。五、实战用 RawNet3 跑说话人相似度评估Amphion 提供了一键评估脚本 egs/metrics/run.sh。在运行前需按 egs/metrics/README.md 的要求准备两组音频┣ {ref_dir} # 参考音频真实语音 ┃ ┣ sample1.wav ┃ ┣ sample2.wav ┣ {gen_dir} # 生成音频待评测语音 ┃ ┣ sample1.wav ┃ ┣ sample2.wav关键约束成对评估时参考音频与生成音频必须同名sample1 对 sample1、sample2 对 sample2。随后在 Amphion 仓库根目录执行sh egs/metrics/run.sh \ --reference_folder [你的参考音频目录] \ --generated_folder [你的生成音频目录] \ --dump_folder [结果输出目录] \ --metrics similarity \ --similarity_model rawnet \ --similarity_mode pairwith其中各参数的含义如下参数取值说明--reference_folder必填参考音频目录--generated_folder必填生成音频目录--dump_folder必填客观评估结果输出目录--metrics必填如similarity要计算的指标可空格分隔多个如mcd pesq fad similarity--similarity_modelrawnet/wavlm/resemblyzer相似度嵌入模型默认wavlm选 RawNet3 必须显式传rawnet--similarity_modepairwith/overallpairwith计算同名参考/预测音频对逐对相似度overall计算两个目录间所有可能组合的平均相似度内容无关默认pairwith注意由于默认模型是wavlm见 run.sh要使用 RawNet3 必须显式指定--similarity_model rawnet。若手头没有同内容的参考音频对可用--similarity_mode overall计算内容无关的整体相似度sh egs/metrics/run.sh \ --reference_folder [你的参考音频目录] \ --generated_folder [你的生成音频目录] \ --dump_folder [结果输出目录] \ --metrics similarity \ --similarity_model rawnet \ --similarity_mode overall底层执行时run.sh 会调用bins/calc_metrics.py其中similarity指标被注册并路由到extract_similarity函数calc_metrics.py再依据similarity_model参数分派到 RawNet3 分支。六、附录RawNet3 结构速览供调试参考若你希望验证权重加载或自行扩展可从以下源码文件入手RawNetModel.py定义RawNet3主干——依次为PreEmphasisInstanceNorm1d预处理、ParamSincFB可学习 Sinc 滤波器C//4256个滤波器、核长 251作为前端、三层 Bottle2neck 残差模块、Conv1d聚合、统计池化加权均值mu与加权标准差sg以及全连接层fc6RawNetBasicBlock.py实现PreEmphasis预加重系数 0.97、AFMSAlpha-Feature map Scaling 模块与Bottle2neck多分支 1D 空洞卷积残差块。一个值得留意的实现细节是 RawNetModel.py 中forward将预处理阶段放在torch.cuda.amp.autocast(enabledFalse)下执行即 Sinc 前端部分始终以 FP32 精度计算以避免 AMP 混合精度对前端滤波数值稳定性的影响——这对复现评估结果的一致性有实际意义。七、注意事项小结文件命名与位置必须为pretrained/rawnet3/model.pt权重键为model与 speaker_similarity.py 的加载逻辑严格对应输入约束RawNet3 只接受单声道、16kHz 波形评估脚本会自动重采样与长度补齐但多声道文件会直接报错显式指定模型相似度默认模型是wavlm使用 RawNet3 需加--similarity_model rawnet离线环境RawNet3 权重下载自 Hugging Face 外部托管仓库若网络受限需提前下载放入指定目录其余评估依赖模型的离线处理方式可参考 egs/metrics/README.md 与 pretrained/README.md。综上RawNet3 在 Amphion 中的完整用法可概括为一条链路下载model.pt→ 放入pretrained/rawnet3/→ 在run.sh中指定--similarity_model rawnet→ 获得说话人余弦相似度评分。这条链路既可直接用于论文中的客观指标复现也可作为你构建自定义说话人相似度评测的参考范本。赞分享音频语音媒体生成深度学习【免费下载链接】AmphionAmphion (/æmˈfaɪən/) is a toolkit for Audio, Music, and Speech Generation. Its purpose is to support reproducible research and help junior researchers and engineers get started in the field of audio, music, and speech generation research and development.项目地址https://gitcode.com/GitHub_Trending/am/Amphion点击查看免费下载相关推荐ESPnet 说话人识别实战基于 VoxBlink 数据集的 RawNet3 声纹模型训练与复现指南ESPnet 说话人识别实战基于 VoxBlink 数据集的 RawNet3 声纹模型训练与复现指南 本文是基于 ESPnet 开源语音处理工具包中 egs2人工智能语音音频深度学习NLP使用 Gensim Downloader API 下载预训练模型与语料库从 text8 到 Word2Vec 相似度实战使用 Gensim Downloader API 下载预训练模型与语料库从 text8 到 Word2Vec 相似度实战 本篇技术指南完整讲解 Gensim人工智能NLP机器学习深度学习ESPnet2 说话人验证实战RATS 数据集上的 SKA-TDNN 模型训练与 EER/minDCF 评估ESPnet2 说话人验证实战RATS 数据集上的 SKA TDNN 模型训练与 EER/minDCF 评估 本文以 ESPnet egs2/rats/sp人工智能语音音频深度学习NLP上一篇静态网站性能优化终极指南如何用Instatic实现企业级解决方案下一篇Simple TensorFlow Serving企业级部署高可用、负载均衡与自动扩展方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表