将超媒体文件转换为语音的方法

文档序号:6414341阅读:215来源:国知局
专利名称:将超媒体文件转换为语音的方法
技术领域
本发明涉及将文字转换为语音的系统。
文字语音转换器(text-to-speech converter)是一种将文字转换为语音的装置。对有视觉障碍的人而言,这种装置可帮助他们听取外界的信息。在特定的环境下,这种装置也是一般人获得信息的一种重要配备,例如开车的时候,或是使用电话的时候。而这些信息的来源,可是电子文件,或是透过光学扫瞄单元及文字辩识装置所转换而来的文字信息。
在日常生活中,电子式信息的来源日益众多,且成级数增长,例如,电子邮件、日程表、电子新闻、股票信息及备受瞩目的全球信息网。要将这些电子信息转换为数字语音,若采用人工录音再加以数字化处理,不仅需要耗费庞大的人力及巨大的存储空间,而且人工录音方式无法适用于电脑系统依照使用者的需求来自动调整产生的电子信息。
对文字语音转换单元的设计人员而言,如何将各种原本适用于视觉显示的电子信息转换为语音型式,确定是一种挑战。其中最主要的原因在于,电子信息的呈现不仅需要呈现其文字内容,同时也需要考虑这些文字内容的呈现方式,例如在视觉显示中的大小写、粗体、斜体、段落式及列举型式等呈现方式。在进行文字语音转换时,这些原本用于控制视觉显示的格式及字体控制码,不能直接转换为语音。在文字内容中的标点符号也不是不能直接转换为语音。另外,在不同的前后文,一个字串的发音也会有不同的发音方法,例如中文的破音字发音,就是一典型的例子。为了解决这些问题,先前的技术发明提出了各种的解决方法。
美国专利第5,555,343号揭示了一种解决这类问题的文字语音转换技术。其中包含格式化及字体控制码的处理方式,以及标点符号及特定的文字数字格式的处理方法。此方法采用第一个事先建好的表格来将格式化及字体控制码对应成语音控制码,用来控制发音速度或音量大小。此方法采用第二个事先建好的表格来将特定的文字数字格式对应成口语化的文字字串。这些特定的文字数字格式包括用来表示时间而以冒号分隔的数字字串、用来表示日期而以斜线分隔的数字字串及用来表示档案目录而以斜线分隔的文字字串等。此方法采用第三个事先建好的表格来将标点符号或数学运算符号对应成口语化的文字字串或语音控制码。此方法使用一事先建好的表格,以决定一输入的字符为可发音或是不可发音。遇到不可发音的字符,才依照前述的第一、第二及第三个事先建好的表格,决定适当的发音方式。
美国专利第5,634,084号揭示另一种解决这类问题的文字语音转换技术。此方法选将输入的文字依上下文的关系加以分类成数字、度量单位、地理名词及时间日期等类别。再将此分类之后的文字依照一或多个不同类别的缩写字表加以展开,并对应成口语化的字词。例如地名的缩写“SF,CA”,此方法可将其转换为“San Francisco California(旧金山,加利福尼亚州)”;亦可将“MPEG”转换为口语化的“m peg”。
由于网际网路(Internet)及全球信息网(World Wide Web)的普及,全球信息网已成为当今电子信息的主要来源之一。全球信息网上的电子信息大部分采用超媒体标示语言(Hyper Text Markup Language,HTML)的格式,我们称之为超媒体文件。超媒体文件与其他电子文件不一样的地方是,在其原始文件中,除了文件内容外,还含有超媒体标(HHTML tag)。超媒体标签是超媒体标示语言所定义的文字标签,用于标示文件的内容与结构,或是文件的显示控制。例如,下面这个例子表示一段超媒体文件的原始文件<pre listing-type="program-listing"><![CDATA[<!BODYBGCOLOR=#DBFFFF><body bgcolor=white><CENTER><map name=”Main”><areashape=”rect” coords=”157,12,257,112”href=”Main.html”><areashape=”rect” coords=”293,141,393,241”href=”VRML.html”><areashape=”rect” coords=”18,141,118,241”href=”VRML.html”><areashape=”rect” coords=”157,226,257,366”href=”Main.html”></map><img src=”Images/Main.gif” usemap=”#Main”border=0></img><br><br><br><br><b><font size=3 color=black>Welcome to the VR workshop of our company</font><a href=“http∥www.ccl.itri.org.tw”><font size=3 color=blue>ITRI</font></a><font size=3 color=black>/</font><a href=“http∥www.ccl.itri.org.tw”><font size=3 color=blue>CCL</font></a><font size=3 color=black>.We have been<br>developing some advanced technologies as follows,<br></b><ul><a href=”Main.html”><li><font size=3 color=blue>PanoVR</font></a><font size=3>(A panoramic image-based VR)</font><br><a href=”VRML.html”><li><font size=3 color=blue>CyberVR</font></a><font size=3><A VRML 1.0 browser)</font><br></ul><br><br><a href=”Winner.html”><img src=”Images/Winner.gif”border></img></a><br></a><br><br><font size=3 color=black><br>You are the <img src=”cgi-bin/Count.cgi?df=vvr.dat”border=0align=middle>thvisitor<br> </font> <HR size=2 WIDTH=480 ALIGN=CENTER> (C)Copyright1996 Computer and CommunicationLaboratory,<br> Industrial Technology Research Institute,Taiwan,R.O.C. </BODY>]]></pre>由这个例子可看到,在超媒体文件的原始文件中,全都是可显示的字符,没有特殊无法显示的控制码。超媒体标签是以“&lt;”及“&gt;”标示,并分为起始标签及结束标签。启始标签以“&lt;”起头,而结束标签则以“&lt;/”起头。因此,“&lt;font size=3 color=black&gt;”是“font”超媒体标签的起始标签,而“&lt;/font&gt;”则为其结束标签。
超媒体标示语言将由超媒体标签的起始标签及结束标签所标示的文字内容赋予特殊的意义,以表达文件的结构,例如标题、段落、列举及表格等。而这些结构元件的显示方式则由全球信息网浏览单元所控制。因此,同一超媒体文件,在不同的全球信息游览单元或显示系统上,会有不同的显示方式。另外,超媒体标签也允许巢状的排列方式,例如在上例中,“&lt;b&gt;”及“&lt;fontsize=3 color=black&gt;”以巢状的方式加于“Welcome to the VR workgroup ofour company”。
虽然上述范例是以英文撰写的超媒体文件,但超媒体文件的文字内容允许用其他的语言,如中、日及韩文等。对一般全球信息网中文网页的读者而言,对一些英文的专用名词,如“Web”、“World Wide Web”及“HTML”等名词,并不陌生。因此在一般的中文网页中,常会混杂英文的专有名词。另一方面,在以超媒体标示语言所撰写的技术文件、开会通知及备忘录等文件中,也经常使用英文的专有名词或缩写。因此在一般的全球信息网网页中,常混杂有多种的语言。除此之外,我们还需考虑同一字串具有多种发音的问题,例如中文的破音字,同一字在不同的词或前后文中,会有不同的发音方式。
上述传统的文字语音转换单元并不适用于将超媒体文件转换为语音信号。在转换的过程中,首先必须解决的问题就是如何剖析超媒体文件以辩识超媒体标签。由于超媒体标签均由可显示的字符所组成,而非特殊的控制码,而且超媒体标签允许巢状式的排列方式,因此先前有关文字语音转换单元的技术发明并不适用于剖析超媒体文件。再者,上述传统的文字语音转换单元并无法解决破音字问题。虽然有些中文文字语音转换单元可解决部分的破音字问题。但这些文字语音转换单元并未考虑多种语言混杂的问题。本发明的重点即在克服这些问题。
因此,本发明的目的就是提供一种能够将超媒体文件转换为语音信号的电脑系统及其转换方法,并能解决破音字的问题。
依据本发明所提出的方法,可以将超媒体文件转换为语音信号,或是达到其他的目的。在此所提出的实施例,是一将超媒体文件转换为语音信号的电脑系统。这个电脑系统包含一超媒体标示语言剖析单元、一发音控制提令剖析单元、一标签转换单元、一文字转换单元及一传统的文字语音转换单元。超媒体标示语言剖析单元读取并剖析输入的超媒体文件,将其分离成文字内容、标示文件结构的超媒体标签及控制发音方式的发音控制指令。发音控制指令剖析器分析发音控制指令,并依据指令的类别将其内容存入标签对应表、音效表、参数表、破音字表或专有名词表中。文字转换单元依据破音字表,将超媒体文件的文字内容中凡是必须修改发音的字串,以替代字串修正文字的发音。同时文字转换单元也依据专有名词表,将超媒体文件的文字内容中凡是必须翻译的字串,以译文字串取代原字串的发音。标签转换单元分析超媒体标签,并依据标签对应表及参数表,控制传统文字语音转换单元的发音参数,以改变该超媒体标签所标示的文字内容的音量、速度及韵律等发音参数。同时标签转换单元也依据标签对应表及音效表执行音效的合成,让听众易于分辩文件的结构。传统文字语音转换单元则依据标签转换单元所设定的发音方式,负责将经由文字转换单元转换完成的文字内容,转换为语音信号。
这个依据本发明所建构的系统,可以将超媒体文件转换为语音信号,同时也解决破音字及语言混杂等问题。这个系统不但设计精巧,同时也极具应用与扩充能力。此装置与方法不但可提供个人化的文字语音转换,而且也让超媒体文件的提供者,更易于设计超媒体文件的语音表达方式。
图式简单说明

图1说明本发明的一具体实施例。
图2说明本发明各个元件间的数据流程。
图3说明将一序列隐藏于超媒体文件中的发音控制指令。
图4A、4B和4C分别说明参数表、音效表及标签对应表。
图5A及5B分别说明破音字表及专有名词表。
图6说明文件读取控制单元的执行步骤。
图7说明发音控制指令剖析单元的执行步骤。
图8说明文字转换单元的执行步骤。
图9说明标签转换单元的执行步骤。
发明的详细说明图1说明一依据本发明所建构的超媒体语音转换系统1O。此系统是一电脑系统,内含一中央处理器11、主存储器12、网路装置13、电话介面装置14、键盘和鼠标15、音效装置16、显示器17以及存储装置18。此系统使用一条总线19将这些装置11-18连接在一起。经由此总线19,这此装置11-18间可传输指令或数据。
存储装置18可以是磁盘机,用于存储数据及程序(process)。主存储器12也存储数据及程序,但通常是用来存储目前中央处理器11正在执行的指令及数据。中央处理器11用来执行程序中的指令并处理数据。网路装置13用来与电脑网路连接,例如乙太网路连接器或是其他型式的网路卡。电话介面装置14用来与电话网路连接。键盘和鼠标15用于接收使用者输入的命令或数据。显示器17以文字型式或图形型式显示电子信息。音效装置16接收数字语音信号,并通过喇叭或耳机发出声音或音效。
如图1所示,存储装置18内存储了操作系统、应用程式、超媒体文件档案23、发音控制指令文件21及文件读取模块29。操作系统及应用程式是一般熟知的技术,在此不再赘述。文件读取模块29包含文件读取控制单元28、文字语音转换单元27、超媒体标示语言剖析单元24、发音控制指令剖析单元22、标签转换单元25、标签对应表41、参数表42、音效表43、文字转换单元26、破音字表31及专有名词表32。
虽然上述的程序22,24-28是以分时共享的方式来由中央处理器11负责执行,但这只是为了便于陈述本发明的方法。上述程序22,24-28也可使用熟知的硬件技术,以硬件的实施方式来达到相同的功能,在此不再赘述这种实施方式。另外,文字语音转换单元27及超媒体标示语言剖析单元24也是熟知的技术,在此不再详述。
文件读取控制单元28负责控制整个转换过程中在各个程序22,24-27间的数据流程。图2显示文件读取控制单元28内的数据流程。超媒体文件档案23可能源自于网路装置13,或是从存储装置18读取。发音控制指令文件21也是源自于网路装置13,或是从存储装置18读取。
超媒体标示语言剖析单元24分析超媒体文件档案23的内容,将其分离成文字内容、标示文件结构的超媒体标签及控制发音方式的发音控制指令。超媒体标示语言剖析单元24将分离出的超媒体标签送至标签转换单元25。超媒体标示语言剖析单元24将分离出的文字内容送至文字转换单元26。超媒体标示语言剖析单元24将分离出的发音控制指令送至发音控制指令剖析单元22发音控制指令剖析单元22负责分析发音控制指令。发音控制指令可能存储于独立的发音控制指令文件21,或是隐含在超媒体文件档案23中。发音控制指令分成下列四种型式(1)声音控制指令,其格式为PARAM超媒体标签 属性 发音参数;(2)音效控制指令,其格式为;AUDIO超媒体标签 属性 音效数据;(3)破音字控制指令,其格式为ALT破音字串 替代字串 前后文字串;(4)专有名词控制指令,其格式为TERM专有名词串 译文字串。
图3显示一序列的发音控制指令110、120、130、140、150、160、170及180。这些发音控制指令是使用超媒体标示语言中的注解标签(commenttag)加以标示,使其能隐藏于超媒体文件中。指令110是一声音控制指令,因其使用“PARAM”识别码111。这个声音控制指令110定义所有以超媒体标签113“LI”标示的文字内容均依据其发音参数115所定义的参数作声音控制。这个声音控制指令110中,发音参数115所定义的参数为速度(speed)是1.0,音量(volume)是0.8,韵律(pitch)是1.2。在声音控制指令中,可以在超媒体标签113及发音参数115间选择性地加入属性栏位。属性栏位用于限制该声音控制指令110所适用的范围。例如属性栏位可以是超媒体标签的一些属性,使用属性栏位则可限制该声音控制指令110只适用于具有特定属性的超媒体标签113。
指令120是一音效控制指令,因其使用“AUDIO”识别码121。这个音效控制指令120定义,碰到超媒体标签123“LI”时,必须插入音效数据125“beep.au”。在此例中,音效数据125是一取名为beep.au的音效数据文件。在音效控制指令120中,也可以选择性地加入属性栏位,用来限制此音效控制指令120所适用的范围。
发音控制指令剖析单元22在分析声音控制指令及音效控制指令时,会依据指令的内容修改如图4A所示的参数表42,或是如图4B所示的音效表43。然后发音控制指令剖析单元22再修改如图4C所示的标签对应表41。
如图4A所示,发音控制指令剖析单元22在分析声音控制指令110时,会在参数表42中,加入或修改项目42-1。首先发音控制指令剖析单元22必须在参数表42取得可以使用的项目42-1。项目42-1的取得方式可以是在参数表42中插入新的项目,或是重复使用参数表42中不再使用的项目。在取得项目42-1之后,发音控制指令剖析单元22会将声音控制指令110中发音参数115所定义的参数存入项目42-1的栏位42-12,42-13及42-14。图4A中的PID栏位42-11表示参数识别码,此栏位是为了说明方便,在实际使用时可以忽略不用。
如图4B所示,发音控制指令剖析单元22在分析音效控制指令120时,会在音效表43中加入或修改项目43-1。首先发音控制指令剖析单元22必须在音效表43取得可以使用的项目43-1。项目43-1的取得方式可以是在音效表43中插入新的项目,或是重复使用音效表43中不再使用的项目。在取得项目43-1之后,发音控制指令剖析单元22会将音效控制指令120中的音效数据文件名125及其音效数据内容存入项目43-1的栏位43-12及43-13。图4B中的AID栏位43-11表示音效数据识别码,此栏位是为了说明方便,在实际使用时可以忽略不用。另外,为了节省存储空间的使用,发音控制指令剖析单元22在修改音效表43之前,可使用音效数据文件名125对音效表43进行检索,若发现相同的文件名已存在,则不做修改的动作。
发音控制指令剖析单元22在对参数表42或音效表43的修改完成之后,接着修改标签对应表41的内容。首先发音控制指令剖析单元22以发音控制指令110或120的识别码111或121、超媒体标签113或123及属性栏位检索标签对应表41,并获得项目41-1或42-2。在检索中,若项目41-1或41-2不存在,则建立新的项目41-1或41-2。然后发音控制指令剖析单元22针对声音控制指令110而将项目41-1的型式栏位41-13设定为PARAM,以标明指标栏位41-14指向参数表42。同时发音控制指令剖析单元22也将指标栏位41-14设定为声音控制指令110在参数表42中的对应项目42-1。针对音效控制指令120,发音控制指令剖析单元22将项目41-2的型式栏位41-23设定为AUDIO,以标明指标栏位41-24指向音效表43。同时发音控制指令剖析单元22也将指标栏位41-24设定为该音效指挥指令120在音效表43中的对应项目43-1。
在图3中,指令130、140及150是破音字控制指令,这些指令的识别码131、141及151均为“ALT”。每个破音字控制指令130、140及150均定义破音字串133、143及153,以及取得破音字串133、143及153的替代字串135、145及155。其目的是使用替代字串135、145及155让文字语音转换单元27产生正确的发音。指令140及150也定义前后文字串147及157,用来限制指令140及150所适用的范围。
如图5A所示,发音控制指令剖析单元22在分析破音字控制指令130、140及150时,会在破音字表31中依序加入或修改项目31-1、31-2及31-3。发音控制指令剖析单元22将破音字串133、143及153读入并作适当的文字转换,再分别存入项目31-1、31-2及31-3的破音字串栏位31-11、31-21及31-31。发音控制指令剖析单元22将替代字串135、145及155读入并作适当的文字转换,再分别存入项目31-1、31-2及31-3的替代字串栏位31-12、31-22及31-32。发音控制指令剖析单元22将前后文字串147及157读入并作适当的文字转换,再别分存入项目31-2及31-3的前后文字串栏位31-23及31-33。
在图3中,指令160、170及180是专有名词控制指令,这些指令的识别码161、171及181均为“TERM”。每个专有名词控制指令160、170及180均定义专有名词字串163、173及183,以及用来取代专有名词字串163、173及183的译文字串165、175及185。其目的是使用译文字串165、175及185,让文字语音转换单元27能够针对专有名词字串163、173及183产生正确发音。例如当文字语音转换单元27只能转换中文文字时,专有名词控制指令160、170及180可用于将英文或中英混杂的专有名词转换为中文语音信号。
如图5B所示,发音控制指令剖析单元22在分析专有名词控制指令160、170及180时,会在专有名词表32中依序加入或修改项目32-1、32-2及32-3。发音控制指令剖析单元22将专有名词字串163、173及183读入并作适当的文字转换(详述于后),再分别存入项目32-1、32-2及32-3的专有名词栏位32-11、32-21及32-31。发音控制指令剖析单元22将译文字串165、175及185读入并作适当的文字转换(详述于后),再分别存入项目32-1、32-2及32-3的译文栏位32-12、32-22及32-32。
在图2中,文字转换单元26接收并处理由超媒体标示语言剖析单元24所分离产生的文字内容。文字转换单元26搜寻该文字内容,以决定是否有破音字表31内的破音字串及专有名词表32内的专有名词。若发现有破音字串或专有名词,文字转换单元26将依据破音字表31或专有名词表32的项目内容执行字串替代。文字转换单元26将处理完成的文字内容送交给文字语音转换单元27。
标签转换单元26接收并处理由超媒体标示语言剖析单元24的分离产生的超媒体标签。标签转换单元25用此超媒体标签检索标签对应表41,以决定该超媒体标签是否需要做声音控制或是音效控制。若发现该超媒体标签需要做声音控制,标签转换单元25依据检索获得的项目的指标栏位,从参数表42取得对应的参数,并将这些发音参数送至文字语音转换单元27。若发现该超媒体标签需要做音效控制,标签转换单元25依据检索获得的项目的指标栏位,从音效表43取得对应的音效数据,并将其送至音效装置16或是电话介面装置14。
文字语音转换单元27接收并处理来自文字转换单元26的文字内容,以及来自标签转换单元25的发音参数。文字语音转换单元27会依据新收到的发音参数,改变其参数设定,例如改变声音的速度、音量及韵律等参数的设定值。文字语音转换单元27接收到文字内容时,会依据当时发音参数的设定值,将该文字内容转换为语音信号,并将结果送至音效装置16或是电话介面装置14。
图6说明文件读取控制单元28的执行步骤。在步骤S1,超媒体语音转换系统10(中央处理器11执行操作系统或应用程式)决定是否需要读取独立的发音控制指令文件21。若是的话,文件读取控制单元28执行步骤S2,读取该文件的内容,并在步骤S6将文件内容交给发音控制指令剖析单元22以分析发音控制指令。在执行完步骤S6,或是不需要读取独立的发音控制指令文件21时,文件读取控制单元28执行步骤S3,读取超媒体文件档案23的内容。在步骤S4中,文件读取控制单元28将超媒体文件档案23的内容交由超媒体标示语言剖析单元24以分离成文件元件。一文件元件可以是一超媒体标签、一文字内容的文字串或是一发音控制指令。文件读取控制单元28则依序读取并处理超媒体标示语言剖析单元24分离出来的文件元件。在步骤S5中,文件读取控制单元28决定超媒体标示语言剖析单元24分离出来的文件元件是否为发音控制指令,若是的话,文件读取控制单元28执行步骤S6,将该发音控制指令交由发音控制指令剖析单元22分析。执行完步骤S6后,文件读取控制单元28回到步骤S4,读取并处理下一由超媒体标示语言剖析单元24分离出来的文件元件。在步骤S5中,如果读取的文件元件不是发音控制指令,文件读取控制单元28执行步骤S7。如果文件读取控制单元28在步骤S7发现该文件元件是一超媒体标签,则文件读取控制单元28在步骤S8中,将该超媒体标签交由标签转换单元25,以进行声音及音效的控制。然后文件读取控制单元28回到步骤S4,读取并处理下一文件元件。在步骤S7中,如果读取的文件元件不是超媒体标签,文件读取控制单元28执行步骤S9。在步骤S9中,文件读取控制单元28将读取的文件元件视为一文字内容的文字串,并将其交由文字转换单元26做文字的替代转换。在步骤S10中,文件读取控制单元28把转换的结果交给文字语音转换单元27处理,文字语音转换单元27将其转换为语音信号,并经由音效装置16或电话介面装置14播放出来。然后文件读取控制单元28回到步骤S4,读取并处理下一文件元件。文件读取控制单元28会重复执行这些步骤S4-S10,直到将超媒体文件档案23内所有的文件元件都处理完。
图7说明发音控制指令剖析单元22的执行流程。在步骤S11中,发音控制指令剖析单元22读取发音控制指令。在步骤S12,发音控制指令剖析单元22依据指令的识别码判别该发音控制指令是否为声音控制指令。若是的话,发音控制指令剖析单元22执行步骤S13,在标签对应表41中加入或修改一项目,并将该指令的超媒体标签、指令型态(在此为APRAM)、属性及参数指标存入对应的栏位。然后发音控制指令剖析单元22执行步骤S14,将该指令所定义的发音参数存入参数表42。执行完步骤S14后,发音控制指令剖析单元22回到步骤S11,读取并处理下一发音控制指令。
在步骤S12,如果指令不是声音控制指令,发音控制指令剖析单元22执行步骤S15,判别该指令为音效控制指令。若是的话,发音控制指令剖析单元22执行步骤S16,在标签对应表41中加入或修改一项目,并将该指令的超媒体标签、指令型态(在此为AUDIO)、属性及音效数据指标存入对应的栏位。然后发音控制指令剖析单元22执行步骤S25,将该指令所定义的音效档名及其档案内容存入音效表43。执行完步骤S25后,发音控制指令剖析单元22回到步骤S11,读取并处理下一发音控制指令。
在步骤S15,如果指令不是音效控制指令,发音控制指令剖析单元22执行步骤S17,判别该指令是否为专有名词控制指令。若是的话,发音控制指令剖析单元22执行步骤S18,依据破音字表31现有的内容,对该指令进行文字转换。也就是说,针对破音字表31的各个项目,依序检查该指令是否存在需要转换的破音字串。若在该指令中发现需要转换的破音字串,发音控制指令剖析单元22则将其转换为对应的替代字串。执行完步骤S18,发音控制指令剖析单元22执行步骤S19,依据专有名词表32现有的内容,对该指令进行文字转换。也就是说,针对专有名词表32的各个项目,依序检查该指令是否存在需要转换的专有名词字串。若在该指令中发现需要转换的专有名词字串,发音控制指令剖析单元22则将其转换为对应的译文字串。执行完步骤S19,发音控制指令剖析单元22执行步骤S20,将转换后的专有名词控制指令存入专有名词表32。然后发音控制指令剖析单元22回到步骤S11,读取并处理下一发音控制指令。
在步骤S17,如果指令不是专有名词控制指令,发音控制指令剖析单元22执行步骤S21,判别该指令是否为破音字控制指令。若是的话,发音控制指令剖析单元22执行步骤S22,依据破音字表31现有的内容,对该指令进行文字转换。也就是说,针对破音字表31的各个项目,依序检查该指令是否存在需要转换的破音字串。若在该指令中发现需要转换的破音字串,发音控制指令剖析单元22则将其转换为对应的替代字串。执行完步骤S22,发音控制指令剖析单元22执行步骤S23,将转换后的破音字控制指令存入破音字表31。然后发音控制指令剖析单元22回到步骤S11,读取并处理下一发音控制指令。
在步骤S21,如果指令不是破音字控制指令,发音控制指令剖析单元22执行步骤S24。在步骤S24中,发音控制指令剖析单元22将所读取的数据视为注解,因此将其忽略。然后发音控制指令剖析单元22回到步骤S11,读取并处理下一发音控制指令。发音控制指令剖析单元22会重复执行步骤S11-S24,直到所有的发音控制指令都处理完。
图8说明文字转换单元26的执行流程。在步骤S31中,文字转换单元26读取超媒体文件档案23的文字内容。接着文字转换单元26执行步骤S32,依据破音字表31现有的内容,对该文字内容进行文字转换。也就是说,文字转换单元26会针对破音字表31的各个项目,依序检查该文字内容是否存在需要转换的破音字串。若在该文字内容中发现需要转换的破音字串,文字转换单元26则将其转换为对应的替代字串。为了执行以上效率,文字转换单元26在针对破音字表31的一项目做文字转换时,首先搜寻该文字内容,找出该项目的破音字串的位置,再以该位置的前后字符或字串,加上该破音字串,与该项目的前后文字串进行对比,以决定该文字内容的这个破音字串是否需要以该项目的替代字串来取代。若是的话,文字转换单元26就以该项目的替代字串来取代这个破音字串。如果该项目没有定义前后文字串,文字转换单元26则直接以替代字串来取代这个破音字串。处理完后,文字转换单元26继续以此方式搜寻该文字内容,找出并处理下一该项目的破音字串,直到该文字内容都搜寻完毕。
执行完步骤S32,文字转换单元26接着执行步骤S33,依据专有名词表32现有的内容,对步骤S32所转换完成的文字内容进行文字转换。也就是说,文字转换单元26针对专有名词表32的各个项目依序检查该指令是否存在需要转换的专有名词字串。若在该文字内容中发现需要转换的专有名词串,则文字转换单元26将其转换为对应的译文字串。文字转换单元26在针对专有名词表32的一项目做文字转换时,首先搜寻该文字内容,找出该项目的专有名词字串,并直接以译文字串来取代这个专有名词字串。处理完后,文字转换单元26继续以此方式搜寻该文字内容,找出并处理下一该项目的专有名词字串,直到该文字内容都搜寻完毕。
执行完步骤S33,文字转换单元26回到步骤S31,读取并处理下一串由超媒体标示语言剖析单元24所产生的文字内容。
图9说明标签转换单元25的执行步骤。为了处理超媒体标签的巢状式排列方式,标签转换单元25使用一存储在主存储器12或中央处理器11中的堆栈(stack),以便于执行超媒体标签的转换处理。在步骤S41,针对一由超媒体标示语言剖析单元24所产生的超媒体标签,标签转换单元25首先判别其是否为起始标签。若该超媒体标签是一起始标签,标签转换单元25执行步骤S42,将其推进(push)堆栈。否则的话,标签转换单元25执行步骤S43,自堆栈中弹出(pop)一超媒体标签。
在步骤S44,标签转换单元25针对堆栈顶端的超媒体标签进行标签转换,并以该超媒体标签检索标签对应表41。在步骤S45,标签转换单元25依据检索的结果,决定该超媒体标签是否有对应的参数设定项目(其型式栏位为PARAM)。若有的话,标签转换单元25执行步骤S46,使用该项目的参数指标自参数表42中读取对应的参数。然后标签转换单元25将这些参数送交给文字语音转换单元27,以改变往后文字内容的发音方式。
执行完步骤S46,或者该超媒体标签没有对应的参数设定项目时,标签转换单元25执行步骤S47,依据检索的结果,决定该超媒体标签是否有对应的音效控制项目(其型式栏位为AUDIO)。若有的话,标签转换单元25执行步骤S48,利用该项目的音效数据指标从音效表43中读取对应的音效数据。然后标签转换单元25将此音效数据送交给音效装置16或电话介面装置14播出。
在步骤S47,如果该超媒体标签没有对应的音效控制项目,标签转换单元25执行步骤S49,将该超媒体标签忽略不处理。执行完步骤S48或步骤S49,标签转换单元25回到步骤S41,等待处理下一由超媒体标示语言剖析单元24所产生的超媒体标签。
标签转换单元25所使用的堆栈,可以确保内层的超媒体元件(HTMLelement)可使用自己的声音及音效控制。同时当回到上层的超媒体元件时,仍能恢复该元件所使用的声音及音效控制。
上述的实施例,只是为了说明本发明所提出的方法。熟悉本领域技术的人还可导出不同的实施方式,而不脱离所附权利要求书所揭露的精神与范围。
权利要求
1.一种将超媒体文件转换为语音信号的电脑系统,包含一超媒体标示语言剖析单元,将一超媒体标示语言格式的文件,分离成文字内容、标示文件结构的超媒体标签及控制发音方式的发音控制指令;一发音控制指令剖析单元,分析该发音控制指令,并依据该发音控制指令的内容修改标签对应表、音效表、参数表、破音字表及专有名词表;一文字转换单元,在该破音字表内规定必须修改发音的字串出现在该文字内容中时,依照该破音字表内所规定的方式,修改发音,而且在该专有名词内规定必须翻译的字串出现在该文字内容中时,依照该专有名词表内所规定的方式做翻译;一标签转换单元,在该标签对应表内规定必须修改发音参数或插入音效的超媒体标签出现在该超媒体文件中时,依照该标签对应表内所指定的该音效表的项目,插入音效数据,并且使用该标签对应表内所指定的该参数表的项目,修改该超媒体标签所标示的该文字内容的发音参数;以及一文字语音转换单元,将该文字内容经由该文字转换单元及该标签转换单元修改后的结果,转换为语音信号。
2.在一发音控制指令剖析单元中,将超媒体文件转换为语音信号的方法包含下列步骤剖析指定特定超媒体标签应使用的音量、速度及韵律等发音参数的声音控制指令,及剖析指定特定超媒体标签应使用的音效数据的音效控制指令,而且根据该声音控制指令的内容,将发音参数存入参数项目中,并在标签对应表中设定该超媒体标签与该参数表项目的对应关系,以及根据该音效控制指令的内容,将音效数据存入音效表项目中,并在该标签对应表中设定该超媒体标签与该音效表项目的对应关系;以及剖析指定超媒体文件内文字内容中特定字串的发音修改方式及前后文字串的破音字控制指令,及剖析指定该文字内容中特定字串的翻译方式的专有名词控制指令,其中该发音修改方式及该翻译方式是可由一文字语音转换单元转换为语音信号的文字串,而且该发音控制指令剖析单元根据该破音字控制指令的内容,产生破音字表,存放该特定字串及其对应的该发音修改方式及该前后文字串,以及根据该专有名词控制指令的内容,产生专有名词表,存放该特定字串及其对应的该翻译方式。
3.在一文字转换单元中,将超媒体文件转换为语音信号的方法包含下列步骤针对破音字表各个项目所规定必须修改发音的特定字串,将超媒体文件的文字内容中的该特定字串,以其指定的用于修改发音的替代字串取代,该替代字串可以将该特定字串的多种发音,指定为其中一种特定的发音;以及针对专有名词表各个项目所规定必须作翻译的特定字串,将该超媒体文件的文字内容中的该特定字串,以其指定的用于翻译的译文字串取代,该译文字串可以让该特定字串中部分无法转换为语音信号的字串,经由文字语音转换单元转换为指定的语音信号。
4.在一标签转换单元中,用以修改发音参数及插入音效,将超媒体文件转换为语音信号的方法包含下列步骤针对标签对应表内各个项目所规定必须修改发音参数的超媒体标签,将超媒体文件中该超媒体标签所标示的文字内容,依照该标签对应表项目所指定的参数表项目,修改音量、速度及韵律等发音参数;以及针对该标签对应表内各个项目所规定必须插入音效的超媒体标签,对该超媒体文件中的该超媒体标签,依照该标签对应表项目所指定的音效表项目,产生音效。
5.一种将超媒体文件转换为语音信号的方法包含下列步骤剖析发音控制指令,这个步骤包含下列步骤针对声音控制指令,产生一由该声音控制指令指定的超媒体标签来检索的标签对应表项目,以及产生一参数表项目,存储该声音控制指令所指定的音量、速度及韵律等发音参数,并且在该标签对应表项目中,设定其指标栏位内的指标指向该参数项目;针对音效控制指令,产生一由该音效控制指令指定的超媒体标签来检索的标签对应表项目,以及产生一音效表项目,存储该音效控制指令所指定的音效数据,并且在该标签对应表项目中,设定其指标栏位内的指标指向该音效表项目;针对破音字控制指令,产生一由该破音字控制指令指定必须修改发音的特定字串来检索的破音字表项目,存储该破音字控制指令所指定的替代字串,这个替代字串可以将具有多种发音的该特定字串转换为其中一种特定的发音;以及针对专有名词控制指令,产生一由该由专有名词控制指令指定必须作翻译的特定字串来检索的专有名词表项目,存储该专有名词控制指令所指定的译文字串,这个译文字串可以让原本无法由文字语音转换单元转换为语音信号的该特定字串,转换为特定的语音信号。
6.如权利要求5所述的方法,进一步包括下列步骤从所述超媒体文件的一注解中萃取该发音控制指令。
7.如权利要求5所述的方法,进一步包括下列步骤读取各个所述发音控制指令。
8.如权利要求5所述的方法,进一步包括下列步骤分析一超媒体文件的数据;遇到一超媒体标签时,就以所述超媒体标签检索所述标签对应表;针对检索而得的该标签对应表项目,使用其指标栏位内的指标,取得该参数表项目及该音效表项目;使用该参数项目内的一组发音参数,修改往后文字语音转换单元所使用的发音参数;以及插入该音效表项目所存放的音效数据。
9.如权利要求8所述的方法,进一步包括下列步骤遇到一超媒体标签中的起始标签时,将该起始标签推入堆栈;以及遇到一超媒体标签中的结束标签时,就从该堆栈中弹出一超媒体标签,其中用于检索的特定超媒体标签,是位于该堆栈顶端的一超媒体标签。
10.如权利要求5所述的方法,进一步包括下列步骤分析一超媒体文件的数据;搜寻该超媒体文件的文字内容;将该文字内容中凡是符合该破音字表内规定必须修改发音的字串,以该破音字表项目内所指定的替代字串取代;以及将该文字内容中凡是符合该专有名词表内规定必须作翻译的字串,以该专有名词表项目内所指定的译文字串取代。
11.如权利要求10所述的方法,其中所述破音字表项目还含有一前后文栏位,所述文字内容中符合该破音字表项目内规定必须修改发音的字串,其前后文也必须符合该项目的前后文栏位内所规定的前后文字串,在此情况下,该字串才会以该破音字表项目内所指定的替代字串取代。
12.如权利要求11所述的方法,进一步包括下列步骤产生一语音信号,其内容包含所述音效数据所产生的语音信号,以及由所述超媒体文字的所述文字内容、所述替代字串及所述译文字串依照所述发音参数所转换完成的语音信号。
全文摘要
一种将超媒体文件转换为语音信号的系统,包含:超媒体标示语言剖析单元,读取并剖析超媒体文件,将其分离成文字内容、超媒体标签及发音控制指令;发音控制指令剖析单元,分析发音控制指令并依指令类别将其内容存入不同的表;文字转换单元,执行文字的替代转换以更正发音;标签转换单元,分析超媒体标签,控制传统文字语音转换单元的发音方式,执行音效合成;传统文字语音转换单元,将文字转换单元转换的文字内容转换为语音信号。
文档编号G06F3/16GK1243284SQ9811619
公开日2000年2月2日 申请日期1998年7月24日 优先权日1998年7月24日
发明者钟锦钧, 黄绍华, 钟崇斌 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1