1.本项目基于vits训练的日语模型(采用游戏语音,在3221组数据从头训练了1000个epoch)
2.日语及中文cleaners基于MoeGoe项目二次开发
3.日语分词和声调基于OpenJtalk和Mecab日语分词库
-
将模型文件下载之后解压放在手机/sdcard/Download文件夹下。
-
点击加载配置(批准权限后),选择/sdcard/Download/[你的模型目录]/config.json加载配置文件。(示例:/sdcard/Download/模型/莲华/config.json)
-
点击加载模型(批准权限后),选择/sdcard/Download/[你的模型目录]/*.bin加载模型文件。(示例:/sdcard/Download/模型/莲华/dec.ncnn.bin)
-
输入文本,点击生成
-
点击播放即可播放音频,点击导出即可将生成- 的音频导出,音频文件会保存在模型目录的上一级目录中
-
配置加载和模型加载同上
-
点击录制声音将开启手机麦克风录制待转换的声音(请确保录音权限批准)或者点击加载音频将加载您要转换的音频(目前仅支持.wav格式)
-
分别选择原讲话人和目标讲话人
-
点击转换按钮即可将声音从原讲话人转换到目标讲话人
1、推理速度慢的话请手动增加线程数(默认为1),gpu选项可以选择不开启,由于Vulkan部分代码没有写,所以开启后反而更慢
2、本项目目前仅支持日语和中文,所以确保输入支持的文本
1.将代码下载到指定目录
git clone https://github.com/weirdseed/Vits-Android-ncnn.git
2.下载Vulkan版本ncnn库,或者自行到https://github.com/Tencent/ncnn/releases 下载,解压到项目的\app\src\main\cpp\目录下,(需更改目录名称为ncnn),目录结构如下
├─openjtalk.asset_manager_api
├─audio_process
├─fftpack
├─openjtalk.jpcommon
├─openjtalk.mecab
├─openjtalk.mecab2njd
├─openjtalk.mecab_api
├─ncnn
│ ├─arm64-v8a
│ ├─armeabi-v7a
│ ├─x86
│ └─x86_64
├─openjtalk.njd
├─openjtalk.njd2jpcommon
├─openjtalk.njd_set_accent_phrase
├─openjtalk.njd_set_accent_type
├─openjtalk.njd_set_digit
├─openjtalk.njd_set_long_vowel
├─openjtalk.njd_set_pronunciation
├─openjtalk.njd_set_unvoiced_vowel
├─openjtalk.text2mecab
└─vits
2.1 自行编译ncnn,请注意,ncnn默认的编译选项中rtti为关闭状态,需要的话自己手动打开,编译教程见链接,推荐在linux环境下编译
3、下载openjtalk字典文件解压到\src\main\assets文件夹,目录结构为
├─multi
├─open_jtalk_dic_utf_8-1.11
└─single
4、编译并运行项目
https://github.com/weirdseed/vits-ncnn-convert-tool
1、模型禁止商用!
2、不可将本软件用作任何非法用途,后果自负
感谢CjangCjengh提供的模型还有Japanese cleaner,@nihui群主提供这么棒的框架,以及各位热心群友帮忙解决模型转换的各种问题