| # 人力V助手 (JinrikiHelper) |
|
|
| > 基于 [xszqxszq/auto-voice-bank](https://github.com/xszqxszq/auto-voice-bank) 开发的语音数据集处理工具 |
|
|
| 作者:TNOT |
|
|
| ## 简介 |
|
|
| 本项目是一个自动化语音音源库制作工具,主要功能包括: |
|
|
| - 音频切片:使用 Silero VAD 进行语音活动检测和自动切片 |
| - 语音识别:使用 Whisper 模型进行语音转文字 |
| - 强制对齐:使用 MFA (Montreal Forced Aligner) 进行音素级时间对齐 |
| - 音源导出:支持插件化导出,按拼音分类导出单字音频 |
|
|
| 支持语言:中文(普通话)、日文 |
|
|
| ## 环境要求 |
|
|
| - Python 3.8+ |
| - Windows 系统(MFA 引擎已预打包) |
|
|
| ## 安装 |
|
|
| ### 1. 安装 Python 依赖 |
|
|
| ```bash |
| # 创建虚拟环境 |
| python -m venv .venv |
| |
| # 激活虚拟环境 (Windows) |
| .venv\Scripts\activate |
| |
| # 安装依赖 |
| pip install -r requirements.txt |
| ``` |
|
|
| ### 2. 下载 MFA 引擎 |
|
|
| MFA 引擎体积较大,未包含在仓库中。请下载软件便携版,其中已包含 MFA 引擎。 |
|
|
| 便携版下载后解压即可使用,目录结构如下: |
|
|
| ``` |
| 人力V助手/ |
| ├── main.py |
| ├── tools/ |
| │ └── mfa_engine/ |
| │ ├── python.exe |
| │ ├── Scripts/ |
| │ │ └── mfa.exe |
| │ └── ... |
| └── ... |
| ``` |
|
|
| ## 使用方法 |
|
|
| ### GUI 界面(AI推荐我不推荐,我推荐用 main_old.py) |
| |
| ```bash |
| python main.py |
| ``` |
| |
| 1. 在「模型配置」页下载所需模型(Silero VAD、MFA 声学模型和字典) |
| 2. 在「制作音源」页: |
| - 设置音源名称 |
| - 选择输入音频文件(支持 .wav/.mp3/.flac/.ogg/.m4a) |
| - 选择 Whisper 模型和语言 |
| - 点击「一键执行全部流程」或分步执行 |
| 3. 在「导出音源」页选择导出插件并执行 |
| |
| ### 脚本调用 |
| |
| ```python |
| from src.pipeline import PipelineConfig, VoiceBankPipeline |
| |
| config = PipelineConfig( |
| source_name="my_voice", |
| input_path="path/to/audio.wav", |
| output_base_dir="bank", |
| models_dir="models", |
| whisper_model="openai/whisper-small", |
| mfa_dict_path="models/mfa/mandarin_china_mfa.dict", |
| mfa_model_path="models/mfa/mandarin_mfa.zip", |
| language="chinese" |
| ) |
| |
| pipeline = VoiceBankPipeline(config, progress_callback=print) |
| success, msg = pipeline.run_make_pipeline() |
| ``` |
| |
| ## 项目结构 |
| |
| ``` |
| 项目根目录/ |
| ├── main.py # 程序入口 |
| ├── config.json # 全局配置文件 |
| ├── bank/ # 音源库目录 |
| │ └── [音源名称]/ |
| │ ├── meta.json # 音源元信息 |
| │ ├── slices/ # 切片文件 (.wav + .lab) |
| │ └── textgrid/ # MFA对齐结果 (.TextGrid) |
| ├── export/ # 导出目录 |
| │ └── [音源名称]/ |
| │ └── [插件名]/ # 导出结果 |
| ├── models/ # 模型目录 |
| │ ├── mfa/ # MFA声学模型和字典 |
| │ ├── silero_vad/ # Silero VAD模型 |
| │ └── whisper/ # Whisper模型缓存 |
| ├── tools/ |
| │ └── mfa_engine/ # MFA独立运行环境 |
| ├── src/ # 源代码目录 |
| │ ├── gui.py # GUI界面 |
| │ ├── pipeline.py # 流水线核心 |
| │ ├── audio_processor.py # 音频处理(VAD+Whisper) |
| │ ├── mfa_runner.py # MFA运行器 |
| │ ├── text_processor.py # 文本处理(拼音转换) |
| │ └── export_plugins/ # 导出插件目录 |
| ├── docs/ # 项目文档 |
| └── tests/ # 测试代码 |
| ``` |
| |
| ## 依赖项 |
| |
| 核心依赖: |
| - `customtkinter` - GUI 框架 |
| - `transformers` - Whisper 模型 |
| - `onnxruntime` - Silero VAD 推理 |
| - `textgrid` - TextGrid 文件解析 |
| - `soundfile` - 音频读写 |
| - `torchaudio` - 音频重采样 |
| - `pypinyin` - 中文转拼音 |
| - `pykakasi` - 日文转罗马音 |
| |
| MFA 环境需单独下载,详见[MFA引擎安装说明](docs\MFA引擎安装说明.md)。 |
| |
| ## 许可证 |
| |
| 本项目基于 MIT 许可证开源,详见 [LICENSE](LICENSE) 文件。 |
| |
| 本工具集成 Montreal Forced Aligner (MIT License)。 |
| |
| 原项目版权归 心水湛清 所有。 |
| |
| ## 致谢 |
| |
| - [xszqxszq/auto-voice-bank](https://github.com/xszqxszq/auto-voice-bank) - 原项目作者 |
| - [Montreal Forced Aligner](https://montreal-forced-aligner.readthedocs.io/) - 语音对齐工具 |
| - [Silero VAD](https://github.com/snakers4/silero-vad) - 语音活动检测 |
| - [OpenAI Whisper](https://github.com/openai/whisper) - 语音识别模型 |
| |