Commit ad7985fd authored by liugh5's avatar liugh5
Browse files

update

parent 56613154
...@@ -38,15 +38,14 @@ cd KAN-TTS ...@@ -38,15 +38,14 @@ cd KAN-TTS
``` ```
安装相应的python依赖库: 安装相应的python依赖库:
``` ```
pip3 install -r requirements.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html pip3 install -r requirements-f.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
pip3 install pysptk,bitstring,unidecode,inflect pip3 install -r requirements.txt
``` ```
### Dockerfile(方式二) ### Dockerfile(方式二)
``` ```
docker build -t <image_name> . docker build -t <image_name> .
docker run -it -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal:/opt/hyhal --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name container_name image_name bash docker run -it -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal:/opt/hyhal --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name container_name image_name bash
cd /path/your_code_data/ cd /path/your_code_data/
``` ```
之后参考方法一。 之后参考方法一。
...@@ -59,14 +58,14 @@ conda create -n <env_name> python=3.8 ...@@ -59,14 +58,14 @@ conda create -n <env_name> python=3.8
2. 关于本项目DCU显卡所需的工具包、深度学习库等均可从[光合](https://www.hpccube.com/sso/login?service=https://developer.hpccube.com/tool/)开发者社区下载安装。 2. 关于本项目DCU显卡所需的工具包、深度学习库等均可从[光合](https://www.hpccube.com/sso/login?service=https://developer.hpccube.com/tool/)开发者社区下载安装。
DTK驱动:[dtk23.10](https://cancon.hpccube.com:65024/1/main/DTK-23.10) DTK驱动:[dtk23.10](https://cancon.hpccube.com:65024/1/main/DTK-23.10)
pytorch:[1.13.1](https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.10) pytorch:[1.13.1](https://cancon.hpccube.com:65024/4/main/pytorch/dtk23.10)
<table><tr><td bgcolor=gray>Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应。</td></tr></table> `Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应。`
之后参考方法一。 之后参考方法一。
## 数据集 ## 数据集
你可以从ModelScope下载经过阿里标准格式处理的AISHELL-3开源语音合成数据集,用来进行后续操作。如果你只有普通音频格式的数据,那么可以采用PTTS Autolabel自动化标注工具进行格式转换。 你可以从ModelScope下载经过阿里标准格式处理的AISHELL-3开源语音合成数据集,用来进行后续操作。如果你只有普通音频格式的数据,那么可以采用PTTS Autolabel自动化标注工具进行格式转换。
可参考的[训练数据](https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/TTS/download_files/test_female.zip),下载后解压到到目录Data/ptts_spk0_wav下面。 可参考的迷你[训练数据](https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/TTS/download_files/test_female.zip),下载后解压到到目录Data/ptts_spk0_wav下面。
数据集的目录结构如下: 数据集的目录结构如下:
``` ```
...@@ -84,8 +83,9 @@ python3 wav_to_label.py --wav_data Data/ptts_spk0_wav ...@@ -84,8 +83,9 @@ python3 wav_to_label.py --wav_data Data/ptts_spk0_wav
``` ```
bash feats_extract.sh bash feats_extract.sh
``` ```
注意修改相应的模型路径。 `注意修改相应的模型路径。`
特征提取只需要运行一小段时间,提取完毕后你会在training_stage/test_male_ptts_feats目录下得到如下结构的文件: 特征提取只需要运行一小段时间,提取完毕后你会在training_stage/test_male_ptts_feats目录下得到如下结构的文件:
``` ```
├── am_train.lst ├── am_train.lst
├── am_valid.lst ├── am_valid.lst
...@@ -112,16 +112,18 @@ bash feats_extract.sh ...@@ -112,16 +112,18 @@ bash feats_extract.sh
#### 单卡训练 #### 单卡训练
``` ```
# 微调声学模型是配置驱动的,我们使用预训练模型中的speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/config.yaml作为训练配置文件。 我们提供默认的PTTS 默认使用的finetune参数值,希望在basemodel的基础上继续微调 一定步数 并保存,即我们修改train_max_steps配置项。 # 微调声学模型是配置驱动的,我们使用预训练模型中的speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/config.yaml作为训练配置文件。 我们提供默认的PTTS 默认使用的finetune参数值,希望在basemodel的基础上继续微调 一定步数 并保存,即我们修改train_max_steps配置项。
# 完成配置项修改后,我们就可以使用以下命令训练声学模型了 # 完成配置项修改后,我们就可以使用以下命令训练声学模型了
HIP_VISIBLE_DEVICES=0 python3 kantts/bin/train_sambert.py \ HIP_VISIBLE_DEVICES=0 python3 kantts/bin/train_sambert.py \
--model_config speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/config.yaml \ --model_config speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/config.yaml \
--root_dir training_stage/ptts_feats \ --root_dir training_stage/ptts_feats \
--stage_dir training_stage/ptts_sambert_ckpt \ --stage_dir training_stage/ptts_sambert_ckpt \
--resume_path speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/ckpt/checkpoint_*.pth --resume_path speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/sambert/ckpt/checkpoint_*.pth
``` ```
注意修改相应的模型路径。 `注意修改相应的模型路径。`
#### 单卡推理 #### 单卡推理
``` ```
# 想要合成的文本写入一个文件,test.txt,每句话按行分隔
HIP_VISIBLE_DEVICES=0 python3 kantts/bin/text_to_wav.py \ HIP_VISIBLE_DEVICES=0 python3 kantts/bin/text_to_wav.py \
--txt Data/test.txt \ --txt Data/test.txt \
--output_dir res/ptts_syn \ --output_dir res/ptts_syn \
...@@ -130,22 +132,26 @@ HIP_VISIBLE_DEVICES=0 python3 kantts/bin/text_to_wav.py \ ...@@ -130,22 +132,26 @@ HIP_VISIBLE_DEVICES=0 python3 kantts/bin/text_to_wav.py \
--voc_ckpt speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/hifigan/ckpt/checkpoint_2400000.pth \ --voc_ckpt speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/basemodel_16k/hifigan/ckpt/checkpoint_2400000.pth \
--se_file training_stage/ptts_feats/se/se.npy --se_file training_stage/ptts_feats/se/se.npy
``` ```
注意修改相应的模型路径。 `注意修改相应的模型路径。`
## result ## result
可在输出文件夹res/ptts_syn下找到克隆的语音文件。 推理结果可在输出文件夹res/ptts_syn下找到克隆的语音文件。
## 精度 ## 精度
训练使用的加速卡:Z100 配置项train_max_steps为2402201,测试结果如下:
| device | train_loss |
|:---------:|:----:|
| DCU Z100 | 0.4803. |
## 应用场景 ## 应用场景
### 算法分类 ### 算法分类
语音处理
`语音处理`
### 热点应用行业 ### 热点应用行业
制造,广媒,能源,医疗,家居,教育 `制造,广媒,能源,医疗,家居,教育`
### 预训练权重 ### 预训练权重
...@@ -154,8 +160,8 @@ git clone https://www.modelscope.cn/damo/speech_personal_sambert-hifigan_nsf_tts ...@@ -154,8 +160,8 @@ git clone https://www.modelscope.cn/damo/speech_personal_sambert-hifigan_nsf_tts
``` ```
## 源码仓库及问题反馈 ## 源码仓库及问题反馈
https://developer.hpccube.com/codes/modelzoo/sambert-hifigan_pytorch - https://developer.hpccube.com/codes/modelzoo/sambert-hifigan_pytorch
## 参考资料 ## 参考资料
[Modelscope - SambertHifigan](https://modelscope.cn/models/iic/speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/summary) - [Modelscope - SambertHifigan](https://modelscope.cn/models/iic/speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k/summary)
tts-autolabel==1.1.8
ttsfrd==0.2.1
modelscope
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment