emospeech
1.0.0
您可以使用Docker或Conda建立环境。
如果您没有安装Docker,请按照链接查找Ubuntu,Mac或Windows的安装说明。
构建Docker图像:
docker build -t emospeech .
运行Docker图像:
bash run_docker.sh
如果您没有安装Conda,请在此处找到您的操作系统的安装说明。
conda create -n etts python=3.10
conda activate etts
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
pip install -r requirements.txt
如果您的计算机上有不同版本的CUDA版本,则可以在此处找到适用的pytorch安装链接。
我们使用了来自ESD数据集的10位英语说话者的数据。要下载所有.wav , .txt文件以及使用MFA创建的.TextGrid文件:
bash download_data.sh
要训练模型,我们需要预先计算的持续时间,能量,音高和EGEMAP功能。从src目录运行:
python -m src.preprocess.preprocess
这就是您的数据文件夹的外观:
.
├── data
│ ├── ssw_esd
│ ├── test_ids.txt
│ ├── val_ids.txt
└── └── preprocessed
├── duration
├── egemap
├── energy
├── mel
├── phones.json
├── pitch
├── stats.json
├── test.txt
├── train.txt
├── trimmed_wav
└── val.txt
config/config.py中配置参数。python -m src.scripts.train 。在ESD数据集的测试子集上实施了测试。综合音频并计算神经MOS(NISQA TTS):
Inference部分下的config/config.py中配置参数。python -m src.scripts.test 。您可以在test.log中找到用于原始,重建和生成音频的Nisqa TT。
表现对音素序列的训练。可以在data/preprocessed/phones.json中找到支持的手机。该仓库是为学术研究而创建的,并且不支持自动素式转换。但是,如果您想通过情感调节综合任意句子,则可以:
从具有MFA的绘画中生成音素序列。
1.1遵循安装指南
1.2下载英语G2P型号: mfa model download g2p english_us_arpa
1.3从graphemes.txt生成pheneme.txt: mfa g2p graphemes.txt english_us_arpa phoneme.txt
运行python -m src.scripts.inference ,指定参数:
| 条件 | 意义 | 可能的值 | 默认值 |
|---|---|---|---|
-sq | 合成的音素序列 | 在data/phones.json中找到。 | 未设置,必需的参数。 |
-emo | 所需的声音情感的ID | 0:中立,1:生气,2:快乐,3:悲伤,4:惊喜。 | 1 |
-sp | 扬声器声音 | 从1到10,对应于原始ESD表示法中的0011 ... 0020。 | 5 |
-p | 节省合成音频的路径 | 任何具有.wav扩展名的人。 | generation_from_phoneme_sequence.wav |
例如
python -m src.scripts.inference --sq "S P IY2 K ER1 F AY1 V T AO1 K IH0 NG W IH0 TH AE1 NG G R IY0 IH0 M OW0 SH AH0 N"
如果结果文件未综合,请检查inference.log中的OOV手机。