1. 声库制作

这一部分先不做(暂时使用opencpop的数据集),声库要求至少采集4个小时的无背景声的清唱声音,然后利用数据切分、标注工具将数据分为每10秒一段的数据,并附带标注的 transcriptions.txt文件,该文件格式如下:

2001000001|感受停在我发端的指尖|g an sh ou t ing z ai w o f a d uan d e SP zh ir j ian AP|rest|0|0.0317 0.22133 0.15421 0.27382 0.06335 0.25752 0.07101 0.2871 0.03623 0.18238 0.18629 0.33309 0.01471 0.33636 0.01415 0.13811 0.08947 0.12862 0.27719 0.07962 0.61704 0.28463|0
2001000002|如何瞬间冻结时间|r u h e sh un j ian AP SP d ong j ie sh ir j ian SP|rest|0|0.06588 0.22888 0.11684 0.16671 0.18746 0.60779 0.11194 0.88026 0.29713 0.10483 0.03166 0.27938 0.05057 0.16405 0.21149 0.57126 0.13926 1.38028 1.17912|0

“|”分隔的字段分别代表:

  • utterance wav name,切分后的发音片段编号
  • text, 歌词
  • phoneme, 音素
  • note,音符
  • note duration,音符持续时间
  • phoneme duration, 音素持续时间
  • whether the current note is a slur note, 0 no, 1 yes. (是否脏音符)

数据集做好后,将其放置到data/raw下,像这样子:

raw
├── transcriptions.txt
└── wavs
    ├── 2001000001.wav
    |...

2. 数据预处理

export PYTHONPATH=.
CUDA_VISIBLE_DEVICES=0 python data_gen/binarize.py --config configs/acoustic/nomidi.yaml

3. 训练

MY_DS_EXP_NAME自己指定,会在 checkpoint文件夹下生成对应的模型文件夹

CUDA_VISIBLE_DEVICES=0 python run.py --config configs/acoustic/nomidi.yaml --exp_name $MY_DS_EXP_NAME --reset

4. 推理

python main.py path/to/your.ds --exp $MY_DS_EXP_NAME
打赏作者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

CAPTCHA