ppgs

it2024-12-17  14

0. 说明

使用sch给的ForceAlignment好的aishell1语料, 训练ASR, 用来提取PPG

alignment是有0.9和1.1增强的, 去掉就好

alignment文件在: 链接:https://pan.baidu.com/s/1pWWH1mUFWsdi9xgbDVa3xQ  提取码:4h5a 

Git: https://github.com/ruclion/ppgs_extractor_10ms_sch_lh_aishell1

Lab路径: /datapool/home/hujk17/ppgs_extractor_10ms_sch_lh_aishell1

0.1. Alignment文件的制作

目前不会TODO...先贴出来大家讨论的供参考~(感谢):

方案1: kaldi按步骤(我猜是ForceAlignment的结果, 猜的哈, 具体的去kaldi中应该很简单~)方案2: 可以类似MFA 一样,提取每个音素的时长,再把每一帧对应到到音素(每一个音素作为一个类别)

1. 数据处理

wav_16000|

                   |- train |

                              |- S0727 |

                                            |- BAC009S0730W0126.wav

                   |- test |...

                   |- dev |...

 

1.1. 提取MFCC

文件: ppgs_extractor_10ms_sch_lh_aishell1/AiShell1/Get_MFCC_AiShell1.py

超参数和librispeech一样文件夹MFCCs设置为单层目录

1.2. 提取PPG

文件: ppgs_extractor_10ms_sch_lh_aishell1/AiShell1/Get_PPG_Aishell1.py

去掉sp文件名的条目即可

没有变成one-hot, 以后用的时候变:

一共有218个phones, 

第1行, 0标记为<eps>, 1为sil, 217为zh, 218为空-无字符

alignment文件中编号只有1~217, 按理说维度之后是217, 不过因为英文librispeech多算了一个, 也就是用了最后一个字符的行数

因此中文aishell1也用行数218

1.3. 制作meta.txt

判断frames相同, 切分为训练集和测试机

2. aishell1_dataset和train相关(TF1.x)

不改, padding_batch, 每次shuffle, 不sort

3. train_aishell1

未改动

4. model和超参

5. 提取PPG的代码

和之前一样, 例如: https://github.com/ruclion/bilingual-ppg/blob/EnglishASR-hujiankun590-1019/wav_extract_ppg/generate_batch_XXX_5ms.py

这是旧的, 新的参看下一节

6. 进行对LJSpeech和DataBaker的Mandarin-PPG提取

完全拷贝英文的那里: https://blog.csdn.net/u013625492/article/details/109201157

注意改:

文件路径ckpt路径PPG dim拷贝audio_hjk2.py过去

 

最新回复(0)