使汉字自动发音的方法及使手机朗读短消息的方法

文档序号:2821567阅读:271来源:国知局
专利名称:使汉字自动发音的方法及使手机朗读短消息的方法
技术领域
本发明涉及使汉字自动发音的方法及使手机朗读短消息的方法。
背景技术
汉字,有着数千年的历史,是中华民族悠久文明古国的象征。汉字的写(输入)和读(输出)是不可分割的重要组成部分。随着计算机的发展,最近二十年来,汉字的写入技术有了迅速的发展,人们发明了各种各样的汉字输入法,给人们带来了极大的方便。但是,在汉字的自动语音读出方面仍然是一个空白,不利于汉字语言本身及其应用的发展,不利于通信技术的发展。

发明内容
本发明的目的意在克服上述现有技术的不足,提出一种能够使汉字自动发音的方法及能朗读短消息的手机。
实现上述目的的技术方案一种使汉字自动发音的方法,包括如下步骤1)、建立汉字发音库,在汉字发音库内存储汉字的不同发音;2)、建立汉字拼音表,在汉字拼音表内存储各种不同的汉字对应的拼音;3)、建立多音字表,在多音字表内存储各个多音字的汉字及其对应的最常用发音的拼音作为默认音和所述各个多音字除最常用的那个发音之外的穷举词语对应的拼音;4)、对待发音的词语或句子,按顺序取出每个字;5)、对每个字,首先查找多音字表,如果找到该字,且在多音字表中找到该字与前一字组成的词语或与后一字组成的词语,则根据该词语确定该字对应的拼音,并且取出该拼音,如果找到该字,但在多音字表中未找到该字与前一字组成的词语,也未找到该字与后一字组成的词语,则取默认音作为该字的拼音,并且取出该拼音;6)、如果在多音字表中未找到该字,则查找汉字拼音表,取出该字对应的拼音,
7)根据步骤5)或6)确定的拼音,从汉字发音库中读出该拼音所对应的发音。
所述步骤3)中,若多音字中出现姓氏,则将姓氏作为默认音,穷举其它音的词语。
所述汉字发音库内存储包括数字、字母以及各种符号的发音,所述汉字拼音表内存储数字、字母以及各种符号的对应拼音。
一种能朗读短消息的手机,在手机芯片内设置发音模块,在发音模块内建立一个汉字发音库、一个汉字拼音表和一个多音字表,其中1)、在汉字发音库内存储汉字的不同发音,包括存储数字、字母以及各种符号的发音;2)、在汉字拼音表内存储各种不同的汉字对应的拼音,包括存储数字、字母以及各种符号的拼音;3)、在多音字表内存储各个多音字的汉字及其对应的最常用发音的拼音作为默认音和所述各个多音字除最常用的那个发音之外的穷举词语的该字的拼音;4)、对要朗读的短消息,按顺序取出每个字;5)、对每个字,首先查找多音字表,如果找到该字,且在多音字表中找到该字与前一字组成的词语或与后一字组成的词语,则根据该词语确定该字对应的拼音,并且取出该拼音,如果找到该字,但在多音字表中未找到该字与前一字组成的词语,也未找到该字与后一字组成的词语,则取默认音作为该字的拼音,并且取出该拼音;6)、如果在多音字表中未找到该字,则查找汉字拼音表,取出该字对应的拼音,7)根据步骤5)或6)确定的拼音,从汉字发音库中读出该拼音所对应的发音。
采用上述技术方案,本发明突出的技术进步在于通过建立汉字发音库、汉字发音库和汉字拼音表,实现对汉字的自动发音,是对传统语音技术的突破。应用场合极其广泛,具有重大的经济意义和社会现实意义。


图1是一种对读入字符串的自动发音流程图。
具体实施例方式
一种使汉字自动发音的方法,包括如下步骤1)、建立汉字发音库,在汉字发音库内存储汉字的不同发音。汉字常用字有五千多个,其中,很多字发音相同,加上多音字的因素,整理出常用汉字发音库,约有1200个左右的不同发音。另外,汉字发音库内还存储数字、字母以及各种符号的发音。
2)、建立汉字拼音表,在汉字拼音表内存储各种不同的汉字对应的拼音和数字、字母以及各种符号的对应拼音。因为建立的发音库是根据拼音来区分的,所以,此汉字拼音表建立起来用于查找汉字对应的拼音,以便查到该汉字的发音文件。
3)、建立多音字表,在多音字表内存储各个多音字的汉字及其对应的最常用发音的拼音作为默认音和所述各个多音字除最常用的那个发音之外的穷举词语对应的拼音。为了实现在发音时,尽量准确找到多音字正确的发音,建立了多音字表,该表建立的原理是搜集常用多音字共630个左右,从中筛选出一部分字,这些多音字的特征是,在词语或句子中,基本上是发其中一种。例如“啊”,发音有a1,a2,a3,a4,a0,通常情况下只发a1这个音,将此类多音字筛选出来以后,剩下的汉字则另外处理。
具体处理方法是将一个多音字几个发音列举出来,将其中最常用的那一个拼音挑出来作为默认音,剩下的几个音则穷举词语。例如“长”,发chang2和zhang3两个音,而chang2比zhang3常用,则穷举zhang3这个发音的所有跟“长”匹配的词语“zhang3长老 年长 长者 长艾 长没 长子 长兄 长嫂 长女 长孙 兄长 长君 长德 长贤 长主长宾 长年 长郎 长殇 长弟 长妹 长姐 长庶 庶长 长嫡 长杰 长妾 长公主 长吏 长雄 雄长 长爵 生长 成长 遂长 草长 长草 长者 长成 长俊 长进 长立 长牙 长毛 长肉 长胖 长养 长育 滋长 助长 增长 长托 长美 长傲 长益 长消 消长 长知识 不可长 长俭 长官 长价 水长船高 君长 科长 处长 长夫 班长 队长 营长 长家 长卿 之长 长侯 长先 长多 长少 长辈 长膘 长房 长厚者 长粗 长细 长不大 长进 长吏 长亲 长上 尊长 长势 长相 机长 连长 排长 长长 长头发 长指甲 长学文 长高 长矮疯长 长疯 长瘦 长大 长小 长斑 长疮 长胡子 长皮 长势 师长 旅长 队长 察长 首长 局长 长虫 长树 长锈 长志气 助长县长 村长 镇长 市长 省长 部长 次长 司长务长 船长 长满 长岁 成长 厂长 校长 痴长 处长 工长 股长 拉长 官长 馆长 行长会长 家长 舰长 局长 军长 科长 矿长 年长 酉长 区长 社长 生长 所长 厅长 庭长长进 会长 长哥 长霉 长进”,这样做的目的是为了在汉字发音时,碰到“长”则先查找该多音字表,发现与上面匹配的词语,则发zhang3音,否则发chang2音。
另外,此类多音字中有一种特例,即姓氏。若多音字中出现姓氏,则将姓氏作为默认音,穷举其它音的词语。如“查”,因为姓氏没办法穷尽,则此出就不是根据常用来处理,而是穷尽cha2音,而把zha1音做为默认音。查|cha2查票 查户口 抽查 复查 检查 调查 侦查 查考 考查 查字典 查资料 审查 查看 查视 查书查案 查办 查明 查抄 清查 查处 查点 查对 查房 查访 查封 查号台 查获 查电话 查号码 搜查 查禁 查究 查勘 追查 查扣 查明 查铺 查讫 查清 查哨 查岗查实 查核 查收 查私 查问 查询 查无 查有 查夜 查阅 查找 查帐 核查 查证迫查 查收 查访 复查 查词典 查典 查地图 备查 存查 访查 稽查 盘查 普查 清查 查清 搜查 巡查 追查 查办 查抄 查点 被查 去查 查人 查物 查证 查的 查究 查禁 查问 查验 查阅 敢查|zha1。
多音字表具体格式如下啊|a1阿|e1山阿 阿谀奉承 刚直不阿 东阿 阿胶|a1挨|ai1一个挨一个 挨近 紧挨 挨紧 轻挨 挨次 挨肩儿 挨着|ai2哎|ai4唉|ai4膀|pang1 膀肿 膀了|pang2 膀胱|bang3。
4)、通过微处理器对上面一个库、两个表进行必要处理,首先,因为硬件原因,将汉字发音库内约1200个左右的发音文件(wav发音文件)转化成adpcm格式,并且为了查找方便,要进行排序打包,并且生成索引文件。其次将多音字表进行排序、压缩,同样为了快速查找,也要生成索引文件。
5)、发音的处理过程a)从字符串(STR)中依次取出对待发音的汉字或句子放入CHAR中(碰到字母或数字则取一个字节处理);b)、判断是否是数字或字母,若是,则从步骤1)中查找相应字母或数字发音文件进行发音,若不是,则执行下一步;c)判断CHAR中汉字是否为多音字(从多音字表中查找)对每个字,首先查找多音字表,如果找到该字,且在多音字表中找到该字与前一字组成的词语或与后一字组成的词语,则根据该词语确定该字对应的拼音,并且取出该拼音放入拼音暂存库中,转步骤e),如果找到该字,但在多音字表中未找到该字与前一字组成的词语,也未找到该字与后一字组成的词语,则取默认音作为该字的拼音,并且取出该拼音拼音暂存库中,转步骤e),如果在多音字表中未找到该字,执行下一步;d)、查找汉字拼音表,取出该字对应的拼音放入拼音暂存库中;e)根据拼音暂存库中由步骤c)或d)确定的拼音,通过发音库文件找到该拼音所对应的发音,写盘成发音文件soundtemp.adp,并且发声;f)经一定延时后,取出下一字符串(STR)转步骤b),直到字符串(STR)为空,发音完毕。
将上述发音方法应用于手机上,通过在手机芯片内设置发音模块,并在发音模块内建立汉字发音库、汉字发音库和建立多音字表,采用上述汉字自动发音的方法步骤,即可朗读手机接收的短消息。
权利要求
1.一种使汉字自动发音的方法,其特征在于1)、建立汉字发音库,在汉字发音库内存储汉字的不同发音;2)、建立汉字拼音表,在汉字拼音表内存储各种不同的汉字对应的拼音;3)、建立多音字表,在多音字表内存储各个多音字的汉字及其对应的最常用发音的拼音作为默认音和所述各个多音字除最常用的那个发音之外的穷举词语的该字的拼音;4)、对待发音的词语或句子,按顺序取出每个字;5)、对每个字,首先查找多音字表,如果找到该字,且在多音字表中找到该字与前一字组成的词语或与后一字组成的词语,则根据该词语确定该字对应的拼音,并且取出该拼音,如果找到该字,但在多音字表中未找到该字与前一字组成的词语,也未找到该字与后一字组成的词语,则取默认音作为该字的拼音,并且取出该拼音;6)、如果在多音字表中未找到该字,则查找汉字拼音表,取出该字对应的拼音,7)根据步骤5)或6)确定的拼音,从汉字发音库中读出该拼音所对应的发音。
2.根据权利要求1所述的方法,其特征在于所述步骤3)中,若多音字中出现姓氏,则将姓氏作为默认音,穷举其它音的词语。
3.根据权利要求1所述的方法,其特征在于所述汉字发音库内存储包括数字、字母以及各种符号的发音,所述汉字拼音表内存储数字、字母以及各种符号的对应拼音。
4.根据权利要求1所述的方法,其特征在于设置一个拼音暂存库,将步骤5)或6)确定的拼音存入拼音暂存库中,从拼音暂存库中顺序取出各拼音,根据各拼音从汉字发音库中读出对应的发音。
5.根据权利要求1、2、3或4所述的方法,其特征在于将发音文件转化成adpcm格式。
6.根据权利要求5所述的方法,其特征在于对汉字发音库内的发音文件进行排序、打包,生成索引文件;对汉字拼音表内的拼音文件进行排序、压缩,生成索引文件。
7.使手机朗读短消息的方法,其特征在于在手机芯片内设置发音模块,在发音模块内建立一个汉字发音库、一个汉字拼音表和一个多音字表,其中1)、在汉字发音库内存储汉字的不同发音,包括存储数字、字母以及各种符号的发音;2)、在汉字拼音表内存储各种不同的汉字对应的拼音,包括存储数字、字母以及各种符号的拼音;3)、在多音字表内存储各个多音字的汉字及其对应的最常用发音的拼音作为默认音和所述各个多音字除最常用的那个发音之外的穷举词语的该字的拼音;4)、对要朗读的短消息,按顺序取出每个字;5)、对每个字,首先查找多音字表,如果找到该字,且在多音字表中找到该字与前一字组成的词语或与后一字组成的词语,则根据该词语确定该字对应的拼音,并且取出该拼音,如果找到该字,但在多音字表中未找到该字与前一字组成的词语,也未找到该字与后一字组成的词语,则取默认音作为该字的拼音,并且取出该拼音;6)、如果在多音字表中未找到该字,则查找汉字拼音表,取出该字对应的拼音,7)根据步骤5)或6)确定的拼音,从汉字发音库中读出该拼音所对应的发音。
8.根据权利要求7所述的方法,其特征在于设置一个拼音暂存库,将步骤5)或6)确定的拼音存入拼音暂存库中,从拼音暂存库中顺序取出各拼音,根据各拼音从汉字发音库中读出对应的发音。
9.根据权利要求7或8所述的方法,其特征在于对汉字发音库内的发音文件进行排序、打包,生成索引文件;对汉字拼音表内的拼音文件进行排序、压缩,生成索引文件。
10.根据权利要求9所述的方法,其特征在于所述发音文件是wav发音文件,将wav发音文件转化成adpcm格式。
全文摘要
一种使汉字自动发音的方法,是首先建立汉字发音库、汉字拼音表和建立多音字表,然后对待发音词语或句子,按顺序取出每个字,先查找多音字表,如果该字为多音字,则根据前后组词,确定该字发音的拼音,并且取出,如果该字不是多音字,则查找汉字拼音表,取出该字正确发音的拼音,然后根据发音库,查找到该字正确发音,并且读出。本发明还公开了实现手机朗读短消息的方法。
文档编号G10L15/26GK1697019SQ20041002194
公开日2005年11月16日 申请日期2004年5月13日 优先权日2004年5月13日
发明者杨永丹 申请人:深圳市移动核软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1