科学风景真好分享 http://blog.sciencenet.cn/u/sunbing01

博文

刘瑞祥:我为语音引擎建言

已有 564 次阅读 2019-4-26 13:36 |个人分类:感想|系统分类:观点评述

  最近我自己用某款支持“文字转语音”功能的录屏软件录了点视频,有点想法请科学网上搞语音引擎的大腕研究研究。

  所谓“文字转语音”功能,实际也就是让你下载一个语音引擎,然后根据你输入的文字自动转换成语音。我在使用的时候发现一个问题,那就是不能自动识别多音字。比如“为”这个字有二声和四声两种音调,这个软件统一给读成了四声,让人听起来十分别扭。这倒难不住我,因为所谓语音,只是让人听而不是让人看的,所以我就用“围”字代替了“为”,这样听上去就正常了。但是这样一来,软件自动生成的字幕又会出问题,所以还要手动打新的字幕,好在工作量不大,细心点也就可以了,但是究竟不爽。

  我现在有个想法,如果说现在让语音引擎完全自动识别多音字尚有难度,何不采取一些变通方法?比如同一个字的读音再多,也不会超过十个(据说“哪”字的读音最多,有九个音),所以我想是不是可以采取类似C语言里“转义字符”的方法?以“为”字为例,如果我们写的是“为\1人民服务”,读出来的就是四声,如果我们写的是“为\2乡里所患”,就读成二声,同时软件自动生成字幕时自动过滤掉\1、\2等等这些字符。这样做的好处是,如果某个多音字的不常用的音找不到别的同音字,也没有问题。

  类似的,某些字虽然不是多音字,但在连读的时候往往需要转音,也可以用这个办法解决,“一”字就是这样:它只有一声的音,但在句子或者组词时往往可能读成二声或者四声,比如“一个”“一分钱”等等。转义字符也可以用来处理这样的问题。

  当然,这里要注意一些特殊情况,比如如果想让\1、\2等字符不作为转义字符而作为普通字符,怎么办?我想,C语言里对转义字符的处理和定义可以给我们更多启发。科学网上的先生们大多学过C或者类似的程序语言,不用我多废话了吧。

  用这种转义字符还有一个好处,那就是可以故意设一些错音,让学汉语的外国人判断对错。

  转义字符在语音引擎里还可以有更多用途,比如用来设置重音等等。不知道我的这个建议是否可行。



http://blog.sciencenet.cn/blog-3388899-1175619.html

上一篇:[转载]黑洞照片
下一篇:刘瑞祥:我看学习和学习负担

1 尤明庆

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-8-26 02:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部