||
最近我自己用某款支持“文字转语音”功能的录屏软件录了点视频,有点想法请科学网上搞语音引擎的大腕研究研究。
所谓“文字转语音”功能,实际也就是让你下载一个语音引擎,然后根据你输入的文字自动转换成语音。我在使用的时候发现一个问题,那就是不能自动识别多音字。比如“为”这个字有二声和四声两种音调,这个软件统一给读成了四声,让人听起来十分别扭。这倒难不住我,因为所谓语音,只是让人听而不是让人看的,所以我就用“围”字代替了“为”,这样听上去就正常了。但是这样一来,软件自动生成的字幕又会出问题,所以还要手动打新的字幕,好在工作量不大,细心点也就可以了,但是究竟不爽。
我现在有个想法,如果说现在让语音引擎完全自动识别多音字尚有难度,何不采取一些变通方法?比如同一个字的读音再多,也不会超过十个(据说“哪”字的读音最多,有九个音),所以我想是不是可以采取类似C语言里“转义字符”的方法?以“为”字为例,如果我们写的是“为\1人民服务”,读出来的就是四声,如果我们写的是“为\2乡里所患”,就读成二声,同时软件自动生成字幕时自动过滤掉\1、\2等等这些字符。这样做的好处是,如果某个多音字的不常用的音找不到别的同音字,也没有问题。
类似的,某些字虽然不是多音字,但在连读的时候往往需要转音,也可以用这个办法解决,“一”字就是这样:它只有一声的音,但在句子或者组词时往往可能读成二声或者四声,比如“一个”“一分钱”等等。转义字符也可以用来处理这样的问题。
当然,这里要注意一些特殊情况,比如如果想让\1、\2等字符不作为转义字符而作为普通字符,怎么办?我想,C语言里对转义字符的处理和定义可以给我们更多启发。科学网上的先生们大多学过C或者类似的程序语言,不用我多废话了吧。
用这种转义字符还有一个好处,那就是可以故意设一些错音,让学汉语的外国人判断对错。
转义字符在语音引擎里还可以有更多用途,比如用来设置重音等等。不知道我的这个建议是否可行。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 13:06
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社