Skip to content

Repository files navigation

SCRIBE

DiffSinger 数据标注工具 — 用于歌声合成唱法参数数据集的制作与标注。

功能

  • F0(基频)提取:Parselmouth / RMVPE / FCPE,基于神经网络的音高提取模型全部 Rust 原生推理(INT8-mix 量化),Parselmouth的音高提取部分使用Rust重写
  • MIDI 估算:SOME 模型(INT8-mix 量化),Rust 原生推理
  • 音素时长标注与编辑
  • 实时音频播放与波形显示
  • 更方便的词组划分功能
  • 钢琴卷帘编辑器
  • 导入/导出 DiffSinger 格式
  • 更舒适的视觉设计(相对于SlurCutter而言),更加一致的设计风格,减缓标注时带来的疲劳感

目前代码存在的问题较多,功能尚未完善,还请发现bug后提出issue,以便第一时间进行修复,也欢迎各位共同开发。

构建

环境要求

模型文件

构建前需将以下模型文件放入 src-tauri/,你可以从这里下载:

文件模型用途
rmvpe.scrRMVPE (INT8-mix)F0 提取
fcpe.scrFCPE (INT8-mix)F0 提取
some.scrSOME (INT8-mix)MIDI 估算

开发

npm install
cargo tauri dev

构建发布版本

cargo tauri build

输出安装包在 src-tauri/target/release/bundle/

ASIO 支持(可选)

如需 ASIO 低延迟音频输出:

  1. 下载 Steinberg ASIO SDK
  2. 解压到项目根目录 asio_sdk/
  3. 构建时启用 feature:cargo tauri build -- --features asio

技术栈

前端

许可用途
ReactMITUI 框架
ZustandMIT状态管理
ViteMIT构建工具
TypeScriptApache-2.0类型系统
@tauri-apps/apiMIT/Apache-2.0Tauri 前端绑定
@tauri-apps/plugin-dialogMIT/Apache-2.0原生对话框
@tauri-apps/plugin-fsMIT/Apache-2.0文件系统访问
@tauri-apps/plugin-shellMIT/Apache-2.0Shell 命令

后端 (Rust)

许可用途
TauriMIT/Apache-2.0桌面应用框架
cpalApache-2.0跨平台音频 I/O
houndApache-2.0WAV 读写
rustfftMIT/Apache-2.0FFT 计算
rayonMIT/Apache-2.0数据并行
serdeMIT/Apache-2.0序列化
serde_jsonMIT/Apache-2.0JSON 解析
tokioMIT异步运行时

模型

模型许可用途
RMVPE (Wei et al. 2023)MITF0 提取
TorchFCPE (CNChTu)MITF0 提取
SOME (openvpi)MITMIDI 估算

本项目原创实现

组件说明
Parselmouth-RustPraat F0 算法的 Rust 原生实现
RMVPE / FCPE / SOME Rust 推理引擎INT8-mix-W8A32 量化 + AVX2 SIMD 加速

License

Apache-2.0

About

DiffSinger variance dataset annotation tool — Tauri v2 + React + Rust with native INT8-mix quantized inference for F0 extraction and MIDI estimation

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages