语音数据集工具2
简介
这是一个用于快速制作语音数据集的工具,可以一键导出VITS等项目所需的训练数据集
注意:您正在查看项目的r1.0分支,该分支将停止更新新功能,仅作维护和存档用途,未来项目经过重构后将以r2.0分支为主
特点:
图形用户界面!
中文文档
支持两种数据导入方式:音频+字幕和纯音频自动切割(未来会增加更多)
自动优化音频切割效果,(尽量)避免出现断音
可直接导出符合VITS等项目要求的数据集格式,可设置声道数和采样率
引入语音评测功能,通过为数据打分可以快速从海量数据中筛选出高质量数据集
软件架构
数据库:sqlite、peewee
界面:PySide6
音频处理:FFMPEG、pydub等
安装指南
运行编译好的exe文件
访问GitHub的Release页面或Gitee的发行版页面,根据提示下载相应的压缩包,双击即可启动程序
从源代码运行
-
克隆本项目
Gitee:
git clone https://gitee.com/kslizi/sound_dataset_tools2.git
GitHub:
git clone https://github.com/kslz/sound_dataset_tools2.git
-
安装ffmpeg
您可以通过配置环境变量,也可以将下载的ffmpeg压缩包解压后,在exe根目录下新建lib文件夹,将解压得到的bin文件夹改名为ffmpeg,然后复制到lib目录下。最终的目录结构如图所示
-
安装其他库
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
使用说明
运行项目
python main.py
选择工作区
如果当前目录空间不足,可以指定其他目录。导入的文件、数据库、生成的数据集都会存放在指定目录中
数据集选择界面
您可以在这里添加、修改、删除数据集。每个数据集之间互相独立。点击"进入"按钮,进入数据集。
数据集概览界面
在此您可以对数据进行导入、导出、处理等操作
导入数据
注意:所有导入数据的方式都经过了自动优化,关于自动优化的具体逻辑请参见文末。
从文件导入(音频+字幕)
点击按钮,在弹窗中选择预先处理好的音频和字幕文件,支持视频文件和几乎所有(ffmpeg支持的)格式的音频文件导入,同时请输入发音人。关于字幕的获取请参见文末。
导入后的界面如图所示,您可以在左侧的下拉框中选择翻页,也可以点击试听音频段
点击快速导出后会将当前音频导出至 .\workspace\output\fastoutput\
目录下
从文件导入(长音频)
点击按钮,在弹窗中选择预先处理好的音频文件,支持视频文件和几乎所有(ffmpeg支持的)格式的音频文件导入,同时请输入合适的发音人、最短静音长度、静音阈值信息
最短静音长度:当静音长度达到这个数值时进行一次裁切
静音阈值:当音频响度低于这个数值时则视为静音,如果您的音频底噪很低,可以适当调低此值获得更好的结果,反之则提高。
导入后的界面如图所示,需要注意的是因为只有短音频,所以裁切出的音频段没有标注文本,将在未来引入语音识别以进行自动标注。
删除数据
根据源音频删除数据
点击按钮后选择一个当前数据集中数据对应的音频,点击确定后音频本身和相关联的数据都会被删除
导出数据
导出数据集(单发音人)
After clicking the button, select parameters. You can also choose a corresponding preset and click the apply button to apply it. If you don't understand the meaning of these values, you can use the default settings.
Note:
Normalization: This refers to loudness matching, which will automatically scale the audio volume according to the input value.
In the current export logic, data containing English or numbers in the annotation text will be skipped. However, if the annotation text is empty, it will still be exported.
Click next to proceed with the dataset export. The window may freeze for a moment, please wait patiently.
[图片]
[图片]
The exported files can be found in the corresponding directory.
[图片]
Speech Evaluation
The speech evaluation function can score sentences through commercial evaluation interfaces to quickly select high-quality data.
Currently, the Tanbei speech evaluation interface has been integrated.
Tanbei Speech Evaluation
Add Authorization Information
First, go to the Software Settings - Authorization Management page, click the add button, enter the name and other fields, and select Speech Evaluation for the application type.
[图片]
For Tanbei-related fields, please go to the Tanbei Open Platform - Speech Evaluation page to activate the service and view (currently in free trial period, hurry if you want to use it for free).
[图片]
After adding, it will automatically verify. Please turn off the proxy program during this process.
Perform Data Evaluation
Then go to the data processing page, click on Tanbei Speech Evaluation, select the corresponding authorization information to start the evaluation.
[图片]
[图片]
Export Based on Evaluation Results
Return to the dataset overview page, click the export button, select Tanbei Evaluation in the evaluation-related section, and fill in the corresponding score requirements.
[图片]
Note: If evaluation is selected, data that has not been evaluated will not be exported. Also, since Tanbei evaluation only supports Chinese, all English data will not be exported after selection.
Click next, confirm, and then start exporting.
[图片]
[图片]
Additionally: Export results when evaluation is not selected
[图片]
Development Plan
Compile exe version
Annotation through ASR
Apply speech evaluation
Apply voice print recognition
Export multi-speaker dataset
Quick export
......
Common Questions
-
How to get subtitles?
Use tools like Jianying or VideoSRT to get SRT subtitle files. You can refer to the following links:
-
What's the logic of automatic optimization?
The optimization logic is to cut 10ms from the start position forward, compare the loudness of this 10ms with the segment from start to start+10, if the loudness before is smaller, move the start forward, until finding a position with the smallest loudness. The end follows a similar logic. This can avoid audio being cut off as much as possible.
Also, subtitles generated by Jianying sometimes split one sentence into multiple sentences, with intervals within 33 milliseconds between each sentence. When encountering this situation, the program will combine these subtitles into one sentence.
-
How to upgrade the exe version?
After downloading the new compressed package, replace the exe file in it with the old version software in the same path, overwriting the original file.
-
To be continued...