英文题目:FCPE: A Fast Context-based Pitch Estimation Model
会议身份:
conference:interspeech:2026:conference-paper-id:luo26_interspeech
来源为官方会议 PDF;图片依据原页像素,表格数字依据原文引用。PDF 文字层不视为原始 TeX,未可靠恢复的结构不作推断。
标签:#CNN #高效推理 #鲁棒性 #音高与旋律提取
评分:5.8/10 | 创新 1.0/2 | 技术严谨 1.0/1.5 | 实验充分 1.0/1.5 | 清晰度 0.7/1 | 影响力 1.0/1.5 | 开源 0.0/1.5 | 可复现 0.1/0.5 | 工程/实践 1.0/1.5
排名:前50% | 文档类型:模型报告
👥 作者与机构
- Yuxin Luo:机构信息未能从会议 PDF 纯文本可靠映射
- Ruoyi Zhang:机构信息未能从会议 PDF 纯文本可靠映射
- Lu-Chuan Liu:机构信息未能从会议 PDF 纯文本可靠映射
- Tianyu Li:机构信息未能从会议 PDF 纯文本可靠映射
- Hangyu Liu:机构信息未能从会议 PDF 纯文本可靠映射
📌 核心摘要
单声部基音估计需由含噪人声波形输出逐帧基频轨迹,难点在于噪声鲁棒性与计算效率难以兼得,强噪声下时频线索易被淹没。本文提出快速上下文基音估计模型FCPE,其方法链分三步衔接:先将16kHz波形转为对数梅尔谱并经浅层一维卷积嵌入为高维序列,为时序建模提供紧凑输入;再将该序列送入堆叠轻量卷积块,以深度可分离卷积扩大时域感受野并结合频谱掩码迫使模型利用前后帧上下文推断;最后由线性层输出360类音分概率并以峰值邻域加权平均解码为基频。与RMVPE重型U-Net不同,该通道解耦设计在不大幅增加参数下保留长时依赖,掩码训练是其噪声下保持连续跟踪的关键。在 MIR-1K 干净集上 FCPE 达到 96.79% 粗音高准确率(Raw Pitch Accuracy,RPA),与 RMVPE 的 97.77% 和 CREPE 的 97.90% 基本可比,实时因子(Real-Time Factor,RTF)低至 0.0062。在MIR-1K干净评测条件下,FCPE的准确率为96.79%,低于RMVPE的准确率97.77%。该结论的适用边界受限于训练泄漏与强噪声失败条件,在TONAS真实噪声0dB下FCPE为76.83%,落后RMVPE的86.56%约9.73个百分点,在-20dB下多类噪声均大幅退化。训练真值来自可微分数字信号处理(Differentiable Digital Signal Processing,DDSP)重合成的 M4Singer 与 VCTK,推理速度仅在单张 RTX 4090 GPU 上测量。就部署而言,该单卡测得的推理开销与硬件吞吐外推尚未验证,极低信噪比与跨设备延迟仍受限。
🔗 开源与复现资源
- 第三方资源:https://github.com/maxrmorrison/torchcrepe — 链接可访问(HTTP 200)
- 第三方资源:https://github.com/yxlllc/RMVPE — 链接可访问(HTTP 200)
- 第三方资源:https://github.com/SonyCSLParis/pesto — 链接可访问(HTTP 200) 可达状态仅表示本次链接检查结果,不代表许可证、本文权重或运行复现已验证。
🧭 深度解读
单声部基频估计要解决什么输入输出问题?
输入是一段单声部的波形,可能是清唱,也可能是朗读,目标是逐帧给出基频,也就是常说的 f0。白话说,模型要听出每一小段时间里人声振动最基础的那个频率是多少,再决定该帧有没有可信的音高。英文名是 pitch estimation 或 fundamental frequency estimation,后文简称基频估计。必须保留的信息是时间对齐,输出帧率要和输入帧一一对应,不能只给整句一个平均音高,还要给出无声帧的判断,否则下游的 MIDI 转录会把休止符写成错音,歌声转换会把气口唱成怪音。
输出在本文被定义成两步,先是每帧在 360 个音分仓上的概率,再是解码后的连续频率值加有无声门限。初学者容易把响度大等同于音高明显,实际上噪声大时能量高的频带可能是鼓点或空调声,基频估计要的是周期性对应的谐波结构,不是总能量最大处。
基频估计 × 粗音高准确率: 基频估计负责从单声部波形中逐帧恢复基频 f0,是 MIDI 转录和歌声转换的上游;粗音高准确率负责判定估计值是否落在真值容差内,是本文比较精度的主标尺,二者搭配把听感上的跑调问题转成可计数的帧级分类正确率来优化和对比。
另一个容易混淆的点是多声部,本文只讲单声部人声为主的任务,不处理同时有两个歌手各唱各调的分离问题。论文把应用锚定在 MIDI 转录和歌声转换,这决定了对延迟和噪声鲁棒的要求,实验室里干净录音的高分不等于直播或手机录音可用。后续所有速度和抗噪讨论都围绕这个输入输出约定展开,先把任务边界固定,再看方法如何取舍。
传统三路方法和深度三代模型各留下什么包袱?
传统方法按论文归纳可分成 3 类。时域方法直接在波形上找周期,代表是自相关函数,英文为 Autocorrelation Function,后文简称自相关法,它算的是波形延迟复制后和自己的相似度,峰的位置对应周期。频域方法先把信号变到频域看谐波,代表是倒谱法,英文为 cepstrum,它试图把声门激励和声道滤波分开,露出基频。混合方法两边都用,代表是 YIN 和 YAAPT,YIN 在自相关上加误差修正,YAAPT 把谱谐波和时域跟踪显式结合。
这类方法的优点是无须训练、逻辑透明,缺点是论文明确指出的怕噪声、怕复调,强噪声下周期峰会被干扰峰淹没。 深度学习把基频估计转成帧级分类或回归。论文点名的早期代表是 CREPE、DeepF0 和 HARMOF0,它们用卷积神经网络或循环神经网络,英文为 Convolutional Neural Network 和 Recurrent Neural Network,后文简称卷积网和循环网,从波形或谱中直接学映射,准确率和鲁棒性上建立了新基准。再往后是 RMVPE,它借用 U-Net 这类更复杂的结构把性能推到新高,但计算量和延迟也跟着上去,实时应用受限。
另一条线是 PESTO,参数极小,强调自监督和移调等变,速度占优但在部分集和噪声下精度有起伏。传统信号处理基线在本文还保留了 PM 和 Harvest,用于说明无训练方法在干净条件下可用、强噪声下快速失效。同输入同目标的对照应该是同样逐帧输出 f0、同样在 16 kHz 重采样下测粗音高准确率,跨类别不能只看参数量大小就断言优劣,还要看训练数据是否见过测试集。
为什么准确和实时在这里是矛盾的?
矛盾来自两件事都要上下文。想抗噪就要看前后帧,单帧被噪声盖住时能从邻居补回来,这要求模型有足够感受野或记忆。想实时就要每步算得少、等得短,不能为了看很远的未来而引入大延迟,也不能用动辄几十上百兆参数的大卷积反复扫全句。RMVPE 的选择是把结构做重,精度上去了,计算量也上去了。CREPE 的选择是直接对波形做大卷积,精度不错,但浮点运算量大,论文报告的实时因子远高于 1 的反方向,即远慢于实时。
PESTO 把参数压到 0.13M 量级,速度快了,但在部分语音合成集和有色噪声下会掉精度。FCPE 要回答的是,能否用轻量卷积保持足够的上下文覆盖,同时用训练策略补上因模型变小而丢失的鲁棒性。例子是遮住 1 帧谱只看前后帧猜音高,人能靠旋律走向猜个大概,模型也应该被训练成这样,而不是只记单帧峰形。这个例子只说明上下文的用途,不附带任何数值承诺。
FCPE 让一个样本走完输入到输出需要哪三站?
先走一个样本的全程。输入是 16 kHz 采样的波形,按 1024 点窗长、160 点帧移算对数梅尔谱,频率维固定为 128。论文把任务形式化为从 T 乘 128 到 T 乘 360 的映射,T 是梅尔帧数,360 是音高仓数,输出矩阵是逐帧的音高概率。第一站是输入表示加浅层嵌入,浅层 1 维卷积把 128 维谱映射成高维向量序列,可选的可学习谐波嵌入会显式增强谐波特征,再送入主干。第二站是堆叠 N 个的轻量卷积块主干,负责时间方向的上下文建模,块内有深度 1 维卷积抓局部模式、逐点卷积管通道维度、残差连接帮助训深网。第三站是输出级,线性层把精炼后的序列投到 360 维概率,再用局部加权平均解码得到最终 f0,而不是简单取最大仓。
对数梅尔谱 × 音高概率矩阵: 对数梅尔谱负责把 16 kHz 波形压缩成随时间变化的 128 维对数频率能量,保留谐波包络并降低采样点维度;音高概率矩阵负责对每 1 帧输出 360 个音分仓的概率,刻画当前帧最可能是哪个音高,二者搭配把变长音频转成等长帧序列再转成逐帧可解码的分类分布。
读图之前要先建立预期,主路径一定是从下往上,底部是波形和谱,顶部是概率和 f0,中间的重复块是算力主要花销处,右侧展开图是单个块的内部顺序。带着这个预期去看原图,就能把像素和文字对应起来。
看图路径: 1. 先从底部波形框向上看梅尔谱框,确认输入是 16 kHz 波形转成的谱;2. 再看中间虚线 CNN Blocks 乘 N 的堆叠,确认主干是重复块;3. 展开右侧细节块,逐个读出归一化、卷积、门控、深度卷积、激活的顺序;4. 最后向上看概率矩阵到预测 f0,确认输出是先分布后解码
论文图 1。原论文 Figure 1:“Overall architecture of FCPE.”。
这张总体结构图从像素上可以这样读,左侧纵向是波形到梅尔谱到卷积块堆叠再到概率矩阵最后到预测 f0,箭头自下而上,右侧是单个卷积块的放大,纵向依次是层归一化、1 维卷积、门控单元、深度 1 维卷积、激活、再 1 维卷积,顶部有残差加号回路。这说明主干的每一块都先规范化再做通道混合和深度时间滤波,最后残差相加,堆叠 N 次后感受野随深度变长。教学上要记住,速度省在深度可分离这一步,精度保在堆叠带来的上下文这一步,二者是同一主干的两个侧面。
轻量卷积块里谁管省算力谁管看前后?
块的设计灵感在论文中写明借自 Conformer 中的卷积模块,但为本任务做了精简。白话说,普通 1 维卷积是时间邻居和通道混合一起算,参数和乘加数都大。深度可分离卷积是拆开算,深度卷积只在时间方向对每个通道各自滑窗,逐点卷积只在通道方向做混合,前者管看前后,后者管调维度。英文为 depthwise separable convolutions,后文简称深度可分离卷积。门控线性单元英文为 Gated Linear Unit,后文简称门控单元,负责按门控筛选信息,Swish 是平滑激活,层归一化英文为 LayerNorm,负责稳定深网训练。残差连接让梯度更容易流过多个块,堆深而不易退化。
深度可分离卷积 × 长上下文建模: 深度可分离卷积负责把普通卷积拆成逐通道的深度卷积加逐点的通道混合,用更少计算抓局部时频纹理;长上下文建模负责让被遮挡或被噪声淹没的帧从前后帧找可靠线索,二者搭配的理由是轻量结构堆叠后仍有足够感受野,既省算力又能在缺失帧时做上下文补全。
输出解码也属于组件。模型输出是对 360 个音分仓的概率向量,仓的定义以 10 Hz 为参考,每 20 音分一档,从 C1 到 B7 覆盖 6 个八度,对应 32.70 Hz 到 1975.5 Hz,每半音 100 音分,所以分辨率是五分之一个半音。训练用二元交叉熵,英文为 BCE loss,目标向量按 CREPE 论文的定义构造,不是独热硬标签。推理时若最大概率低于 0.05 则判为无声,否则在峰值前后各 4 仓做加权平均得到音分,再转回赫兹。这种局部平均比单点取最大更稳,因为峰附近的概率形状携带了亚仓精度的信息,噪声下单点抖动大,加权能平滑。
训练真值和三种增强是按什么顺序加上的?
训练数据不是人工逐帧标的,而是用可微数字信号处理重合成的。英文为 Differentiable Digital Signal Processing,后文简称 DDSP 重合成。做法是拿 M4Singer 和 VCTK 的原音频和乐谱信息,用 DDSP 重合成出波形,真值 f0 来自合成过程的客观参数,从而避开人工标注的主观误差。评估时另用 THCHS30 测试集重合成的 THCHS30-Synth,覆盖从歌唱到朗读的语音数据,所有音频重采样到 16 kHz 再测。论文没有给出优化器、学习率、轮数、批量大小的完整清单,这部分是缺项,复现时不能从模型名推定,只能按自有预算先跑通流程再对齐精度。
监督来源是明确的,即 DDSP 给出的逐帧真值经 CREPE 式软标签构造后送入 BCE 损失,梯度路径按常规分类训练理解,原文未单独说明停止梯度或特殊冻结。 3 种增强按管线顺序是先波形后谱面。第一步随机移调,直接在波形上改变音高分布,补训练集音域窄的问题。第二步叠噪声,白噪声、有色噪声、真实环境噪声都加,增强噪声鲁棒。第三步在梅尔谱上随机掩码,分空白掩码和高斯掩码两种,强迫模型用上下文推断被遮帧。
频谱掩码 × 噪声增强: 噪声增强负责在波形上叠加白噪声、有色噪声和真实环境噪声,逼模型见过脏输入;频谱掩码负责在梅尔谱上随机挖掉空白块或高斯块,逼模型不依赖单帧孤立峰,二者搭配是一脏一缺,前者扩噪声分布,后者强制使用上下文,组合后在低信噪比下仍能维持跟踪。
看训练策略图时,先确认数据流向是从波形经增强到谱再到模型最后到预测值,虚线回指真值表示有监督。
看图路径: 1. 先从底部波形经增强条带向上看,确认噪声和移调发生在谱之前;2. 再横向数梅尔帧与掩码块交替出现的位置,确认缺失是随机分散的;3. 最后向上看 FCPE 到预测 f0 再对真实 f0 虚线,确认监督来自重合成真值
论文图 2。原论文 Figure 2:“Details of training strategies.”。
这张图从像素上读,底部是波形条,上一层是随机噪声和移调增强条,再上是横向排开的梅尔帧与高斯掩码、空白掩码交替的方块,中间是 FCPE 大框,顶部是预测 f0 再虚线对真实 f0。这正好对应先脏化波形、再挖掉谱块、最后用上下文补回来的教学逻辑。缺失不是连续一大段,而是分散小块,这样模型既能看到邻居,又不至于完全丢失整句走向。
对比实验测什么、在什么条件下才算公平?
要回答的问题有两组,一是准不准、抗不抗噪,二是快不快、省不省算力。对比对象是 RMVPE、CREPE、PESTO、PM 和 Harvest,共 5 个,深度模型都用公开预训练权重直接测。数据集是 MIR-1K、Vocadito、TONAS 加 THCHS30-Synth,覆盖独唱、歌声和朗读,统一重采样到 16 kHz。噪声条件分白噪声、粉噪声和来自 CHiME 的真实环境噪声,信噪比设干净、20 dB、0 dB、负 20 dB 多档。指标是粗音高准确率,英文为 Raw Pitch Accuracy,后文简称粗准确率,方向是越高越好。
论文注明每项测 5 次取平均,波动小于 0.05 个百分点,还提醒 MIR-1K 被 RMVPE、CREPE、PESTO 训练见过,所以它们在该集上高分是预期的,不能单凭这一集断全局。 速度指标是实时因子,英文为 Real-Time Factor,后文简称实时因子,定义是处理耗时除以音频时长,远小于 1 才算可实时。还算了处理 1 秒音频所需的浮点运算量,英文为 FLOPS,越低表示推理越省。测试硬件是单张 RTX 4090。公平条件的关键是同一采样率、同一指标、同一硬件下比,噪声类型和信噪比要逐格对齐,不能拿干净集的高分去比噪声集的低分。
未报告的是统计显著性检验和延迟的分布尾部,只给了均值和可忽略的方差,复现时要自己补多次运行的标准差和不同音频时长的分段计时。
| 条件 | 指标 | 聚合口径 | 重采样 | 运行硬件 |
|---|---|---|---|---|
| 干净与多档信噪比 | 粗准确率越高越好 | 测 5 次取平均 | 16 kHz | 单张 RTX 4090 |
| 真实与合成噪声 | 实时因子越低越好 | 处理耗时除以音频长 | 16 kHz | 单张 RTX 4090 |
| 跨歌唱朗读集 | 浮点运算量越低越好 | 处理 1 秒音频所需 | 16 kHz | 单张 RTX 4090 |
表前这段已经提出比较问题与公平条件,表中把协议要素收拢,表后还要解释收益与代价。
协议表的意义是让后来者先对齐采样率、聚合方式和硬件,再谈数字高低,否则跨论文的数字不可比。它的局限是只覆盖了论文明确写出的要素,优化器、批量、阈值等缺项仍需在复现节单独记账。
附录:数字口径与聚合方式如何核对?
核对数字要五项一起看,数据集、模型与权重、实验阶段、指标与单位、聚合对象,缺一项就先记缺项。粗准确率是百分比,越高越好,实时因子是比值,越低越好,浮点运算量单位是 GFLOPS,音域单位是 Hz,信噪比单位是 dB,噪声颜色用贝塔区分。百分点和相对百分比不同,29.8% 更宽是相对增量,不是 29.8 个百分点。不同指标的差值不能放到同一列下比,自动指标也不能当人评。论文有两处易错,一是 MIR-1K 被部分对照见过,二是平均分掩盖了极端格的反转,核对时要逐格看表,不能只看干净列。
| 核对项 | 原文交代 | 未交代需自补 |
|---|---|---|
| 数据划分 | 重合成训练,另合成 THCHS30-Synth 评估 | 合成参数版本 |
| 采样与谱 | 16 kHz,窗长 1024 帧移 160 | 窗函数类型 |
| 指标聚合 | 5 次平均,波动小于 0.05% | 分层标准差 |
| 硬件预算 | 单张 RTX 4090 | CPU 与流式延迟 |
| 开源状态 | 3 个第三方权重地址当前可用 | 权重哈希 |
表前这段提出核对什么、按什么方向读,表中把已交代和待补项并列,表后要说明这张表不能替代结果表。它只管协议和口径,不管谁赢,作用是防止把采样率不同、聚合不同的数字直接比。
复现时先把这张表的待补列填满,再跑精度和速度,否则数字对上了也可能是口径没对上。
主结果在哪些集上站住、在哪里没赢?
先看干净与中等噪声下的站位。在 MIR-1K 干净条件下 FCPE 报告 96.79%,与最优的传统深度模型差距在 1 到 2 个百分点内,考虑到 MIR-1K 被多个对照见过,这个差距是可接受的。在 THCHS30-Synth、Vocadito、TONAS 的干净和 20 dB 条件下,FCPE 多在 95% 到 97% 区间,和 RMVPE 互有胜负,没有被拉开。在 0 dB 真实环境噪声下,FCPE 在 MIR-1K 约 90.59%,在 THCHS30-Synth 约 80.51%,仍可用,但 RMVPE 在同格更高,说明复杂大模型在中度真实噪声下还有余量。极端负 20 dB 下所有模型都大幅下跌,FCPE 在白噪声 MIR-1K 约 29.75%,RMVPE 约 43.63%,CREPE 只剩约 1%,这说明极端条件谁都难,但相对排序会变化,不能把平均趋势推广到每一格。
速度是 FCPE 最硬的证据。论文报告实时因子 0.0062,约为 RMVPE 的 5.3 倍快、PESTO 的 2.6 倍快、CREPE 的 77 倍快,浮点运算量也最低。参数量 FCPE 为 10.64M,RMVPE 为 90.42M,CREPE 为 22.24M,PESTO 仅 0.13M,这组对比说明快不只靠参数少,还靠结构对推理友好,PESTO 参数更少但实时因子仍高于 FCPE。未胜出项要明说,在 0 dB 粉噪声的 TONAS 等格,RMVPE 仍领先约十几个百分点,在负 20 dB 白噪声 MIR-1K,RMVPE 也高于 FCPE。教学结论是 FCPE 用小幅精度交换大幅速度,适合实时歌声转换和大批量处理,不适合把极端信噪比下的最高分当唯一目标的场景。
| 对比维度 | 指标方向 | FCPE 报告 | 主要对照 | 结论 |
|---|---|---|---|---|
| 单卡实时因子 | 越低越好 | 0.0062 | 约为 RMVPE5.3 倍快,PESTO2.6 倍快,CREPE77 倍快 | 明显更快 |
| 极端白噪声 | 越高越好 | 29.75% 对 6.19% | 去噪声增强版本 | 噪声增强最关键 |
表前这段提出了精度与速度是否同时成立的问题,并固定了数据集、噪声和硬件条件,表中把核心数字收拢,表后需要讲代价与反例。
这个整理表的数字都来自正文连续原句的逐字证据,百分号与单位保留原文写法,不做四舍五入。它的作用是让读者一眼看到最强证据在速度、最弱处在极端噪声,而不是只记住平均分。
拿掉噪声、掩码、移调后各发生什么?
消融在 MIR-1K 上做,噪声颜色用贝塔参数区分,白噪声、粉噪声、布朗噪声、紫噪声都测,信噪比同样拉到负 20 dB 看极限。完整策略是三者全开,3 个变体每次只拿掉一种。拿掉噪声增强后,干净集只掉约 0.1 个百分点,但在负 20 dB 白噪声下从 29.75% 掉到 6.19%,说明干净分几乎不受影响,抗噪能力几乎腰斩,这是全文最陡的下跌。拿掉谱掩码后,负 20 dB 粉噪声下掉到 4.81%,甚至低于拿掉噪声增强的 6.00%,论文据此支持核心假设,即掩码是逼模型用长上下文的关键,结构性噪声下缺了它更伤。拿掉移调后,干净集反而略涨,在 MIR-1K 上看起来最好,但这是测试集音域窄造成的假象。
随机移调 × 音域泛化: 随机移调负责在训练波形上改变音高而不改变内容分布,人为补足合成训练集缺失的高音和低音;音域泛化负责让模型在真实高音段不把有人声帧判成无声,二者搭配是用精度上的小幅波动换覆盖范围,组合意义是把训练集的窄音域撑宽到实际演唱需要的宽音域。
移调的证据在频谱叠加图上最直观,横轴是秒,纵轴是赫兹,底色是分贝谱,绿色是有移调,蓝色是无移调。
看图路径: 1. 先看横轴时间 0 到 6 秒和纵轴频率 0 到 1500 Hz,确认是单句高音的连续跟踪;2. 再对比绿色有移调曲线在中段保持约 1100 Hz 不断线;3. 再看蓝色无移调曲线在中段掉到 0 Hz 形成空洞,两端才回到约 850 Hz
论文图 3。原论文 Figure 3:“Model’s vocal range with and without key shifting.”。
从像素上读,绿色曲线在 0 到 5 秒始终维持在约 1000 到 1139 Hz 的连续高音带,中段还有小 vibrato 起伏,蓝色曲线在约 0.2 秒后直接掉到 0 Hz 形成长平底,到约 4.9 秒才跳回约 850 Hz。这说明无移调模型把高音段整段判成无声,不是不准几个音分,而是整段丢失。定量上音域从 877.2 Hz 撑到 1139 Hz,宽 29.8%。代价是移调版本在部分干净格低约零点几个百分点,这是用平均精度换覆盖,属于必要的权衡。复述时不要说拿掉移调必然更好,只在 MIR-1K 窄分布下成立,换到高音多的真实演唱会反转。
哪些边界本文没有测、不能承诺?
第一是极端信噪比仍不可用。负 20 dB 白噪声下最好的 RMVPE 也只有约 40%,FCPE 约 30%,粉噪声下更低,这不是可部署的区间,只能说明相对排序,不能承诺在该条件下改善了误判率或听感。第二是训练超参数缺项。优化器、学习率、轮数、批量、掩码比例、移调范围、噪声混合比都没有完整清单,只讲了做了哪几类增强,没有讲每类多强、多频繁,复现时需要自己网格搜索并记录。第三是评估的统计口径偏薄。
只报告 5 次平均和可忽略方差,没有给出每集的标准差、置信区间,也没有按音域、性别、语种分层,总体趋势不等于每组都成立。第四是硬件单一。速度只在单张 RTX 4090 上测,没有给 CPU、移动端或流式因果模式的延迟,浮点运算量低不等于端到端延迟低,输出帧率和音频驱动开销要另测。第五是数据偏差。训练用 DDSP 重合成,虽然避开了人工标错,但合成到真实的差距仍在,论文说泛化好是基于 4 个集的报告,不是因果证明,换到强混响、大厅、电话信道仍待验证。
这些缺失不是技术错误,但写复现计划时要当成待补验证列出来。
要复现 FCPE 先搭什么、后验什么?
先搭数据管线。按论文用 M4Singer 和 VCTK 做 DDSP 重合成,拿合成参数当真值,再用 THCHS30 测试集合成 THCHS30-Synth 做跨域检查,全程重采样到 16 kHz,窗长 1024、帧移 160、128 维对数梅尔谱要固定,否则帧数对不齐。基线权重按论文给出的 3 个公开地址取 CREPE、RMVPE、PESTO 的预训练权重,资源状态本次为可用,但复现时仍要记录 commit 和权重哈希,不能只写项目名。模型按三站实现,浅层 1 维卷积嵌入、可选谐波嵌入、N 个深度可分离卷积块、线性到 360 仓,解码用峰值前后 4 仓加权平均、阈值 0.05 判无声。损失用 BCE,目标按 CREPE 式软标签构造。
再验两条线。精度线在 4 个集的干净、20 dB、0 dB、负 20 dB 下逐格跑粗准确率,每个条件跑 5 次取平均,重点看 0 dB 真实噪声和负 20 dB 结构噪声两处拐点。速度线在同一张卡上测实时因子和 1 秒音频浮点运算量,音频时长要分短句和长句分别计时,避免 1 次长音频掩盖启动开销。增强开关要做 3 组消融,每次只关一种,记录干净分微涨但高音段丢失的现象,音域按最大可跟踪 f0 统计。
缺的超参数要从小网格开始补,移调范围、掩码块长、噪声信噪比采样分布是优先要扫的三项,每项只动一个变量。权重下载不等于系统可运行,还要把阈值、采样率、帧移写进推理脚本,否则换个前端就会对不上。
何时值得试 FCPE、何时选别的?
当任务是单声部实时跟踪,且输入会有中等噪声和偶发遮挡时,值得试 FCPE。它的轻量主干省算力,掩码训练出的上下文补全能在 0 dB 附近维持可用,移调补的音域对高音歌唱更友好,部署到直播歌声转换或大批量转 MIDI 时,速度收益会直接变成成本收益。当目标是在极端噪声下刷最高分,或测试集与 RMVPE 训练集高度重合时,选 RMVPE 更可能赢,但要接受约 5 倍以上的耗时和约 8 倍的参数量。
当端侧只有 CPU 且内存极紧时,可以看 PESTO,它的 0.13M 参数有优势,但要先在自己的语音合成集和粉噪声下复测,因为它的跨集波动比 FCPE 大。传统 PM 和 Harvest 只适合干净或轻噪的快速基线,强噪声下会快速失效。 回到中心矛盾,FCPE 没有证明轻量一定更准,它证明的是在给定上下文需求下,把省算力的结构和逼用上下文的训练绑在一起,可以在接近最优精度的同时把速度做到可实时。
复述方法时抓住这条线,输入到表示到组件到目标到输出 1 次走通,再展开增强和解码,数字只引用论文实际报告的格子,不把单格最优推广成全程最优,不把合成集的结论直接当成真实大厅的承诺。
⚖️ 评分明细
评分属于系统判断,不是论文实验结果;八维数值与总分见页首,原始审计记录保留在后端。
- 评分规则:type-aware-v1
- 评分模型:muse-spark-1.3-contributor
- 评分请求协议:openai_responses


