11# SCRIBE
22
3- DiffSinger 数据标注工具 — 用于歌声合成变量参数数据集的制作与标注 。
3+ DiffSinger 数据标注工具 — 用于歌声合成唱法参数数据集的制作与标注 。
44
55## 功能
66
7- - F0(基频)提取:Parselmouth / RMVPE / FCPE,全部 Rust 原生推理(INT8-mix 量化)
8- - MIDI 估算:SOME 模型,Rust 原生推理
7+ - F0(基频)提取:Parselmouth / RMVPE / FCPE,基于神经网络的音高提取模型全部 Rust 原生推理(INT8-mix 量化),Parselmouth的音高提取部分使用Rust重写
8+ - MIDI 估算:SOME 模型(INT8-mix 量化) ,Rust 原生推理
99- 音素时长标注与编辑
1010- 实时音频播放与波形显示
11+ - 更方便的词组划分功能
1112- 钢琴卷帘编辑器
1213- 导入/导出 DiffSinger 格式
14+ - 更舒适的视觉设计(相对于SlurCutter而言),更加一致的设计风格,减缓标注时带来的疲劳感
15+
16+
17+
18+ 目前代码存在的问题较多,功能尚未完善,还请发现bug后提出issue,以便第一时间进行修复,也欢迎各位共同开发。
19+
20+
1321
1422## 构建
1523
@@ -23,13 +31,11 @@ DiffSinger 数据标注工具 — 用于歌声合成变量参数数据集的制
2331
2432构建前需将以下模型文件放入 ` src-tauri/ ` :
2533
26- | 文件 | 模型 | 用途 |
27- | ------| ------| ------|
28- | ` rmvpe.scr ` | RMVPE (INT8-mix) | F0 提取 |
29- | ` fcpe.scr ` | FCPE (INT8-mix) | F0 提取 |
30- | ` some.scr ` | SOME (INT8-mix) | MIDI 估算 |
31-
32- 模型通过 Python 导出脚本从 PyTorch checkpoint 量化生成(脚本未包含在此仓库中)。
34+ | 文件 | 模型 | 用途 |
35+ | ----------- | ---------------- | ------- |
36+ | ` rmvpe.scr ` | RMVPE (INT8-mix) | F0 提取 |
37+ | ` fcpe.scr ` | FCPE (INT8-mix) | F0 提取 |
38+ | ` some.scr ` | SOME (INT8-mix) | MIDI 估算 |
3339
3440### 开发
3541
@@ -56,11 +62,47 @@ cargo tauri build
5662
5763## 技术栈
5864
59- - ** 前端** :React + TypeScript + Vite
60- - ** 后端** :Rust + Tauri v2
61- - ** 音频** :cpal (跨平台音频 I/O)
62- - ** 推理引擎** :自研 INT8-mix 量化推理,AVX2 SIMD 加速
65+ ### 前端
66+
67+ | 库 | 许可 | 用途 |
68+ | ---| ---| ---|
69+ | [ React] ( https://github.com/facebook/react ) | MIT | UI 框架 |
70+ | [ Zustand] ( https://github.com/pmndrs/zustand ) | MIT | 状态管理 |
71+ | [ Vite] ( https://github.com/vitejs/vite ) | MIT | 构建工具 |
72+ | [ TypeScript] ( https://github.com/microsoft/TypeScript ) | Apache-2.0 | 类型系统 |
73+ | [ @tauri-apps/api ] ( https://github.com/tauri-apps/tauri ) | MIT/Apache-2.0 | Tauri 前端绑定 |
74+ | [ @tauri-apps/plugin-dialog ] ( https://github.com/tauri-apps/plugins-workspace ) | MIT/Apache-2.0 | 原生对话框 |
75+ | [ @tauri-apps/plugin-fs ] ( https://github.com/tauri-apps/plugins-workspace ) | MIT/Apache-2.0 | 文件系统访问 |
76+ | [ @tauri-apps/plugin-shell ] ( https://github.com/tauri-apps/plugins-workspace ) | MIT/Apache-2.0 | Shell 命令 |
77+
78+ ### 后端 (Rust)
79+
80+ | 库 | 许可 | 用途 |
81+ | ---| ---| ---|
82+ | [ Tauri] ( https://github.com/tauri-apps/tauri ) | MIT/Apache-2.0 | 桌面应用框架 |
83+ | [ cpal] ( https://github.com/RustAudio/cpal ) | Apache-2.0 | 跨平台音频 I/O |
84+ | [ hound] ( https://github.com/ruuda/hound ) | Apache-2.0 | WAV 读写 |
85+ | [ rustfft] ( https://github.com/ejmahler/RustFFT ) | MIT/Apache-2.0 | FFT 计算 |
86+ | [ rayon] ( https://github.com/rayon-rs/rayon ) | MIT/Apache-2.0 | 数据并行 |
87+ | [ serde] ( https://github.com/serde-rs/serde ) | MIT/Apache-2.0 | 序列化 |
88+ | [ serde_json] ( https://github.com/serde-rs/json ) | MIT/Apache-2.0 | JSON 解析 |
89+ | [ tokio] ( https://github.com/tokio-rs/tokio ) | MIT | 异步运行时 |
90+
91+ ### 模型
92+
93+ | 模型 | 许可 | 用途 |
94+ | ---| ---| ---|
95+ | [ RMVPE] ( https://github.com/Dream-High/RMVPE ) (Wei et al. 2023) | MIT | F0 提取 |
96+ | [ TorchFCPE] ( https://github.com/CNChTu/TorchFCPE ) (CNChTu) | MIT | F0 提取 |
97+ | [ SOME] ( https://github.com/openvpi/SOME ) (openvpi) | MIT | MIDI 估算 |
98+
99+ ### 本项目原创实现
100+
101+ | 组件 | 说明 |
102+ | ---| ---|
103+ | Parselmouth-Rust | Praat F0 算法的 Rust 原生实现 |
104+ | RMVPE / FCPE / SOME Rust 推理引擎 | INT8-mix 量化 + AVX2 SIMD 加速 |
63105
64106## License
65107
66- MIT
108+ Apache-2.0
0 commit comments