GPT-SoVITS icon indicating copy to clipboard operation
GPT-SoVITS copied to clipboard

多音字推理优化

Open KamioRinn opened this issue 1 year ago • 14 comments

新增内容:

  1. 使用g2pw进行多音字推理。g2pW
  2. 修改自: PaddleSpeech的g2pw实现PaddleSpeech https://github.com/GitYCC/g2pW/issues/17#issuecomment-1261802805 pypinyin的g2pw实现pypinyin-g2pW

注意事项:

  1. 若g2pw推理出现问题,可使用环境变量is_g2pw=False切换回pypinyin
  2. g2pw模型使用PaddleSpeech针对普通话优化版G2PWModel,非台湾话原版。支持自动下载模型到pretrained models
  3. 需安装OpenCC包
  4. 之前多音字训练歪了的模型可能需要重新训练纠正,否则在推理时可能偶发念错

KamioRinn avatar Feb 14 '24 20:02 KamioRinn

备忘: pip install opencc(默认1.1.7) ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /root/miniconda3/envs/py39webui/lib/python3.9/site-packages/opencc/clib/opencc_clib.cpython-39-x86_64-linux-gnu.so) pip install opencc==1.1.1不会报错(1.1.7的上一个版本)

RVC-Boss avatar Feb 17 '24 15:02 RVC-Boss

File /data/docker/liujing04/gpt-vits/mq-vits-s1bert_no_bert_dpo_new_text/text/g2pw/onnx_api.py:86, in G2PWOnnxConverter.init(self, model_dir, style, model_source, enable_non_tradional_chinese) 84 sess_options.execution_mode = onnxruntime.ExecutionMode.ORT_SEQUENTIAL 85 sess_options.intra_op_num_threads = 2 ---> 86 self.session_g2pW = onnxruntime.InferenceSession( 87 os.path.join(uncompress_path, 'g2pW.onnx'), 88 # sess_options=sess_options, providers=['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']) 89 sess_options=sess_options) 90 self.config = load_config( 91 config_path=os.path.join(uncompress_path, 'config.py'), 92 use_default=True) 94 self.model_source = model_source if model_source else self.config.model_source

File ~/miniconda3/envs/py39webui/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py:360, in InferenceSession.init(self, path_or_bytes, sess_options, providers, provider_options, **kwargs) 357 disabled_optimizers = kwargs["disabled_optimizers"] if "disabled_optimizers" in kwargs else None 359 try: --> 360 self._create_inference_session(providers, provider_options, disabled_optimizers) 361 except ValueError: 362 if self._enable_fallback:

File ~/miniconda3/envs/py39webui/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py:388, in InferenceSession._create_inference_session(self, providers, provider_options, disabled_optimizers) 386 if providers == [] and len(available_providers) > 1: 387 self.disable_fallback() --> 388 raise ValueError( 389 "This ORT build has {} enabled. ".format(available_providers) 390 + "Since ORT 1.9, you are required to explicitly set " 391 + "the providers parameter when instantiating InferenceSession. For example, " 392 "onnxruntime.InferenceSession(..., providers={}, ...)".format(available_providers) 393 ) 395 session_options = self._sess_options if self._sess_options else C.get_default_session_options() 396 if self._model_path:

ValueError: This ORT build has ['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'] enabled. Since ORT 1.9, you are required to explicitly set the providers parameter when instantiating InferenceSession. For example, onnxruntime.InferenceSession(..., providers=['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider'], ...)

RVC-Boss avatar Feb 17 '24 15:02 RVC-Boss

需要手工指定可用的onnx providers

RVC-Boss avatar Feb 17 '24 15:02 RVC-Boss

需要手工指定可用的onnx providers

self.session_g2pW = onnxruntime.InferenceSession( os.path.join(uncompress_path, 'g2pW.onnx'), sess_options=sess_options,providers=['CPUExecutionProvider']) 这样修改能否运行? 我的onnxruntime是1.16.3,并没有提示要指定,但我安装的是普通的onnxruntime,不是onnxruntime-gpu。

KamioRinn avatar Feb 17 '24 15:02 KamioRinn

试了一下,感觉目前效果还是比pypinyin差了一些,还hai老是认成huan,中zhong1老是变成zhong4,着zhe老是变成zhuo

dalan2014 avatar Feb 22 '24 07:02 dalan2014

试了一下,感觉目前效果还是比pypinyin差了一些,还hai老是认成huan,中zhong1老是变成zhong4,着zhe老是变成zhuo

有无具体例子?

KamioRinn avatar Feb 22 '24 07:02 KamioRinn

有无具体例子?

g2pw_VS_pypinyin_example.zip

dalan2014 avatar Feb 25 '24 09:02 dalan2014

0309更新: 1、重构g2pw推理逻辑为整句输入推理,更好的根据上下文来推理多音字结果。 2、添加果脯: ['guo3', 'fu3']、肉脯: ['rou4', 'fu3']正确发音。

@dalan2014 @XXXXRT666 感谢两位大佬帮忙测试,麻烦大佬们再测测重构后的效果

KamioRinn avatar Mar 09 '24 09:03 KamioRinn

0313更新: 1、修复g2pw儿化发一声的问题 2、从字典拉取更多的多音词组消歧

KamioRinn avatar Mar 13 '24 13:03 KamioRinn

实验记录

目的

• 评估g2pw读对多音字的概率

设置

• 实验将在0217、0217-add-g2pw这两个版本中 • 为排除复读和吞字的干扰,使用底膜推理。使用相同的参考文本、参考音频、合成文本、推理设置,在上述两个版本之间做测试。 • 每组实验均采用相同的推理参数:中文,凑50字一切,top_k=5, top_p=1, temperature=1 • 由于无法确定样本生成的随机性,每个实验抽取5个样本作人耳主观评估。 • 注意:v0217(版本) 中,”按标点切“存在报错问题,故均改为”凑50字一切“。V0217-add-g2pw:https://github.com/KamioRinn/GPT-SoVITS/tree/add-g2pw

测试用例

• 参考音频:见附录 • 参考文本:既然罗莎莉亚说足迹上有元素力,用元素视野应该能很清楚地看到吧。 • 合成文本: • 1.茄:我不喜欢抽雪茄(jiā)烟,但我喜欢吃番茄(qié)。 • 2.刨:我刨(bào推刮)平木头,再去刨(páo挖掘)花生。 • 3.弹:这种弹(dàn)弓,弹(tán)力很强。 • 4.颤:听到这个噩耗,小刘颤(zhàn)栗,小陈颤(chàn)抖。 • 5.扒:他扒(bā)下皮鞋,就去追扒(pá)手。 • 6.散:我收集的材料散(sàn)失了,散(sǎn)文没法写了。 • 7.数:两岁能数(shǔ)数(shù)的小孩,已数(shuò)见不鲜了。 • 8.参:人参(shēn)苗长得参(cēn)差不齐,还让人参(cān)观吗。 • 9.会:今天召开的会(kuài)计工作会(huì)议一会(huì)儿就要结束了。 • 10.簸:他用簸(bò)箕簸(bǒ)米。 • 11.吓:敌人的恐吓(hè),吓(xià)不倒他。 • 12.胖:肥胖(pàng)并不都是因为心宽体胖(pán),而是缺少锻炼。 • 13.耙:你用梨耙(bà)耙(bà)地,我用钉耙(pá)耙(pá)草。 • 14.伺:边伺(cì)候他,边窥伺(sì)动静。 • 15.好:好(hào)逸恶劳、好(hào)为人师的做法,都不好(hǎo)。 • 16.咳:咳(haī)!你怎么又咳(ké)起来了? • 17.处:办事处(chù)正在处(chǔ)理这个问题。 • 18.囤:大囤(dùn)、小囤(dùn),都囤(tún)满了粮食。 • 19.缝:这台缝(féng)纫机的台板,有裂缝(fèng)。 • 20.澄:澄(dèng)清混水易,澄(chéng)清问题难。 • 21.扇:他拿着扇(shàn)子,却扇(shān)不来风。 • 22.得:你得(děi)把心得(dé)体会写得(de)具体些。 • 23.屏:他屏(bǐng)气凝神,躲在屏(píng)风后。 • 24.几:这几(jǐ)张茶几(jī),几(jī)乎都要散架了。 • 25.卷:考卷(juàn)被风卷(juǎn)起,飘落到了地上。 • 26.乐:音乐(yuè)老师姓乐(yuè),他乐(lè)于助人。 • 27.了:他了(liào)望半天,对地形早已了(liǎo)如指掌了(le)。 • 28.吭:小李一声不吭(kēng),小王却引吭(háng)高歌。 • 29.粘:胶水不粘(nián)了,书页粘(zhān)不紧。 • 30.畜:畜(xù)牧场里牲畜(chù)多。 • 31.称:称(chèng同“秤”)杆的名称(chēng)、实物要相称(chèn)。 • 32.弄:别在弄(lòng)堂里玩弄(nòng)小鸟。 • 33.俩:他兄弟俩(liǎ)耍猴的伎俩(liǎng)不过如此。 • 34.露:小杨刚一露(lòu)头,就暴露(lù)了目标。 • 35.重:老师很重(zhòng)视这个问题,请重(chóng)说一遍。 • 36.率:他办事从不草率(shuài),效率(lǜ)一向很高。 • 37.空:有空(kòng)闲就好好读书,尽量少说空(kōng)话。 • 38.泊:小船漂泊(bó)在湖泊(pō)里。 • 39.朝:我朝(zhāo)气蓬勃地朝(cháo)前走。 • 40.膀:别看他膀(bǎng)阔腰圆,也许是膀(páng)胱炎使他膀(pāng)肿的吧? • 41.校:上校(xiào)到校(jiào)场找人校(jiào)对材料。 • 42.强:小强(qiáng)很倔强(jiàng),做事别勉强(qiǎng)他。 • 43.塞:(sài)外并不闭塞(sè),塞(sāi)子塞(sāi)不住漏洞。 • 44.辟:随意诬陷人,搞封建复辟(bì)可不行,得辟(pì)谣。 • 45.倒:瓶子倒(dǎo)了,水倒(dào)了出来。 • 46.单:单(shàn,姓)老师说,单(chán匈奴首领)于只会骑马,不会骑单(dān)车。 • 47.折:这两批货物都打折(zhé)出售,严重折(shé)本,他再也经不起这样折(zhē)。 • 48.喝:武松大喝(hè)一声:“快拿酒来!我要喝(hē)十二碗。”博得众食客一阵喝(hè)彩。 • 49.着:你这着(zhāo名词)真绝,让他干着(zháo动词)急,又无法着(zhuó)手应付,心里老是悬着(zhe)。 • 50.蕃:吐蕃(bō藏族的前身)族在青藏高原生活、蕃(fán茂盛、繁多)衍了几千年。 • 51.量:有闲心思量(liáng)她,没度量(liàng)宽容她。野外测量(liáng)要量(liàng)力而行。 • 52.沓:他把纷至沓(tà)来的想法及时写在一沓(dá)纸上,从不见他有疲沓(ta)之色。 • 53.烊:商店晚上也要开门,打烊(yàng晚上关门)过早不好,糖烊(yáng溶化)了都卖不动了。 • 54.载:据史书记载(zǎi),王昭君多才多艺,每逢三年五载(zǎi)汉匈首脑聚会,她都要载(zài)歌载(zài)舞。 • 55.曝:陈涛参加体育锻炼缺乏毅力、一曝(pù)十寒的事情,在校会上被曝(bào)光,他感到十分羞愧。 • 56.宁:尽管他生活一直没宁(níng)静过,但他宁(nìng)死不屈,也不息事宁(níng)人。 • 57.和:天气暖和(huo),小和(hé)在家和(huó动词)泥抹墙;他讲原则性,是非面前,从不和(huò)稀泥,也不随声附和(hè动词)别人,更不会在麻将桌上高喊:“我和(hú)了。” • 58.省:某副省(shěng)长如能早些省(xǐng)悟,就不致于丢官弃职、气得不省(xǐng)人事了。 • 59.拗:这首诗写得太拗(ào)口了,但他执拗(niù)不改,气得我把笔杆都拗(ǎo)断了。 • 60.度:度(dù姓)老师宽宏大度(dù名词),一向度(duó动词)德量力,从不以己度(duó动词)人。 • 61.哄:他那像哄(hǒng)小孩似的话,引得人们哄(hōng)堂大笑,大家听了一哄(hòng)而散。 • 62.丧:他穿着丧(sāng)服,为丧(sāng)葬费发愁,神情沮丧(sàng)、垂头丧(sàng)气。 • 63.差:他每次出差(chāi)差(chà)不多都要出点差(chā)错。 • 64.扎:鱼拼命挣扎(zhá),鱼刺扎(zhā)破了手,他随意包扎(zā)一下。 • 65.埋:他自己懒散,却总是埋(mán)怨别人埋(mái)头工作。 • 66.盛:盛(shèng)老师盛(shèng)情邀我去她家做客,并帮我盛(chéng)饭。 • 67.伧:这个人衣着寒伧(chen),语言伧(cāng)俗。 • 68.创:勇于创(chuàng)造的人,难免会遭受创(chuāng)伤。 • 69.伯:我是她的.大伯(bó),不是她的大伯(bǎi)子。 • 70.疟:发疟(yāo)子就是患了疟(nǜe)疾。 • 71.看:看(kān)守大门的保安,也很喜欢看(kàn)小说。 • 72.行:银行(háng)发行(xíng)股票,报纸刊登行(háng)情。 • 73.艾:他在耆艾(ài)之年得了艾(ài)滋病,整天自怨自艾(yì)。 • 74.把:你把(bǎ)水缸把(bà)摔坏了,以后使用没把(bǎ)柄了。 • 75.传:《鸿门宴》是汉代传(zhuàn)记,而不是唐代传(chuán)奇。 • 76.荷:荷(hé)花旁边,站着一位荷(hè)枪实弹的战士。 • 77.涨:我说她涨(zhǎng)了工资,她就涨(zhàng)红着脸,摇头否认。 • 78.奇:数学中奇(jī)数,是最奇(qí)妙的。 • 79.炮:能用打红的炮(pào)筒,炮(bāo)羊肉和炮(páo)制药材吗? • 80.给:请把这封信交给(gěi)团长,告诉他,前线的供给(jǐ)一定要有保障。 • 81.冠:他得了冠(guàn)军后,就有点冠(guān)冕堂皇了。 • 82.干:穿着干(gān)净的衣服,干(gàn)脏活,真有点不协调。 • 83.巷:矿下的巷(hàng)道,与北京四合院的小巷(xiàng)有点相似。 • 84.薄:薄(bò)荷油味不薄(báo),很受欢迎,但要薄(bó)利多销。 • 85.恶:这条恶(è)狗,真可恶(wù),满身臭味,让人闻了就恶(ě)心。 • 86.便:局长大腹便便(pián),行动不便(biàn)。 • 87.宿:小明在宿(sù)舍说了一宿(xiǚ)有关星宿(xiǜ)的常识。 • 88.号:受了批评,那几名小号(hào)手都号(háo)啕大哭起来。 • 89.藏:西藏(zàng)的布达拉宫,是收藏(cáng)大藏(zàng)经的宝藏(zàng)。 • 90.轧:轧(zhá)钢车间的工人很团结,没有相互倾轧(yà)的现象。 • 91.卡:这辆藏匿毒品的卡(kǎ)车,在过关卡(qiǎ)时被截住了。 • 92.调:出现矛盾要先调(diào)查,然后调(tiáo)解。 • 93.模:这两件瓷器,模(mú)样很相似,像是由一个模(mó)型做出来的。 • 94.没:驾车违章,证件被交警没(mò)收了,他仍像没(méi)事一样。 • 95.舍:我真舍(shě)不得离开住了这么多年的宿舍(shè)。 • 96.殷:老林家境殷(yīn)实,那清一色殷(yān)红的实木家具,令人赞叹不已。 • 97.还:下课后,我还(hái)要去图书馆还(huán)书。 • 98.系:你得系(jì)上红领巾,去学校联系(xì)少先队员,来参加活动。 • 99.假:假(jiǎ)如儿童节,学校不放假(jià),我们怎么办? • 100.降:我们有办法,使从空中降(jiàng)落的敌人投降(xiáng)。

结果

• 括号中✓代表读对×代表读错 • 注意,有限次数的频率只能大致描述情况,并不代表概率。 0217-add-g2pw版 • 1.茄:我不喜欢抽雪茄(✓)烟,但我喜欢吃番茄(✓)。 • 2.刨:我刨(×)推刮平木头,再去刨(✓)挖掘花生。 • 3.弹:这种弹(×)弓,弹(✓)力很强。 • 4.颤:听到这个噩耗,小刘颤(✓)栗,小陈颤(✓)抖。 • 5.扒:他扒(×)下皮鞋,就去追扒(✓)手。 • 6.散:我收集的材料散(✓)失了,散(×)文没法写了。 • 7.数:两岁能数(×)数(✓)的小孩,已数(×)见不鲜了。 • 8.参:人参(✓)苗长得参(✓)差不齐,还让人参(✓)观吗。 • 9.会:今天召开的会(✓)计工作会(✓)议一会(✓)儿就要结束了。 • 10.簸:他用簸(✓)箕簸(✓)米。 • 11.吓:敌人的恐吓(✓),吓(✓)不倒他。 • 12.胖:肥胖(✓)并不都是因为心宽体胖(✓),而是缺少锻炼。 • 13.耙:你用梨耙(×)耙(✓)地,我用钉耙(✓)耙(✓)草。 • 14.伺:边伺(✓)候他,边窥伺(✓)动静。 • 15.好:好(✓)逸恶劳、好(✓)为人师的做法,都不好(✓)。 • 16.咳:咳(×)!你怎么又咳(✓)起来了? • 17.处:办事处(✓)正在处(✓)理这个问题。 • 18.囤:大囤(×)、小囤(×),都囤(✓)满了粮食。 • 19.缝:这台缝(✓)纫机的台板,有裂缝(✓)。 • 20.澄:澄(×)清混水易,澄(✓)清问题难。 • 21.扇:他拿着扇(✓)子,却扇(×)不来风。 • 22.得:你得(✓)把心得(✓)体会写得(✓)具体些。 • 23.屏:他屏(✓)气凝神,躲在屏(✓)风后。 • 24.几:这几(✓)张茶几(✓),几(✓)乎都要散架了。 • 25.卷:考卷(✓)被风卷(✓)起,飘落到了地上。 • 26.乐:音乐(✓)老师姓乐(✓),他乐(✓)于助人。 • 27.了:他了(✓)望半天,对地形早已了(✓)如指掌了(✓)。 • 28.吭:小李一声不吭(✓),小王却引吭(✓)高歌。 • 29.粘:胶水不粘(✓)了,书页粘(×)不紧。 • 30.畜:畜(✓)牧场里牲畜(✓)多。 • 31.称:称(✓同“秤”)杆的名称(✓)、实物要相称(✓)。 • 32.弄:别在弄(×)堂里玩弄(✓)小鸟。 • 33.俩:他兄弟俩(✓)耍猴的伎俩(✓)不过如此。 • 34.露:小杨刚一露(✓)头,就暴露(✓)了目标。 • 35.重:老师很重(✓)视这个问题,请重(✓)说一遍。 • 36.率:他办事从不草率(✓),效率(✓)一向很高。 • 37.空:有空(✓)闲就好好读书,尽量少说空(✓)话。 • 38.泊:小船漂泊(✓)在湖泊(✓)里。 • 39.朝:我朝(✓)气蓬勃地朝(✓)前走。 • 40.膀:别看他膀(✓)阔腰圆,也许是膀(✓)胱炎使他膀(×)肿的吧? • 41.校:上校(✓)到校(×)场找人校(×)对材料。 • 42.强:小强(✓)很倔强(✓),做事别勉强(✓)他。 • 43.塞:(×)外并不闭塞(×),塞(✓)子塞(✓)不住漏洞。 • 44.辟:随意诬陷人,搞封建复辟(✓)可不行,得辟(✓)谣。 • 45.倒:瓶子倒(✓)了,水倒(✓)了出来。 • 46.单:单(×,姓)老师说,单(✓匈奴首领)于只会骑马,不会骑单(✓)车。 • 47.折:这两批货物都打折(✓)出售,严重折(✓)本,他再也经不起这样折(✓)。 • 48.喝:武松大喝(✓)一声:“快拿酒来!我要喝(✓)十二碗。”博得众食客一阵喝(✓)彩。 • 49.着:你这着(×名词)真绝,让他干着(×动词)急,又无法着(✓)手应付,心里老是悬着(✓)。 • 50.蕃:吐蕃(✓藏族的前身)族在青藏高原生活、蕃(✓茂盛、繁多)衍了几千年。 • 51.量:有闲心思量(✓)她,没度量(✓)宽容她。野外测量(✓)要量(✓)力而行。 • 52.沓:他把纷至沓(✓)来的想法及时写在一沓(✓)纸上,从不见他有疲沓(✓)之色。 • 53.烊:商店晚上也要开门,打烊(✓晚上关门)过早不好,糖烊(✓溶化)了都卖不动了。 • 54.载:据史书记载(✓),王昭君多才多艺,每逢三年五载(✓)汉匈首脑聚会,她都要载(✓)歌载(✓)舞。 • 55.曝:陈涛参加体育锻炼缺乏毅力、一曝(✓)十寒的事情,在校会上被曝(✓)光,他感到十分羞愧。 • 56.宁:尽管他生活一直没宁(✓)静过,但他宁(✓)死不屈,也不息事宁(✓)人。 • 57.和:天气暖和(✓),小和(✓)在家和(✓动词)泥抹墙;他讲原则性,是非面前,从不和(✓)稀泥,也不随声附和(✓动词)别人,更不会在麻将桌上高喊:“我和(✓)了。” • 58.省:某副省(✓)长如能早些省(✓)悟,就不致于丢官弃职、气得不省(✓)人事了。 • 59.拗:这首诗写得太拗(✓)口了,但他执拗(✓)不改,气得我把笔杆都拗(✓)断了。 • 60.度:度(✓姓)老师宽宏大度(✓名词),一向度(×动词)德量力,从不以己度(×动词)人。 • 61.哄:他那像哄(✓)小孩似的话,引得人们哄(✓)堂大笑,大家听了一哄(✓)而散。 • 62.丧:他穿着丧(✓)服,为丧(✓)葬费发愁,神情沮丧(✓)、垂头丧(✓)气。 • 63.差:他每次出差(✓)差(✓)不多都要出点差(✓)错。 • 64.扎:鱼拼命挣扎(✓),鱼刺扎(✓)破了手,他随意包扎(✓)一下。 • 65.埋:他自己懒散,却总是埋(×)怨别人埋(✓)头工作。 • 66.盛:盛(✓)老师盛(✓)情邀我去她家做客,并帮我盛()饭。 • 67.伧:这个人衣着寒伧(✓),语言伧(✓)俗。 • 68.创:勇于创(✓)造的人,难免会遭受创(✓)伤。 • 69.伯:我是她的.大伯(✓),不是她的大伯(✓)子。 • 70.疟:发疟(✓)子就是患了疟(✓)疾。 • 71.看:看(✓)守大门的保安,也很喜欢看(✓)小说。 • 72.行:银行(✓)发行(✓)股票,报纸刊登行(✓)情。 • 73.艾:他在耆艾(✓)之年得了艾(✓)滋病,整天自怨自艾(✓)。 • 74.把:你把(✓)水缸把(✓)摔坏了,以后使用没把(✓)柄了。 • 75.传:《鸿门宴》是汉代传(✓)记,而不是唐代传(✓)奇。 • 76.荷:荷(✓)花旁边,站着一位荷(✓)枪实弹的战士。 • 77.涨:我说她涨(✓)了工资,她就涨(✓)红着脸,摇头否认。 • 78.奇:数学中奇(✓)数,是最奇(✓)妙的。 • 79.炮:能用打红的炮(✓)筒,炮()羊肉和炮(✓)制药材吗? • 80.给:请把这封信交给(✓)团长,告诉他,前线的供给(✓)一定要有保障。 • 81.冠:他得了冠(✓)军后,就有点冠(✓)冕堂皇了。 • 82.干:穿着干(✓)净的衣服,干(✓)脏活,真有点不协调。 • 83.巷:矿下的巷(✓)道,与北京四合院的小巷(✓)有点相似。 • 84.薄:薄(✓)荷油味不薄(×),很受欢迎,但要薄(✓)利多销。 • 85.恶:这条恶(✓)狗,真可恶(✓),满身臭味,让人闻了就恶(✓)心。 • 86.便:局长大腹便便(✓),行动不便(✓)。 • 87.宿:小明在宿(✓)舍说了一宿(✓)有关星宿(✓)的常识。 • 88.号:受了批评,那几名小号(✓)手都号(✓)啕大哭起来。 • 89.藏:西藏(✓)的布达拉宫,是收藏(✓)大藏(✓)经的宝藏(✓)。 • 90.轧:轧(✓)钢车间的工人很团结,没有相互倾轧(✓)的现象。 • 91.卡:这辆藏匿毒品的卡(✓)车,在过关卡(✓)时被截住了。 • 92.调:出现矛盾要先调(✓)查,然后调(✓)解。 • 93.模:这两件瓷器,模(×)样很相似,像是由一个模(✓)型做出来的。 • 94.没:驾车违章,证件被交警没(×)收了,他仍像没(✓)事一样。 • 95.舍:我真舍(✓)不得离开住了这么多年的宿舍(✓)。 • 96.殷:老林家境殷(✓)实,那清一色殷(✓)红的实木家具,令人赞叹不已。 • 97.还:下课后,我还(✓)要去图书馆还(✓)书。 • 98.系:你得系(✓)上红领巾,去学校联系(✓)少先队员,来参加活动。 • 99.假:假(✓)如儿童节,学校不放假(✓),我们怎么办? • 100.降:我们有办法,使从空中降(✓)落的敌人投降(✓)。

0217版 • 1.茄:我不喜欢抽雪茄(✓)烟,但我喜欢吃番茄(✓)。 • 2.刨:我刨(×)推刮平木头,再去刨(✓)挖掘花生。 • 3.弹:这种弹(×)弓,弹(✓)力很强。 • 4.颤:听到这个噩耗,小刘颤(✓)栗,小陈颤(✓)抖。 • 5.扒:他扒(×)下皮鞋,就去追扒(✓)手。 • 6.散:我收集的材料散(✓)失了,散(×)文没法写了。 • 7.数:两岁能数(×)数(✓)的小孩,已数(×)见不鲜了。 • 8.参:人参(✓)苗长得参(✓)差不齐,还让人参(✓)观吗。 • 9.会:今天召开的会(✓)计工作会(✓)议一会(✓)儿就要结束了。 • 10.簸:他用簸(✓)箕簸(✓)米。 • 11.吓:敌人的恐吓(✓),吓(✓)不倒他。 • 12.胖:肥胖(✓)并不都是因为心宽体胖(✓),而是缺少锻炼。 • 13.耙:你用梨耙(✓)耙(✓)地,我用钉耙(✓)耙(✓)草。 • 14.伺:边伺(✓)候他,边窥伺(✓)动静。 • 15.好:好(✓)逸恶劳、好(✓)为人师的做法,都不好(✓)。 • 16.咳:咳(×)!你怎么又咳(✓)起来了? • 17.处:办事处(✓)正在处(✓)理这个问题。 • 18.囤:大囤(✓)、小囤(✓),都囤(×)满了粮食。 • 19.缝:这台缝(✓)纫机的台板,有裂缝(✓)。 • 20.澄:澄(×)清混水易,澄(✓)清问题难。 • 21.扇:他拿着扇(✓)子,却扇(×)不来风。 • 22.得:你得(✓)把心得(✓)体会写得(✓)具体些。 • 23.屏:他屏(✓)气凝神,躲在屏(✓)风后。 • 24.几:这几(✓)张茶几(✓),几(✓)乎都要散架了。 • 25.卷:考卷(✓)被风卷(✓)起,飘落到了地上。 • 26.乐:音乐(✓)老师姓乐(✓),他乐(✓)于助人。 • 27.了:他了(×)望半天,对地形早已了(✓)如指掌了(✓)。 • 28.吭:小李一声不吭(✓),小王却引吭(✓)高歌。 • 29.粘:胶水不粘(×)了,书页粘(×)不紧。 • 30.畜:畜(✓)牧场里牲畜(✓)多。 • 31.称:称(✓同“秤”)杆的名称(✓)、实物要相称(✓)。 • 32.弄:别在弄(×)堂里玩弄(✓)小鸟。 • 33.俩:他兄弟俩(✓)耍猴的伎俩(✓)不过如此。 • 34.露:小杨刚一露(✓)头,就暴露(✓)了目标。 • 35.重:老师很重(✓)视这个问题,请重(✓)说一遍。 • 36.率:他办事从不草率(✓),效率(✓)一向很高。 • 37.空:有空(✓)闲就好好读书,尽量少说空(×)话。 • 38.泊:小船漂泊(✓)在湖泊(✓)里。 • 39.朝:我朝(✓)气蓬勃地朝(✓)前走。 • 40.膀:别看他膀(✓)阔腰圆,也许是膀(✓)胱炎使他膀(×)肿的吧? • 41.校:上校(✓)到校(×)场找人校(×)对材料。 • 42.强:小强(✓)很倔强(✓),做事别勉强(✓)他。 • 43.塞:(×)外并不闭塞(×),塞(✓)子塞(✓)不住漏洞。 • 44.辟:随意诬陷人,搞封建复辟(✓)可不行,得辟(✓)谣。 • 45.倒:瓶子倒(✓)了,水倒(×)了出来。 • 46.单:单(×,姓)老师说,单(×匈奴首领)于只会骑马,不会骑单(✓)车。 • 47.折:这两批货物都打折(✓)出售,严重折(×)本,他再也经不起这样折(✓)。 • 48.喝:武松大喝(✓)一声:“快拿酒来!我要喝(✓)十二碗。”博得众食客一阵喝(✓)彩。 • 49.着:你这着(×名词)真绝,让他干着(×动词)急,又无法着(✓)手应付,心里老是悬着(✓)。 • 50.蕃:吐蕃(✓藏族的前身)族在青藏高原生活、蕃(✓茂盛、繁多)衍了几千年。 • 51.量:有闲心思量(✓)她,没度量(✓)宽容她。野外测量(✓)要量(✓)力而行。 • 52.沓:他把纷至沓(✓)来的想法及时写在一沓(✓)纸上,从不见他有疲沓(✓)之色。 • 53.烊:商店晚上也要开门,打烊(✓晚上关门)过早不好,糖烊(✓溶化)了都卖不动了。 • 54.载:据史书记载(✓),王昭君多才多艺,每逢三年五载(✓)汉匈首脑聚会,她都要载(✓)歌载(✓)舞。 • 55.曝:陈涛参加体育锻炼缺乏毅力、一曝(✓)十寒的事情,在校会上被曝(✓)光,他感到十分羞愧。 • 56.宁:尽管他生活一直没宁(✓)静过,但他宁(✓)死不屈,也不息事宁(✓)人。 • 57.和:天气暖和(✓),小和(✓)在家和(×动词)泥抹墙;他讲原则性,是非面前,从不和(✓)稀泥,也不随声附和(✓动词)别人,更不会在麻将桌上高喊:“我和(×)了。” • 58.省:某副省(✓)长如能早些省(✓)悟,就不致于丢官弃职、气得不省(✓)人事了。 • 59.拗:这首诗写得太拗(✓)口了,但他执拗(✓)不改,气得我把笔杆都拗(✓)断了。 • 60.度:度(✓姓)老师宽宏大度(✓名词),一向度(×动词)德量力,从不以己度(×动词)人。 • 61.哄:他那像哄(✓)小孩似的话,引得人们哄(✓)堂大笑,大家听了一哄(×)而散。 • 62.丧:他穿着丧(×)服,为丧(✓)葬费发愁,神情沮丧(✓)、垂头丧(✓)气。 • 63.差:他每次出差(✓)差(✓)不多都要出点差(✓)错。 • 64.扎:鱼拼命挣扎(✓),鱼刺扎(×)破了手,他随意包扎(✓)一下。 • 65.埋:他自己懒散,却总是埋(×)怨别人埋(✓)头工作。 • 66.盛:盛(✓)老师盛(✓)情邀我去她家做客,并帮我盛()饭。 • 67.伧:这个人衣着寒伧(✓),语言伧(✓)俗。 • 68.创:勇于创(✓)造的人,难免会遭受创(✓)伤。 • 69.伯:我是她的.大伯(✓),不是她的大伯(✓)子。 • 70.疟:发疟(✓)子就是患了疟(✓)疾。 • 71.看:看(✓)守大门的保安,也很喜欢看(✓)小说。 • 72.行:银行(✓)发行(✓)股票,报纸刊登行(✓)情。 • 73.艾:他在耆艾(✓)之年得了艾(✓)滋病,整天自怨自艾(✓)。 • 74.把:你把(✓)水缸把(✓)摔坏了,以后使用没把(✓)柄了。 • 75.传:《鸿门宴》是汉代传(✓)记,而不是唐代传(✓)奇。 • 76.荷:荷(✓)花旁边,站着一位荷(✓)枪实弹的战士。 • 77.涨:我说她涨(✓)了工资,她就涨(×)红着脸,摇头否认。 • 78.奇:数学中奇(✓)数,是最奇(✓)妙的。 • 79.炮:能用打红的炮(✓)筒,炮()羊肉和炮(✓)制药材吗? • 80.给:请把这封信交给(✓)团长,告诉他,前线的供给(✓)一定要有保障。 • 81.冠:他得了冠(✓)军后,就有点冠(✓)冕堂皇了。 • 82.干:穿着干(✓)净的衣服,干(✓)脏活,真有点不协调。 • 83.巷:矿下的巷(✓)道,与北京四合院的小巷(✓)有点相似。 • 84.薄:薄(✓)荷油味不薄(✓),很受欢迎,但要薄(✓)利多销。 • 85.恶:这条恶(✓)狗,真可恶(✓),满身臭味,让人闻了就恶(✓)心。 • 86.便:局长大腹便便(✓),行动不便(✓)。 • 87.宿:小明在宿(✓)舍说了一宿(✓)有关星宿(✓)的常识。 • 88.号:受了批评,那几名小号(✓)手都号(✓)啕大哭起来。 • 89.藏:西藏(✓)的布达拉宫,是收藏(✓)大藏(✓)经的宝藏(✓)。 • 90.轧:轧(✓)钢车间的工人很团结,没有相互倾轧(✓)的现象。 • 91.卡:这辆藏匿毒品的卡(✓)车,在过关卡(✓)时被截住了。 • 92.调:出现矛盾要先调(✓)查,然后调(✓)解。 • 93.模:这两件瓷器,模(×)样很相似,像是由一个模(✓)型做出来的。 • 94.没:驾车违章,证件被交警没(×)收了,他仍像没(✓)事一样。 • 95.舍:我真舍(✓)不得离开住了这么多年的宿舍(✓)。 • 96.殷:老林家境殷(✓)实,那清一色殷(✓)红的实木家具,令人赞叹不已。 • 97.还:下课后,我还(✓)要去图书馆还(✓)书。 • 98.系:你得系(×)上红领巾,去学校联系(✓)少先队员,来参加活动。 • 99.假:假(✓)如儿童节,学校不放假(✓),我们怎么办? • 100.降:我们有办法,使从空中降(✓)落的敌人投降(✓)。 版本 0217 0217-add-g2pw 准确率 70% 78% • 懒了,不做了,但是能大概反应情况了。

结论

• 懒得写了

附录

• g2pw推理速度会再慢一些 • 好像g2pw合成的语音电音更少

baicai-1145 avatar Mar 16 '24 08:03 baicai-1145

实验记录

目的 测试g2pw和pypinyin准确率

测试用例 https://github.com/RVC-Boss/GPT-SoVITS/pull/488#issuecomment-2001904247

测试结果

总样本 pypinyin g2pw
248 87.9% 91.94%

KamioRinn avatar Mar 16 '24 14:03 KamioRinn

Mac M系列使用opencc:

pip uninstall opencc
pip install opencc-python-reimplemented

XXXXRT666 avatar Mar 19 '24 01:03 XXXXRT666

Mac M系列使用opencc:

pip uninstall opencc
pip install opencc-python-reimplemented

直接安装opencc会在开启推理webUI时产生如下报错:

"/opt/anaconda3/envs/GPTSoVITS/bin/python" GPT_SoVITS/inference_webui.py
当前使用g2pw进行拼音推理
Traceback (most recent call last):
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/inference_webui.py", line 64, in <module>
    from text.cleaner import clean_text
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/cleaner.py", line 1, in <module>
    from text import chinese, japanese, cleaned_text_to_sequence, symbols, english
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/chinese.py", line 27, in <module>
    from text.g2pw import G2PWPinyin, correct_pronunciation
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/__init__.py", line 1, in <module>
    from text.g2pw.g2pw import *
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/g2pw.py", line 11, in <module>
    from .onnx_api import G2PWOnnxConverter
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/onnx_api.py", line 14, in <module>
    from opencc import OpenCC
  File "/opt/anaconda3/envs/GPTSoVITS/lib/python3.9/site-packages/opencc.py", line 24, in <module>
    libopencc = CDLL('libopencc.so.1', use_errno=True)
  File "/opt/anaconda3/envs/GPTSoVITS/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(libopencc.so.1, 0x0006): tried: 'libopencc.so.1' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibopencc.so.1' (no such file), '/opt/anaconda3/envs/GPTSoVits/lib/python3.9/lib-dynload/../../libopencc.so.1' (no such file), '/opt/anaconda3/envs/GPTSoVits/bin/../lib/libopencc.so.1' (no such file), '/usr/lib/libopencc.so.1' (no such file, not in dyld cache), 'libopencc.so.1' (no such file), '/usr/local/lib/libopencc.so.1' (no such file), '/usr/lib/libopencc.so.1' (no such file, not in dyld cache)

XXXXRT666 avatar Mar 19 '24 01:03 XXXXRT666

还有没有优化的空间?外挂一个对照表?

已修复了

KamioRinn avatar Mar 22 '24 10:03 KamioRinn

Mac M系列使用opencc:

pip uninstall opencc
pip install opencc-python-reimplemented

直接安装opencc会在开启推理webUI时产生如下报错:

"/opt/anaconda3/envs/GPTSoVITS/bin/python" GPT_SoVITS/inference_webui.py
当前使用g2pw进行拼音推理
Traceback (most recent call last):
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/inference_webui.py", line 64, in <module>
    from text.cleaner import clean_text
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/cleaner.py", line 1, in <module>
    from text import chinese, japanese, cleaned_text_to_sequence, symbols, english
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/chinese.py", line 27, in <module>
    from text.g2pw import G2PWPinyin, correct_pronunciation
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/__init__.py", line 1, in <module>
    from text.g2pw.g2pw import *
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/g2pw.py", line 11, in <module>
    from .onnx_api import G2PWOnnxConverter
  File "/Users/zhongruntong/Desktop/GPT-SoVITS fast inference 2/GPT_SoVITS/text/g2pw/onnx_api.py", line 14, in <module>
    from opencc import OpenCC
  File "/opt/anaconda3/envs/GPTSoVITS/lib/python3.9/site-packages/opencc.py", line 24, in <module>
    libopencc = CDLL('libopencc.so.1', use_errno=True)
  File "/opt/anaconda3/envs/GPTSoVITS/lib/python3.9/ctypes/__init__.py", line 382, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(libopencc.so.1, 0x0006): tried: 'libopencc.so.1' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibopencc.so.1' (no such file), '/opt/anaconda3/envs/GPTSoVits/lib/python3.9/lib-dynload/../../libopencc.so.1' (no such file), '/opt/anaconda3/envs/GPTSoVits/bin/../lib/libopencc.so.1' (no such file), '/usr/lib/libopencc.so.1' (no such file, not in dyld cache), 'libopencc.so.1' (no such file), '/usr/local/lib/libopencc.so.1' (no such file), '/usr/lib/libopencc.so.1' (no such file, not in dyld cache)

same in ubuntu:

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/huangganggui/miniconda3/envs/GPTSoVits/lib/python3.9/site-packages/opencc/clib/opencc_clib.cpython-39-x86_64-linux-gnu.so)

pip install opencc==1.1.6 will fix it

huangganggui avatar Jun 27 '24 08:06 huangganggui

@KamioRinn 多音字效果非常好,赞。但感觉优化过后音调变了

test.zip

huangganggui avatar Jun 27 '24 08:06 huangganggui

@RVC-Boss 请问这个分支会merge吗?

huangganggui avatar Jul 09 '24 02:07 huangganggui

@RVC-Boss 请问这个分支会merge吗?

已合并进v2最新代码

RVC-Boss avatar Aug 06 '24 06:08 RVC-Boss