从Galgame中提取人物语音和对应文本用于制作SVC/TTS项目的数据集。
Extract character voice and corresponding text from Galgame to create a dataset for SVC/TTS projects.
本仓库用于提供从Galgame中提取人物语音和对应文本用于制作SVC/TTS项目的数据集的经验分享与一些辅助脚本。同时也作为个人的解包记录。不过虽说名为Galgame,但可能包含的游戏实际上并不属于Galgame。
本文档为大致的介绍与使用说明。与此同时,每个脚本内也会含有对应的注释。一个成熟的创作者应该学会自己看代码了(逃)
本仓库可能不会提供游戏的解包工具的可执行文件(但会尽量给出源码的链接)或者游戏本体。请利用搜索引擎自行寻找途径。
由于文件体积的原因,本仓库也不会提供解包后的音频文件。请自行解包。部分数据集会传至huggingface.co
。但是,本仓库会提供解包方法和用于制作TTS项目数据集所需要的标注文件。具体请在对应文件夹下的README.md
中查看。
- 基础的计算机操作能力。如:如何解压文件,如何运行一个python文件。
- 基础的计算机知识。如:文件夹,文件,绝对路径,相对路径,终端。
- 运用搜索引擎的能力。请合理使用搜索引擎,如:Google,Bing,百度。同时,一些社区也会提供很多有用的信息,如:GitHub,百度贴吧。
- 一些基础的代码阅读能力。并不意味着需要读懂每一句代码,只需要在需要的时候结合注释看懂代码干了什么即可。本仓库的脚本都非常简单,而且会尽可能带有详细的注释。
一些大语言模型也可以提供一些帮助,如:GPT-4,通义千问。这些模型在处理简单的代码时会很好用。 - 一些基础的英语阅读能力或翻译网站(推荐)
由于游戏引擎不同,封包方式也不同。因此,本仓库会根据不同的游戏引擎进行分类,请进入对应的文件夹进行查看。
与此同时,有一些通用的脚本会放在根目录下。
Text_Cleaner.py
用于清理文本中的特殊字符,比如
~
♪
(
)
\n
等。这些字符会影响TTS的处理。
与此同时,该脚本还会筛选去除一些不适合作为数据集的文本。比如含有奇怪叫声(毕竟是Galgame)的语音以及包含其它语言的文本。
你可以根据自己的需要修改这个脚本来适配不同游戏。
输入:
绝对路径
:包含所有待处理.json
文件的文件夹的路径。
其中,所有json文件是由对应游戏的解包工具生成的,格式为{"File": "xxx", "Text": "xxx", "Name": "xxx"}
。你可以进入任何一个子文件夹进行查看。对于每个游戏,我会尽量提供制作好的json文件。输出:
将直接对原文件进行操作。调试时请注意备份!
Dataset_Maker.py
这个脚本的主要功能是从指定的目录中读取JSON文件,并根据这些JSON文件中的信息,从另一个指定的目录中复制音频文件,然后将这些音频文件转换为.wav格式并重采样到44100hz。同时,它还会创建一个与原音频同名的
.lab
文件,作为标注文件。
可以直接用于Fish_Speech项目的数据集制作。https://github.com/fishaudio/fish-speech
List_Generator.py
用于生成列表文件。这个文件可以用于训练模型。
调整参数以输出适合GPT_Sovits项目https://github.com/RVC-Boss/GPT-SoVITS 和 Bert_VITS2项目。https://github.com/fishaudio/Bert-VITS2