专利名称:可变语音信号编译的方法
技术领域:
本发明涉及音频处理技术,具体来说是涉及一种可变语音信号编译的方法。
背景技术:
在电信业务中,尤其是在智能网中,经常会处理语音信号,比如向用户播放业务菜单、报金额等等。其中有的语音信号不会因为用户的不同而不同,比如任何人拨打200时都会听到“你好,欢迎使用200电话卡业务,请输入您的卡号按#结束”;语音平台对于这种语音信号,一般只需要一个语音信号编号就可以了。而有的语音信号则会根据条件不同而变化,例如当查询200卡的余额时,如果卡上还有50元时,听到的语音信号是“您的余额是五十元”;如果卡上还有45.5元时,听到的语音信号是“您的余额是四十五元五角”。此时语音信号平台除了语音信号编码,还需要一个待编译可变语音信号的内容,以及这个可变语音信号的编译方法,在这个例子中,“待编译的可变语音信号”就是50或者45.5,“编译方法”就是中文金额的编译。
语音信号平台中上述可变语音信号的编译方法中,现有技术是直接在通过函数处理模块实现的,即根据中文金额(即50或者45.5)直接调用与其对应的函数处理模块,从而进行数字到语音信号的编译。
显然,上述现有可变语音信号的编译方法存在许多不足,例如每次如果需要增加或更改一种编译规则,就需要升级一次语音信号平台,使用极为不便。
发明内容
本发明提出了一种可变语音信号编译的方法,以解决现有技术中存在的升级或更改系统极为不方便的问题。
为此,本发明提供如下技术方案一种可变语音信号编译的方法,包含如下步骤a、将待编译的可变语音信号作分段处理,将可变语音信号分成复数个单元;b、对每个语音信号单元逐个编译,并形成可变语音信号单元的序列;c、合并上述复数可变语音信号单元的序列,并在单元和语音信号编码的对应表中查找相应的语音信号编码序列;d、将该语音信号编码序列输出,即得到所述可变语音信号的编译结果。
其中,所述步骤a中分段处理是指多重嵌套分段处理;而所述的将待编译的可变语音信号进行分段处理更具体是指根据分段依据和分段的起始点,将待编译的可变语音信号进行分段。
所述步骤b中分段中对可变语音信号的每个单元逐个编译的方式是指采用本字节独立编译、和后面字节一起编译和补指定内容后编译中的一种。
分段可变语音信号单元的序列包括前缀、后缀的一种或两种。
如果分段的可变语音信号单元不存在或为空,则形成的该分段可变语音信号单元的序列为缺省值;如果分段的可变语音信号的单元具有连续的0时,可以采用合并编译或分开编译的方式,在缺省情况下承袭上层的配置,在合并完成后,在分段的可变语音信号的内容单元的最前面和最后面所有的0都不编译。
所述步骤c中合并该可变语音信号单元的序列后的结果序列还包括分段依据对应的内容、前缀、后缀的一种、两种或三种。如果合并该可变语音信号单元的序列后的结果序列不存在或为空,则合并后的结果序列为缺省值。
本发明的可变语音信号编译的方法,将可变语音信号编译方法从语音信号平台中抽取出来,使得可变语音信号编译方法的增减不再通过平台本身的变化实现。具体来讲,本发明具有以下优点
1、对现有的语音信号平台接口没有影响,本发明只是语音信号平台本身可变语音信号编译实现方法上的改进,对于输入参数的要求和以前没有区别,都是待编译内容加编译方法,因此对使用语音信号平台的其他应用没有任何影响。
2、使用灵活,操作方便;本发明中将编译从语音信号平台中单独抽取出来,使得语音信号平台能够在不升级的情况下,灵活修改现有的编译规则,实现各种新增的编译规则。
下面结合附图和具体实施例来详细描述本发明。
图1是本发明所述的可变语音信号编译的方法的流程图;具体实现方式智能网中经常会涉及到中文金额语音信号的编译,下面以最大支持到千万元的中文金额,如“12,345,678.90”的编译为例,在介绍以前,先说明一下单元和语音信号编码的对应表,如下表所示表1内容单元 语音信号编码0 000000001 00000001......
10000000101100000011......
2000000020......
100 00000100......
元00010001角00010002分00010003......
可变语音信号编译就是要将可变语音信号编译成单元的组合。上表1是可变语音信号编译的基础,贯穿于可变语音信号编译的整个过程。
本实施例包括如下步骤第一、将待编译的可变语音信号进行分段处理,将可变语音信号分成复数个单元。
具体而言是指根据分段依据和分段的起始点,将待编译的可变语音信号进行分段;即确定分段依据为小数点“.”,而分段的起始点为首位,根据该分段依据和分段的起始点,将待编译的可变语音信号进行分段;即将“12,345,678.90”分为“12,345,678”、“90”两段。
在本步骤分段处理时,还对第一段“12,345,678”进行嵌套分段处理,其是指重新根据分段依据和分段的起始点,将待编译的可变语音信号进行分段;此时确定分段依据为每段内容字节数4个字节,而分段的起始点为末位,即将“12,345,678”分为“1234”、“5678”两段。而对第二段“90”不作嵌套分段处理。
第二、对每个分段可变语音信号单元逐个编译,形成可变语音信号单元的序列。其中,形成的分段可变语音信号单元的序列还包括前缀、后缀的一种或两种。
对“1234”、“5678”、“90”依次逐个字节编译,逐个编译的编译方式是指在单元和语音信号编码的对应表中查找是否有对应的单元,本实施例具体包含三种方式第一种是本字节独立编译,即不需要考虑其他条件,只用本字节的内容在单元和语音信号编码的对应表中查找;第二种是和后面字节一起编译,即将本字节和后N个字节组合在一起后,再在单元和语音信号编码的对应表中查找,此时如果组合后能够找到对应的单元,则后面的N个字节就不需要再编译了;第三种是补指定内容后编译,即在本字节后补上指定内容后,再在单元和语音信号编码的对应表中查找。
1、对“1234”逐个字节编译,将该内容设定为右对齐;对第一字节“1”而言,其前缀不存在,当前字节不为0时,后缀内容为“千”,对其采用的编译方式为本字节独立编译方式,该可变语音信号单元的序列为“1”+“千”。
对第二字节“2”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为补指定内容后编译,补“00”,该可变语音信号单元的序列为“200”。
对第三字节“3”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为补指定内容后编译,补“0”,该可变语音信号单元的序列为“30”。
对第四字节“4”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为本字节独立编译方式,该可变语音信号单元的序列为“4”。
2、对“5678”逐个字节编译,将该内容设定为右对齐;对第一字节“5”而言,其前缀不存在,当前字节内容不为0时,后缀为“千”,对其采用的编译方式为本字节独立编译方式,该可变语音信号单元的序列为“5”+“千”。
对第二字节“6”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为补指定内容后编译,补“00”,该可变语音信号单元的序列为“600”。
对第三字节“7”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为补指定内容后编译,补“0”,该可变语音信号单元的序列为“70”。
对第四字节“8”而言,其前缀不存在,后缀也不存在,对其采用的编译方式为本字节独立编译方式,该可变语音信号单元的序列为“8”。
3、对“90”逐个字节编译,将该内容设定为左对齐;如果分段的可变语音信号的单元具有连续的0时,可以采用合并编译或分开编译的方式,在缺省情况下承袭上层的配置,在合并完成后,在分段的可变语音信号的单元的最前面和最后面所有的0都不编译。
对第一字节“9”而言,其前缀内容不存在,当前字节内容不为0时,后缀内容为“角”,对其采用的编译方式为本字节独立编译方式,该可变语音信号单元的序列为“9”+“角”。
对第二字节“0”而言,在分段的可变语音信号的单元的最前面和最后面所有的0都不编译。该可变语音信号单元的序列为空。
第三、合并该可变语音信号单元的序列,并在单元和语音信号编码的对应表中查找相应的语音信号编码序列。其中合并该可变语音信号单元的序列后的结果序列还包括分段依据对应的内容、前缀、后缀的一种、两种或三种。
首先将“1234”与“5678”进行合并,当时分段依据为字节长度4,对应的内容为空,“1234”的前缀内容不存在,因本段内容不为0,故后缀内容为“万”;“5678”的前缀内容不存在,后缀内容也不存在,本次合并可变语音信号单元的序列后的结果序列为“1、千、200、30、4、万、5、千、600、70、8”。
其次将“12345678”、“90”进行合并,当时分段依据为小数点“.”,对应的内容为不存在,“12345678”的前缀内容不存在,因本段内容不为0,后缀内容为“元”;而“90”的前缀内容不存在,后缀内容也不存在,其合并结果序列为“9、角”。所以最终合并该可变语音信号单元的序列后的结果序列为“1、千、200、30、4、万、5、千、600、70、8、元、9、角”。
最后,根据上述合并后的结果序列在表1中查找相应的语音信号编码序列,即为“00000001、00020003、00000200、00000030、00000004、00020004、00000005、00020003、00000600、00000070、00000008、00010001、00000009、00010002“。
第四、将该语音信号编码序列输出,即得到所述的可变语音信号的编译结果。
即通过语音信号平台进行放音输出。
权利要求
1.一种可变语音信号编译的方法,其特征在于,该方法包含如下步骤a、将待编译的可变语音信号作分段处理,将可变语音信号分成复数个单元;b、对每个语音信号单元逐个编译,并形成可变语音信号单元的序列;c、合并上述复数可变语音信号单元的序列,并在单元和语音信号编码的对应表中查找相应的语音信号编码序列;d、将该语音信号编码序列输出,即得到所述可变语音信号的编译结果。
2.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤a中分段处理是指多重嵌套分段处理。
3.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤a更具体是指根据分段依据和分段的起始点,将待编译的可变语音信号进行分段。
4.如权利要求3所述的一种可变语音信号编译的方法,其特征在于,所述步骤a中的分段依据是指分隔符或每段单元的字节数,分段的起始点是指首位、末位或其中的一位。
5.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤b分段中对可变语音信号单元逐个编译的方式是指采用本字节独立编译、和后面字节一起编译和补指定内容后编译中的一种。
6.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤b中如果分段的可变语音信号单元不存在或为空,则形成的该分段可变语音信号单元的序列为缺省值。
7.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤b中如果分段的可变语音信号单元具有连续的0时,可以采用合并编译或分开编译的方式,在缺省情况下承袭上层的配置,在合并完成后,在分段的可变语音单元的最前面和最后面所有的0都不编译。
8.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤b中形成的分段可变语音信号单元的序列还包括前缀、后缀的一种或两种。
9.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤c中如果合并该可变语音信号单元的序列后的结果序列不存在或为空,则合并后的结果序列为缺省值。
10.如权利要求1所述的一种可变语音信号编译的方法,其特征在于,所述步骤c中合并该可变语音信号单元的序列后的结果序列还包括分段依据对应的内容、前缀、后缀的一种、两种或三种。
全文摘要
本发明的一种可变语音信号编译的方法,该方法包含如下步骤a.将待编译的可变语音信号进行分段处理;b.对每个分段可变语音信号单元逐个编译,形成可变语音信号单元的序列;c.合并该可变语音信号单元的序列,并在单元和语音信号编码的对应表中查找相应的语音信号编码序列;d.将该语音信号编码序列输出,即得到所述的可变语音信号的编译结果。本发明的可变语音信号编译的方法,将可变语音信号编译方法从语音信号平台中抽取出来,使得可变语音信号编译方法的增减不再通过平台本身的变化实现,其使用灵活,操作方便。
文档编号G10L19/00GK1571014SQ0314400
公开日2005年1月26日 申请日期2003年7月25日 优先权日2003年7月25日
发明者杨晓慧 申请人:华为技术有限公司