Charsiu-G2P
‒ 输入格式:“language关键字+文本”首先过transformer-AutoTokenizer按照letter进行编码;编码序列送入charsiug2p模型(T5ForConditionalGeneration)
‒ 输出格式:输出也是来源于发音词典 & g2p 模型预测结果两个部分
输入文本 | g2p |
---|---|
德语 words = [‘Deutsche’, ‘aktuelle’, ‘politische’, ‘Nachrichten’, ‘und’, ‘öffentliche’, ‘Topthemen’] | [‘ˈdɔøʧə’, ‘ʔaktuɛllə’, ‘ˈpoːlitɪʃə’, ‘ˈnaxˌɾɪçtən’, ‘ˈʔʊnt’, ‘ʔœfˈfɛntlɪçə’, ‘ˈtɔptəmən’] (–输出结果有问号??) |
英语 words = [‘Char’, ‘siu’, ‘is’, ‘a’, ‘Cantonese’, ‘style’, ‘of’, ‘barbecued’, ‘pork’] | [‘ˈtʃɑɹ’, ‘ˈʃu’, ‘ˈɪs’, ‘ˈeɪ’, ‘ˌkæntəˈniz’, ‘ˈstaɪɫ’, ‘ˈəf’, ‘ˈbɑɹbɪkˌjud’, ‘ˈpɔɹk’] |
中文words = [‘高’, ‘德’, ‘地’, ‘图’] (一个中文对应6个byte-encoding) | [‘kɑʊ˥˥’, ‘tɤ˧˥’, ‘ti˥˩’, ‘tʰu˧˥’] |
日文words = ['こんにちは‘] | [‘koɴnitɕiha’] |
基于CharsiuG2P结果的TTS工作
- abstract
- 爬取wiki上多个语言的文本,使用RoBert训练的方法和模型,随机mask文本,进行预测(取消预测下一句的任务);得到多语言phone-bert encoding;(330M phonemic description sentences, over 100+ language)
- 这个encoder作为TTS 的text-encoder,效果比单独使用phone-encoding的VITS ,自然度有明显提升;
- 步骤;
- 文本数据清洗;
- CharsiuG2P将文本转成phone,但是由于CharsiuG2P本身不会对单词对应的phone进行分界(输入一个单词返回一个序列结果;输入一句话,也是只有一个序列结果),所以使用音素结果分词工具 对CharsiuG2P的结果拆分;不同单词的phone结果之间用“symbol _ (U+2581)“进行分隔;----这一步整体的操作,作者做成了一个python包-text2phonemesequence,
- white-space level tokenizer 得到1960 音素单元;(transformer不同的tokenizer方式