-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
调整英文格式化输出和英文G2P逻辑 #821
调整英文格式化输出和英文G2P逻辑 #821
Conversation
KamioRinn
commented
Mar 19, 2024
- 将g2p_en的文字格式化内容前移至text_normalize,暴露至命令行使显示的文字与实际生成音素文字对应。
- 重写g2p_en推理逻辑,将缩写A发音修正为"EY1",量词a仍保持为"AH0"。同时减少递归重复运算。
- 扩展所有格xxx's推理应有的三个正确发音。
所以现在用最新的代码训练模型,不会再把“AI”读作“爱”了,是吧? |
无英文素材不需要训练 |
谢谢回复,我去试试 |
@KamioRinn 现在很多英文人名读不出来了,比如Shenny 这个人名,以前是可以读出来 ['SH', 'EH1', 'N', 'IY0'] 的,现在读作 ['SH', 'EH1', 'N', 'EH1', 'N', 'W', 'AY1'] 后面两个字母直接发单个字母音了。 |
现在的算法逻辑是为了应对复合词(chatgpt、openai、xiaomi)等,对字典里没有的词先考虑进行拆分尝试从字典里查找读音。查找不到的如果小于三个字母就当缩写去读了,长于三个的就还是交由g2p_en predict预测。 |
这个感觉没有太好的办法,如果从字母大小写入手,建议可以细化一下:
|
原版Predict的准确性非常低,所以才被换掉了。尝试了几个大模型,测试下都不如现在分词逻辑靠谱。控制用户输入也是特别难的一件事,本身的文本就不知道是哪里复制的,不少都不是自己写的。 其实字典里面有一些传统英文名,但是英文名的自由度很高,长度也没限制,组合也没限制,越起越花,还有一些是外国名转换的。其中一些分词就能直接读出来,一些压根可以说跟传统英文单词毫无关联… 我试着跑了一份英文姓名字典,名字数据来自fb,筛选出现2000次以上的英美加地区名字,对其中无法直接分词朗读的名字用模型预测了读音,我晚些时候传上来,如果你有人名朗读需求可以试试看 |
赞,这类人名确实是移民后裔的名字,起的没有任何章法,通过挂专门的.dict来补充吧,不要影响现在的逻辑了。 |
可以看一下#869 |