面向双声道 ASMR 录音的本地音频预处理工作台。用于从 ASMR 音频中提取人声,程序检测人声片段,并自动进行一系列处理,最终生成适合后续 ASR 使用的音频文件。
- 双声道异常候选检测:综合左右声道的响度差、包络变化、过零率、高频变化、峰均比、同步峰值、相关性和串音特征。
- 短峰值兜底:使用重叠的短时窗口补充极短噪声峰值;单侧响度兜底默认保守,并可调节或关闭。
- 人工复核:逐段试听原始、声道修复、降噪、人声增强和精细处理结果,可接受、忽略或手动切换填充方向。
- 连续整轨精细处理:审核后的音轨作为连续输入处理,不在每个审核片段边界重启滤波器,减少句尾被逐段削弱的问题。
- 整轨预览与本地输出:确认整轨试听无误后可导出文件。
- 把录音放进项目的
input/文件夹,或在初始页筛选并选择项目内已有音频。 - 调整检测灵敏度、异常最短时长和单侧响度兜底,点击“开始自动分析”。

- 在时间轴和候选片段列表中逐条复核。每个片段都可以单独设置降噪和人声增强强度。
- 对确认的异常接受声道修复;误报选择忽略;方向判断不合适时切换填充方向。
- 在审核区点击“进入整轨预览”,从任意位置试听连续的最终处理链。

- 确认整轨预览无误后,写入
output/文件夹。
分析在约 12 kHz 的工作采样率上进行,使用约 1.2 秒的持续响度窗口,并叠加 0.16 秒、0.08 秒步进的瞬态窗口。候选分类会参考:
- 左右声道的 RMS 和短时包络差异;
- 过零率、高频变化和峰均比;
- 峰值的同步程度、左右相关性和可能的串音;
- ASMR 常见的“人声较轻、噪声较响”响度对比;
- 极短异常峰值和单侧响度异常兜底。
相邻且方向相同的窗口会合并。接受片段后,程序使用另一侧声道填充异常侧,并在边界进行平滑过渡;检测到泄露噪声时会先做有上限的相关抵消。
审核后的片段可分别或全局启用:
- 自适应频谱降噪;
- 低切、去浑浊和存在感调整;
- 轻度动态压缩和峰值限制。
全局设置会同步为片段默认值,之后仍可对单个片段覆盖。处理试听与最终输出使用相同的参数语义。
精细处理作用于整条审核后音轨,分为三个连续阶段:
- 精细降噪:抑制稳定底噪,同时保留耳语气息。
- 人声修复与突出:清理低中频浑浊,恢复存在感和高频细节。
- ASR 响度与安全输出:只对低响度语音做受限补偿,保留峰值余量并避免整体抬高底噪。
默认情况下会先以功率一致的方式合并左右声道,再进行整轨处理,最后输出双声道一致的结果。整轨预览会使用小段上下文生成试听,实际播放区间会裁回目标范围。
需要 Node.js 20 或更高版本。
npm install
npm run dev生产构建和预览:
npm run build
npm run preview项目同时提供 Bearer Token 鉴权的标准音频处理 API:上传音频和 JSON 参数后,会跳过人工审核并直接返回处理后的 WAV。启动、参数和错误码请参阅 docs/API.md,机器可读定义见 docs/openapi.json。
