專利名稱:話音輸出裝置的制作方法
技術領域:
本發(fā)明涉及話音輸出裝置,且特別地,例如,涉及能以更自然的方式輸出話音的話音輸出裝置。
背景技術:
在傳統(tǒng)的話音合成裝置中,合成的話音是根據(jù)通過分析文本獲得的文本或語音符號產(chǎn)生的。
近年來,已出現(xiàn)了一種具有話音合成器并能夠對用戶說話或聊天的寵物機器人。
在這樣一種寵物機器人中,話音通過置于其內的話音合成器按照對應于要表達的文本或語音符號被合成,并且作為結果的合成話音被輸出。
在該寵物機器人中,一旦開始輸出合成話音,輸出合成話音就是連續(xù)的直到輸出全部的合成話音。但是,當用戶在合成話音被輸出時斥責寵物機器人,若寵物機器人繼續(xù)輸出合成話音,即,若寵物機器人繼續(xù)發(fā)聲,機器人就給了用戶一種奇怪的印象。
發(fā)明公開考慮到以上情況,本發(fā)明的目的是提供一種以更自然的方式輸出話音的技術。
根據(jù)本發(fā)明的一方面,提供了一種話音輸出裝置,包含話音輸出裝置,用于在信息處理裝置的控制下輸出話音;停止裝置,用于響應特定激勵停止輸出話音;反應輸出裝置,用于響應所述特定激勵輸出反應;和恢復裝置,用于恢復輸出被停止裝置所停止的話音。
根據(jù)本發(fā)明的另一方面,提供了一種輸出話音的方法,包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
根據(jù)本發(fā)明的又一方面,提供了一種程序,包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
根據(jù)本發(fā)明的再一方面,提供了一種包括存儲其上的程序的存儲介質,該程序包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
在本發(fā)明中,話音在信息處理裝置的控制下被輸出。響應特定激勵,輸出話音被停止并且對應于該特定激勵輸出一個反應。此后,恢復輸出被停止的話音。
附圖簡述
圖1是表示根據(jù)本發(fā)明一個實施例機器人外部結構示例的透視圖。
圖2是表示機器人內部結構示例的方框圖。
圖3是表示控制器10功能結構示例的方框圖。
圖4表示一個激勵(stimulus)表。
圖5是表示話音合成單元55構造示例的方框圖。
圖6表示一個反應表。
圖7是表示關聯(lián)于話音合成單元55的處理的流程圖。
圖8是表示根據(jù)本發(fā)明一個實施例計算機構造示例的方框圖。
實現(xiàn)本發(fā)明的最佳方式圖1表示根據(jù)本發(fā)明一個實施例機器人外部結構的示例,且圖2表示其電氣配置的示例。
在本實施例中,機器人被構造成有四條腿的動物的形式,諸如狗,其中腿部單元3A、3B、3C和3D在分別的四個角加之于身體單元2上,并且頭部單元4和尾部單元5在前及后端加之于身體單元2上。
尾部單元5從置于身體單元2上表面的基部5B延伸以使尾部單元5能夠以兩種自由度彎曲或搖動。
在身體單元2中,如圖2所示,置有總體控制機器人的控制器10,用作機器人電源的電池11,和包括電池傳感器12A、姿勢傳感器12B、溫度(熱度/溫度)傳感器12C及計時器12D的內部傳感器12。
在頭部單元4上,如圖2所示,在適當選擇的位置置有用作耳朵的麥克風15,用作眼睛的CCD(電荷耦合器件)16,用作觸覺傳感器的接觸傳感器(壓力傳感器)17,和用作嘴巴的揚聲器18。用作嘴巴下顎的下顎單元4A加之于頭部單元4上以使下顎單元4A能夠以一種自由度移動。機器人的嘴巴能夠通過移動下顎單元4A張開及閉合。在本實施例中,除了置于頭部單元4上的接觸傳感器,類似的傳感器也置于諸如身體單元2和腿部單元3A至3D的各種單元上,盡管在圖2所示的實施例中,只簡單表示了一個置于頭部單元4上的接觸傳感器17。
如圖2所示,激勵器(actuator)3AA1至3AAK,3BA1至3BAK,3CA1至3CAK,3DA1至3DAK,4A1至4AL,5A1和5A2被分別置于連接腿部單元3A至3D部分的接合處,連接腿部單元3A至3D與身體單元2的接合處,連接頭部單元4與身體單元2的接合處,連接頭部單元4與下顎單元4A的接合處,和連接尾部單元5與身體單元2的接合處。
置于頭部單元4上的麥克風15從外界環(huán)境收集包括用戶表達的話音(聲音)并將獲得的話音信號傳送給控制器10。CCD照相機16攝取外界環(huán)境的圖像(通過檢測光)并將獲得的圖像信號傳送給控制器10。
接觸傳感器17(還有其他圖中未示出的接觸傳感器)檢測由用戶施加的壓力作為諸如“摩擦”或“敲打”這樣的物理動作,并將獲得的壓力信號作為檢測結果傳送給控制器10。
置于身體單元2中的電池傳感器12A檢測電池11的剩余容量并將檢測結果作為電池剩余容量信號傳送給控制器10。由陀螺儀或類似物構成的姿勢傳感器12B檢測機器人的姿勢并將指示所檢測到的姿勢的信息提供給控制器10。溫度傳感器12C檢測周圍溫度并將指示所檢測到的溫度的信息提供給控制器10。計時器12D使用時鐘測量時間并將指示當前時間的信息提供給控制器10。
控制器10包括CPU(中央處理單元)10A和存儲器10B。控制器10通過使用CPU 10A執(zhí)行存儲在存儲器10B中的控制程序實施各種處理。
更具體地,根據(jù)從麥克風15提供的話音信號、從CCD照相機16提供的圖像信號、從接觸傳感器17提供的壓力信號,還有內部傳感器12檢測到的如電池11的剩余容量、姿勢、溫度和當前時間這樣的參數(shù),控制器10檢測外界環(huán)境的狀態(tài)、由用戶發(fā)出的命令、以及各種激勵,諸如所施加給機器人的用戶的反應。
根據(jù)以上檢測到的參數(shù),控制器10作出下一步如何動作的決定。按照該決定,控制器10激活那些必要的激勵器,包括3AA1至3AAK,3BA1至3BAK,3CA1至3CAK,3DA1至3DAK,4A1至4AL,5A1和5A2,使得頭部單元4點頭或搖動或者張開及閉合下顎單元4A。根據(jù)該狀況,控制器10移動尾部單元5或者通過移動腿部單元3A至3D使機器人行走。
此外,根據(jù)需要,控制器10產(chǎn)生合成的話音數(shù)據(jù)并將其提供給揚聲器18,從而生成話音,或者打開/關閉或閃爍置于眼睛上的LED(發(fā)光二極管,圖中未示)。在以上過程中,當合成話音被輸出時,控制器10根據(jù)需要移動下顎4A。隨著輸出合成話音同時張開及閉合下顎4A能夠給用戶一種機器人真地在說話的印象。
如上所述,機器人響應于外界環(huán)境條件自主地動作。
盡管只有一個存儲器10B用在圖2所示的例子中,除了存儲器10B外可以安置一個或多個存儲器。一些或所有這樣的存儲器可以用能更換的存儲卡的形式被提供,諸如存儲條(商標),其能被容易地加上和分離。
圖3表示圖2所示控制器10的功能結構。注意圖3所示的功能結構通過使用CPU 10A執(zhí)行存儲在存儲器10B中的控制程序來實現(xiàn)。
傳感器輸入處理單元50分別根據(jù)從麥克風15、CCD照相機16和接觸傳感器17提供的話音信號、圖像信號和壓力信號,檢測特定的外部條件、施加給機器人的用戶的反應、和由用戶給出的命令。指示所檢測到的條件的信息作為識別狀態(tài)信息被提供給模型存儲器51和動作決定單元52。
更具體地,傳感器輸入處理單元50包括話音識別單元50A,用于識別從麥克風15提供的話音信號。例如,若給出的話音信號被話音識別單元50A識別為諸如“行走”、“躺下”或“追球”的命令,被識別的命令就作為識別狀態(tài)信息從傳感器輸入處理單元50提供到模型存儲器51和動作決定單元52。
傳感器輸入處理單元50還包括圖像識別單元50B,用于識別從CCD照相機16提供的圖像信號。例如,若傳感器輸入處理單元50通過由圖像識別單元50B執(zhí)行的圖像識別處理檢測到“紅色圓形某物”或“從地面垂直延伸的平面高度超過預定值”,于是傳感器輸入處理單元50將指示諸如“有一個球”或“有一面墻”的環(huán)境狀態(tài)的信息作為識別狀態(tài)信息提供到模型存儲器51和動作決定單元52。
傳感器輸入處理單元50進一步包括壓力處理單元50C,用于通過分析從安置在機器人上多個位置的包括接觸傳感器17的接觸傳感器(下文中這樣的接觸傳感器將被簡單稱作“接觸傳感器17或類似物”)提供的壓力信號,檢測壓力被施加的部位、壓力的幅度、壓力被施加的范圍、和壓力被施加的持續(xù)時間。例如,若壓力處理單元50C檢測到短持續(xù)時間的高于預定門限的壓力,傳感器輸入處理單元50則識別機器人被“敲打(斥責)”。在檢測到的壓力幅度低于預定門限且持續(xù)時間長的情況下,傳感器輸入處理單元50識別機器人被“摩擦(稱贊)”。指示施加給機器人的壓力被識別的含義的信息作為識別狀態(tài)信息提供到模型存儲器51和動作決定單元52。
在傳感器輸入處理單元50中,由話音識別單元50A執(zhí)行的話音識別結果,由圖像識別單元50B執(zhí)行的圖像識別結果,和由壓力處理單元50C執(zhí)行的壓力分析結果也被提供到激勵識別單元56。
模型存儲器51存儲并管理分別代表有關情緒、本能和成長的機器人內部狀態(tài)的情緒模型、本能模型和成長模型。
情緒模型使用預定范圍內的數(shù)值代表有關情緒的狀態(tài)(程度),例如“愉快”、“悲傷”、“生氣”和“喜悅”,其中數(shù)值根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息和根據(jù)經(jīng)過的時間而變化。本能模型使用預定范圍內的數(shù)值代表有關本能的狀態(tài)(程度),例如“食欲”、“期望睡覺”和“期望運動”,其中數(shù)值根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息和根據(jù)經(jīng)過的時間而變化。成長模型使用預定范圍內的數(shù)值代表成長的狀態(tài)(程度),諸如“童年”、“青年”、“中年”和“老年”,其中數(shù)值根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息和根據(jù)經(jīng)過的時間而變化。
分別由情緒模型、本能模型和成長模型的數(shù)值所代表的情緒、本能和成長狀態(tài),作為狀態(tài)信息從模型存儲器51提供到動作決定單元52。
除了從傳感器輸入處理單元50提供的識別狀態(tài)信息,模型存儲器51還從動作決定單元52接收指示機器人當前或過去動作的動作信息,諸如“行走了很長一段時間”,從而根據(jù)由動作信息所指示的機器人的動作,使得模型存儲器51對相同的識別狀態(tài)信息產(chǎn)生不同的狀態(tài)信息。
更具體地,例如,當機器人問候用戶時,若用戶摩擦機器人的頭部,則指示機器人問候用戶的動作信息和指示頭部被摩擦的識別狀態(tài)信息被提供給模型存儲器51。作為響應,模型存儲器51增加指示愉快程度的情緒模型的數(shù)值。
另一方面,若當機器人正在干一件工作時機器人被摩擦頭部,指示機器人正在干工作的動作信息和指示頭部被摩擦的識別狀態(tài)信息被提供給模型存儲器51。在這種情況下,模型存儲器51不增加指示“愉快”程度的情緒模型的數(shù)值。
如上所述,模型存儲器51不僅根據(jù)識別狀態(tài)信息而且根據(jù)指示機器人當前或過去動作的動作信息設定情緒模型的數(shù)值。這防止了機器人在情緒上有非自然的變化。例如,即使當機器人正在進行某件任務時用戶摩擦機器人的頭部意在和機器人開玩笑,關聯(lián)于“愉快”的情緒模型的數(shù)值也不會被非自然地增加。
至于本能模型和成長模型,模型存儲器51也根據(jù)識別狀態(tài)信息和動作信息二者增加或減少數(shù)值,如情緒模型那樣。此外,當模型存儲器51增加或減少情緒模型、本能模型和成長模型之一的數(shù)值時,其他模型的數(shù)值也被考慮。
動作決定單元52根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息、從模型存儲器51提供的狀態(tài)信息和經(jīng)過的時間決定下一步要采取的動作。被決定的動作內容作為動作命令信息提供給姿勢改變單元53。
更具體地,動作決定單元52管理一個有限自動機(finite automaton),其能夠獲取對應于機器人可能動作的狀態(tài),作為確定機器人動作的動作模型,以使用作動作模型的有限自動機的狀態(tài)根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息、關聯(lián)于情緒模型、本能模型和成長模型的模型存儲器51的數(shù)值以及經(jīng)過的時間來改變,并且動作決定單元52實施對應于所改變的狀態(tài)的動作作為下一步要采取的動作。
在以上過程中,當動作決定單元52檢測到特定的觸發(fā)時,動作決定單元52改變狀態(tài)。更具體地,例如,當一段時間,其中對應于當前狀態(tài)的動作被進行,已經(jīng)到達一個預定值時,或者當特定的識別狀態(tài)信息被接收時,或者當從模型存儲器51提供的狀態(tài)信息所指示的情緒、本能或成長狀態(tài)的數(shù)值變得比預定門限低或高時,動作決定單元52改變狀態(tài)。
因為,如上所述,動作決定單元52不僅根據(jù)從傳感器輸入處理單元50提供的識別狀態(tài)信息而且根據(jù)模型存儲器51的情緒模型、本能模型和成長模型的數(shù)值改變動作模型的狀態(tài),當前狀態(tài)被改變到的狀態(tài)能夠根據(jù)情緒模型、本能模型和成長模型的數(shù)值(狀態(tài)信息)而不同,即使當相同的識別狀態(tài)信息被輸入時。
例如,當狀態(tài)信息指示機器人不“生氣”且不“饑餓”時,若識別狀態(tài)信息指示“一只用戶的手手掌向前保持在機器人的臉前方”,動作決定單元52響應于保持在機器人臉前方的手,產(chǎn)生指示應當進行搖動的動作命令信息并將其傳送到姿勢改變單元53。
另一方面,例如,當狀態(tài)信息指示機器人不“生氣”但“饑餓”時,若識別狀態(tài)信息指示“一只用戶的手手掌向前保持在機器人的臉前方”,動作決定單元52響應于保持在機器人臉前方的手,產(chǎn)生指示機器人應當舔手掌的動作命令信息并將其傳送到姿勢改變單元53。
當狀態(tài)信息指示機器人生氣時,若識別狀態(tài)信息指示“一只用戶的手手掌向前保持在機器人的臉前方”,動作決定單元52產(chǎn)生指示機器人應當轉過臉的動作命令信息,不管狀態(tài)信息指示機器人“饑餓”與否,并且動作決定單元52將所產(chǎn)生的動作命令信息傳送到姿勢改變單元53。
此外,根據(jù)從模型存儲器51提供的狀態(tài)信息所指示的情緒、本能或成長狀態(tài),動作決定單元52可以確定相關聯(lián)的動作參數(shù),例如,在當前狀態(tài)要被改變到的狀態(tài)中應當實施的行走步調或幅度及移動前腿和后腿的速度。在這種情況下,包括動作參數(shù)的動作命令信息被提供到姿勢改變單元53。
除了上述關聯(lián)于諸如頭部、前腿、后腿等機器人各部分運動的動作命令信息,動作決定單元52還產(chǎn)生引起機器人說話的動作命令信息。引起機器人說話的動作命令信息被提供給話音合成單元55。提供給話音合成單元55的動作命令信息包括對應于要被話音合成單元55合成的話音的一個文本或類似物。若話音合成單元55接收來自動作決定單元52的動作命令信息,話音合成單元55就按照包括在動作命令信息中的文本產(chǎn)生一個合成話音并將它提供給揚聲器18,其依次輸出合成話音。這樣,例如,揚聲器18輸出哭聲、“我餓了”的話音向用戶請求些什么,或者話音“什么?”以響應來自用戶的呼叫。
話音合成單元55還接收指示由后面將要描述的激勵識別單元56識別的激勵含義的信息。除了如前所述按照從動作決定單元52接收的動作命令信息產(chǎn)生合成話音,話音合成單元55還根據(jù)由激勵識別單元56識別的激勵含義停止輸出合成話音。在這種情況下,若需要,話音合成單元55響應被識別的含義合成一個反應話音并將其輸出。此后,根據(jù)需要,話音合成單元55恢復輸出被停止的合成話音。
按照從動作決定單元52提供的動作命令信息,姿勢改變單元53產(chǎn)生用于將機器人的姿勢從當前姿勢改變到下一個姿勢的姿勢改變命令信息并將其傳送到控制單元54。
機器人的姿勢能夠從當前姿勢被改變到的可能的姿勢依賴于機器人各部分,諸如身體、前腿和后腿的形狀與重量,并且還依賴于機器人的物理狀態(tài),諸如各部分間的耦合狀態(tài)。此外,可能的姿勢也依賴于激勵器3AA1至5A1和5A2的狀態(tài),諸如接合處(joint)的方向與角度。
盡管在某些情況下直接轉變到下一個姿勢是可能的,但根據(jù)下一個姿勢直接轉變是不可能的。例如,具有四條腿的機器人能夠將姿勢從機器人腿部完全伸展地側躺狀態(tài)直接改變?yōu)榕P倒狀態(tài),但不能夠直接改變?yōu)檎玖顟B(tài)。為了改變?yōu)檎玖顟B(tài)的姿勢,必須執(zhí)行兩步操作,包括通過收腿改變?yōu)榕P倒姿勢和隨后站立起來。其中某些姿勢是不容易改變的。例如,若具有四條腿的機器人試圖從機器人以四條腿站立的姿勢向上抬起它的兩條前腿,機器人會容易倒下。
為避免以上問題,姿勢改變單元53提前登記能夠通過直接轉變獲得的姿勢。若從動作決定單元52提供的動作命令信息指定了一個能夠通過直接轉變獲得的姿勢,姿勢改變單元53將與姿勢改變命令信息一樣的動作命令信息傳送給控制單元54。但是,在動作命令信息指定了一個不能夠通過直接轉變獲得的姿勢的情況下,姿勢改變單元53產(chǎn)生姿勢改變命令信息,指示姿勢應當首先改變?yōu)榭赡艿闹虚g姿勢及隨后改變到最終姿勢,并且姿勢改變單元53將產(chǎn)生的姿勢改變命令信息傳送給控制單元54。這防止了機器人試圖把它的姿勢改變?yōu)椴豢赡艿淖藙莼虻瓜隆?br>
按照從姿勢改變單元53接收的姿勢改變命令信息,控制單元54產(chǎn)生一個用于驅動激勵器3AA1至5A1和5A2的控制信號并將其傳送給激勵器3AA1至5A1和5A2。由此,按照控制信號,激勵器3AA1至5A1和5A2被驅動以使機器人自主動作。
激勵識別單元56通過參照激勵數(shù)據(jù)庫57識別從機器人外部或內部施加的激勵的含義并將指示所識別的含義的信息提供給話音合成單元55。更具體地,如前所述,激勵識別單元56從傳感器輸入處理單元50接收由話音識別單元50A執(zhí)行的話音識別的結果,由圖像識別單元50B執(zhí)行的圖像識別的結果,和由壓力處理單元50C執(zhí)行的壓力分析的結果,并且還接收來自內部傳感器單元12的輸出以及存儲在關聯(lián)于情緒模型、本能模型和成長模型的模型存儲器51中的數(shù)值。根據(jù)輸入到激勵識別單元56的這些條信息,激勵識別單元56通過參照激勵數(shù)據(jù)庫57識別從外部或內部施加的激勵的含義。
激勵數(shù)據(jù)庫57存儲一個激勵表,指示諸如聲音、光(圖像)和壓力的每一激勵類型的激勵和激勵含義之間的對應關系。
圖4表示激勵表的一個示例,其中描述了激勵類型為壓力的激勵對應關系。
在圖4所示的例子中,關聯(lián)于作為激勵所施加的壓力的參數(shù)被定義的方面有壓力被施加的部位、幅度(強度)、范圍和持續(xù)時間(其間壓力被施加),以及對具有各個參數(shù)值的壓力定義的含義。例如,在一個超過寬范圍的強壓力短時間地施加到頭部、尾部、肩部、背部、腹部或腿部的情況下,所施加壓力的參數(shù)值符合圖4所示激勵表第一行,且由此激勵識別單元56識別壓力的含義為“敲打”,即,激勵識別單元56識別用戶施加壓力給機器人意圖為敲打機器人。
在以上過程中,激勵識別單元56根據(jù)激勵被提供的激勵檢測單元確定激勵類型,其中激勵檢測單元包括電池傳感器12A、姿勢傳感器12B、溫度傳感器12C、計時器12D、話音識別單元50A、圖像識別單元50B、壓力處理單元50C和模型存儲器51。
激勵識別單元56可以被構成為使傳感器輸入處理單元50的一些部分被激勵識別單元56和傳感器輸入處理單元50共享。
圖5表示圖3所示話音合成單元55的一個結構示例。
動作命令信息,其從動作決定單元52被輸出并包括基于要被合成的話音的一個文本,被提供給語言處理單元21。當接收到動作命令信息時,語言處理單元21參照字典存儲器22和語法分析存儲器23分析包括在動作命令信息中的文本。
字典存儲器22存儲了指示關聯(lián)于各個單詞的語音、發(fā)音、重音部分的信息的單詞字典。語法分析存儲器23存儲了指示規(guī)則的分析語法,諸如存儲在字典存儲器22的單詞字典中所描述的各個單詞的單詞連接限制。按照上述單詞字典和分析語法,語言處理單元21執(zhí)行文本分析,諸如在給定文本上的形態(tài)分析和句法分析,并且提取后面由基于規(guī)則的(rule-based)合成器24執(zhí)行的規(guī)則話音合成所需的信息。更具體地,例如,規(guī)則話音合成所需的信息包括停頓位置、用于控制重音的韻律信息、聲調和力量,以及指示單詞發(fā)音的發(fā)音信息。
由語言處理單元21獲得的信息被提供給基于規(guī)則的合成器24?;谝?guī)則的合成器24參照音素存儲器25并產(chǎn)生對應于輸入到語言處理單元21的文本的合成話音數(shù)據(jù)(數(shù)字數(shù)據(jù))。
音素存儲器25以例如CV(輔音,元音)、VCV、CVC或一個音調的形式存儲音素數(shù)據(jù)。按照從語言處理單元21提供的信息,基于規(guī)則的合成器24通過處理音素數(shù)據(jù)的波形連接必需的音素數(shù)據(jù)并加上停頓、重音和聲調,從而產(chǎn)生對應于輸入到語言處理單元21的文本的合成話音的話音數(shù)據(jù)(合成話音數(shù)據(jù))。
以上述方式產(chǎn)生的合成話音數(shù)據(jù)被提供給緩沖器26。緩沖器26暫時存儲從基于規(guī)則的合成器24提供的合成話音數(shù)據(jù)。緩沖器26在讀控制器29的控制下讀取存儲其中的合成話音數(shù)據(jù)并將讀取的數(shù)據(jù)提供給輸出控制器27。
輸出控制器27控制從緩沖器26到D/A(數(shù)字/模擬)轉換器28輸出合成話音數(shù)據(jù)。輸出控制器27還控制響應于一個激勵從反應發(fā)生器30到D/A轉換器28的指示要表達話音的數(shù)據(jù)(反應話音數(shù)據(jù))的輸出。
D/A轉換器28將輸出控制器27提供的合成話音數(shù)據(jù)或反應話音數(shù)據(jù)從數(shù)字信號轉換為模擬信號并將得到的模擬信號提供給揚聲器18,其依次輸出所提供的模擬信號。
在反應發(fā)生器30的控制下,讀控制器29控制從緩沖器讀取合成話音數(shù)據(jù)。更具體地,讀控制器29設定指示讀取地址的讀指針,在該地址合成話音數(shù)據(jù)被從緩沖器26讀取,并且讀控制器29連續(xù)移動讀指針以使合成話音數(shù)據(jù)被從緩沖器26適當讀取。
指示由激勵識別單元56識別的激勵含義的信息被提供給反應發(fā)生器30。若反應發(fā)生器30從激勵識別單元56收到指示激勵含義的信息,反應發(fā)生器30參照反應數(shù)據(jù)庫31并決定是否響應于激勵輸出一個反應。若決定反應應當被輸出,反應發(fā)生器30進一步?jīng)Q定應當輸出什么反應。按照該決定,反應發(fā)生器30控制輸出控制器27和讀控制器29。
反應數(shù)據(jù)庫31存儲了一個反應表,指示激勵含義和反應之間的對應關系。
圖6表示一個反應表。按照圖6所示的反應表,例如,若給定激勵的識別含義為“敲打”,則“Ouch!”作為反應話音被輸出。
參照圖7所示的流程圖,下面描述由圖6所示話音合成單元55執(zhí)行的一個話音合成過程。
若話音合成單元55從動作決定單元52接收動作命令信息,話音合成單元55開始該過程。首先,在步驟S1,動作命令信息被提供給語言處理單元21。
該過程于是前進至步驟S2。在步驟S2,在語言處理單元21和基于規(guī)則的合成器24中,按照從動作決定單元52接收的動作命令產(chǎn)生合成話音數(shù)據(jù)。
更具體地,語言處理單元21參照字典存儲器22或語法分析存儲器23分析包括在動作命令中的文本。分析結果被提供給基于規(guī)則的合成器24。根據(jù)從語言處理單元21接收的分析結果,基于規(guī)則的合成器單元24參照音素存儲器25并產(chǎn)生對應于包括在動作命令中的文本的合成話音數(shù)據(jù)。
由基于規(guī)則的合成器單元24產(chǎn)生的合成話音數(shù)據(jù)被提供給緩沖器26并存儲其中。
該過程于是前進至步驟S3。在步驟S3,讀控制器29開始讀取存儲在緩沖器26中的合成話音數(shù)據(jù)。
更具體地,讀控制器29設定讀指針以便指出存儲在緩沖器26中的合成話音數(shù)據(jù)的起點,且讀控制器29連續(xù)移動讀指針以使存儲在緩沖器26中的合成話音數(shù)據(jù)從其起點被讀取并被提供給輸出控制器27。輸出控制器27將從緩沖器26讀取的合成話音數(shù)據(jù)通過D/A轉換器28提供給揚聲器18從而自揚聲器18輸出數(shù)據(jù)。
此后,該過程前進至步驟S4。在步驟S4,反應發(fā)生器30確定指示被識別的激勵含義的信息是否已經(jīng)從激勵識別單元56(圖3)被發(fā)送。激勵識別單元56以規(guī)則或不規(guī)則的間歇識別激勵含義并將指示識別結果的信息提供給反應發(fā)生器30。或者,激勵識別單元56一直識別激勵含義,并且若激勵識別單元56檢測到被識別含義的改變,激勵識別單元56將指示改變后的識別含義的信息提供給反應發(fā)生器30。
在步驟S4確定指示激勵識別含義的信息已經(jīng)從激勵識別單元56被發(fā)送的情況下,反應發(fā)生器30接收指示識別含義的信息。此后,該過程前進至步驟S5。
在步驟S5,反應發(fā)生器30使用接收自激勵識別單元56的識別含義作為搜索關鍵詞搜索存儲在反應數(shù)據(jù)庫31中的反應表。此后,該過程前進至步驟S6。
在步驟S6,根據(jù)在步驟S5執(zhí)行的反應表的搜索結果,反應發(fā)生器30決定是否輸出一個反應話音。若在步驟S6決定沒有反應話音要被輸出,即,例如,若在反應表中沒有找到對應于激勵識別單元56給定的激勵含義的反應(激勵識別單元56給定的激勵含義未在反應表中被登記),流程返回步驟S4以重復上述過程。
在這種情況下,繼續(xù)從緩沖器26輸出合成話音數(shù)據(jù)。
另一方面,若在步驟S6決定應當輸出一個反應話音,即,例如,若在反應表中找到了對應于激勵識別單元56給定的激勵含義的反應,反應發(fā)生器30從反應數(shù)據(jù)庫31讀取相應的反應話音數(shù)據(jù)。此后,該過程前進至步驟S7。
在步驟S7,反應發(fā)生器30控制輸出控制器27以便停止從緩沖器26向D/A轉換器28提供合成話音數(shù)據(jù)。
因而,在這種情況下,合成話音數(shù)據(jù)的輸出被停止。
此外,在步驟S7,反應發(fā)生器30提供一個內部信號給讀控制器29以獲取合成話音數(shù)據(jù)輸出被停止時讀指針的數(shù)值。此后,該過程前進至步驟S8。
在步驟S8,反應發(fā)生器30將通過檢索反應表在步驟S5得到的反應話音數(shù)據(jù)提供給輸出控制器27并通過輸出控制器27進一步提供到D/A轉換器28。
于是,在輸出合成話音數(shù)據(jù)被停止后,反應話音數(shù)據(jù)被輸出。
在開始輸出反應話音數(shù)據(jù)之后,該過程前進至步驟S9,其中反應發(fā)生器30設定讀指針以便指出要被恢復的合成話音數(shù)據(jù)讀取的地址。此后,該過程前進至步驟S10。
在步驟S10,該過程等待在步驟S8開始的輸出反應話音數(shù)據(jù)的完成。若輸出反應話音數(shù)據(jù)被完成,該過程前進至步驟S11。在步驟S11,反應發(fā)生器30將指示在步驟S9設定的讀指針的值的數(shù)據(jù)提供給讀控制器29。作為響應,讀控制器29恢復從緩沖器26再現(xiàn)(讀取)合成話音數(shù)據(jù)。
由此,當開始于停止輸出合成話音數(shù)據(jù)后的反應話音數(shù)據(jù)的輸出被完成時,恢復輸出合成話音數(shù)據(jù)。
此后,該過程返回至步驟S4。若在步驟S4確定沒有指示激勵識別含義的信息已經(jīng)從激勵識別單元56被發(fā)送,則過程跳至步驟S12。在步驟S12,確定是否有更多的合成話音數(shù)據(jù)要從緩沖器26被讀取。若確定有更多的合成話音數(shù)據(jù)要被讀取,則過程返回至步驟S4。
在步驟S12確定沒有更多的合成話音數(shù)據(jù)要從緩沖器26被讀取的情況下,則過程完成。
通過上述話音合成過程,話音被輸出,例如,象下面描述的。
這里,我們假定合成話音數(shù)據(jù)“Where is an exit?(出口在哪里)”產(chǎn)生于基于規(guī)則的合成器24并存儲在緩沖器26中。我們還假定當輸出合成話音數(shù)據(jù)進行至“Where is an e”時用戶敲打機器人。在這種情況下,激勵識別單元56識別所施加的激勵含義是“敲打”并將指示激勵識別含義的信息提供給反應發(fā)生器30。反應發(fā)生器30參照圖6所示的反應表并確定“Ouch!”為響應識別的激勵作為具有“敲打”含義的反應話音數(shù)據(jù)要被輸出。
反應發(fā)生器30于是控制輸出控制器27以使停止輸出合成話音數(shù)據(jù)并輸出反應話音數(shù)據(jù)“Ouch!”。此后,反應發(fā)生器30控制讀指針以使從輸出被停止的點恢復輸出合成話音數(shù)據(jù)。
更具體地,在這種情況下,當輸出合成話音數(shù)據(jù)進行至“Where is an e”被輸出時,合成話音數(shù)據(jù)的輸出被停止并且響應于檢測到機器人被用戶敲打輸出反應話音“Ouch!”。此后,輸出合成話音數(shù)據(jù)的剩余部分“xit”。
在這一特別示例中,合成話音被輸出為“Where is an e”→“Ouch!”→“xit”。因為在反應話音數(shù)據(jù)“Ouch!”之后輸出的合成話音數(shù)據(jù)“xit””是一個完整單詞的一部分,用戶不能容易地理解所表達的話音。
為避免以上問題,輸出合成話音數(shù)據(jù)被恢復的點可以向回移動至一個早些的點,對應于信息片段間的分界(例如,對應于當重新開始點向回移動時將會到達的一個第一信息片段的起點)。
也就是,合成話音數(shù)據(jù)的輸出可以從一個單詞的分界被恢復,其將是當恢復點被從停止點向回移動時檢測到的第一個單詞。
在上述特別示例中,輸出合成話音數(shù)據(jù)被停止于單詞“exit”的“x”,且由此輸出合成話音數(shù)據(jù)可以從單詞“exit””的起點被恢復。在這種情況下,當輸出合成話音數(shù)據(jù)進行至“Where is an e”被輸出時,合成話音數(shù)據(jù)的輸出被停止并且響應于檢測到機器人被用戶敲打輸出反應話音“Ouch!”。此后,輸出合成話音數(shù)據(jù)“exit”。
輸出合成話音數(shù)據(jù)被恢復的點可以向回移動至一個標點或一個呼吸停頓,其將是當恢復點從停止點向回移動時被檢測到的第一個?;蛘撸敵龊铣稍捯魯?shù)據(jù)的點可以通過操作一個圖中未示出的操作單元由用戶任意指定。
更具體地,輸出合成話音數(shù)據(jù)被恢復的點能夠通過圖7中所示的步驟S9設定至對應值的讀指針來指定。
在上述示例中,當施加一個激勵時,輸出合成話音數(shù)據(jù)被停止且對應于所施加的激勵的反應話音數(shù)據(jù)被輸出,并且緊接著,輸出合成話音數(shù)據(jù)被恢復?;蛘撸敵龇磻捯魯?shù)據(jù)之后,輸出合成話音數(shù)據(jù)可以不立即恢復但可在預定的固定反應被輸出后恢復。
更具體地,如上所述輸出合成話音數(shù)據(jù)被停止之后且輸出反應話音數(shù)據(jù)“Ouch!”,一個固定的合成話音諸如“請原諒”或“我請求你原諒”被輸出以對停止輸出合成話音數(shù)據(jù)道歉。此后,停止的合成話音數(shù)據(jù)輸出被恢復。
輸出合成話音數(shù)據(jù)可以從其起點被恢復。
例如,若指示諸如用戶發(fā)出“Eh!”的一個問題的話音在輸出合成話音數(shù)據(jù)的過程中間被檢測到,能夠推斷用戶不能領會合成話音。于是,在這種情況下,響應于話音激勵“Eh!”的檢測輸出合成話音數(shù)據(jù)可被停止,并且在一個很短的沉默期之后合成話音數(shù)據(jù)可以再從其起點被輸出?;謴洼敵龊铣稍捯魯?shù)據(jù)也能通過設定至對應值的讀指針容易地實現(xiàn)。
控制輸出合成話音數(shù)據(jù)也可以響應于壓力或話音以外的激勵被執(zhí)行。
例如,激勵識別單元56比較從內部傳感器單元12的溫度傳感器12C輸出的溫度激勵和一個預定門限(threshold),并且若溫度低于預定門限,激勵識別單元56識別其為“冷”。在激勵識別單元56識別其為“冷”的情況下,反應發(fā)生器30可以輸出一個對應的反應話音數(shù)據(jù),例如,一個噴嚏到輸出控制器27。在這種情況下,機器人在輸出合成話音數(shù)據(jù)的過程中間打噴嚏并隨后恢復輸出合成話音數(shù)據(jù)。
作為另一示例,當激勵識別單元56比較從內部傳感器單元12的計時器12D作為一個激勵輸出的當前時間(或由存儲在模型存儲器51中的本能模型決定的指示“期望睡覺”程度的值)和一個預定門限值時,若當前時間在對應于早晨很早或午夜的范圍內,激勵識別單元56識別機器人是“困倦”的。在激勵識別單元56識別機器人是“困倦”的情況中,反應發(fā)生器30可以輸出一個對應的反應話音數(shù)據(jù),例如,一個呵欠到輸出控制器27。在這種情況下,機器人在輸出合成話音數(shù)據(jù)的過程中間打呵欠并隨后恢復輸出合成話音數(shù)據(jù)。
作為又一示例,當激勵識別單元56比較從內部傳感器單元12的電池傳感器12A作為一個激勵輸出的電池剩余容量(或由存儲在模型存儲器51中的本能模型決定的指示“食欲”程度的值)和一個預定門限值時,若電池剩余容量低于預定門限,激勵識別單元56識別機器人是“饑餓”的。在激勵識別單元56識別機器人是“饑餓”的情況中,反應發(fā)生器30可以輸出一個例如指示“轆轆”聲的反應話音數(shù)據(jù)到輸出控制器27。在這種情況下,機器人的胃在輸出合成話音數(shù)據(jù)的過程中間發(fā)出轆轆聲并隨后恢復輸出合成話音數(shù)據(jù)。
作為再一示例,當激勵識別單元56比較由存儲在模型存儲器51中的本能模型決定的指示“期望運動”程度的值和一個預定門限值時,若指示“期望運動”程度的值低于預定門限,激勵識別單元56識別機器人是“疲勞”的。在激勵識別單元56識別機器人是“疲勞”的情況中,反應發(fā)生器30可以產(chǎn)生一個諸如“唉呦”代表疲勞的指示嘆息聲的反應話音數(shù)據(jù)并將其輸出到輸出控制器27。在這種情況下,機器人在輸出合成話音數(shù)據(jù)的過程中間嘆息并隨后恢復輸出合成話音數(shù)據(jù)。
作為另外一個示例,根據(jù)從姿勢傳感器12B的輸出,可以確定是否機器人將會失去姿勢的平衡。若確定機器人將會失去平衡,一個指示諸如“啊呀”話音的反應話音數(shù)據(jù)可被輸出。
如上所述,響應于從機器人外部或內部施加的激勵,輸出合成話音數(shù)據(jù)被停止且對應于施加激勵的反應被輸出。此后,停止的合成話音數(shù)據(jù)輸出被恢復。由此,可實現(xiàn)能以非常自然的方式帶有與人類感情和感覺相似的感情和感覺來表達的機器人,即,能夠以類似于人類的方式產(chǎn)生行為。也就是,機器人能夠以這樣的方式產(chǎn)生行為給出機器人通過脊髓反射產(chǎn)生行為的印象,并且因此機器人能夠給用戶帶來很好的娛樂。
此外,通過從停止點向回移動輸出合成話音數(shù)據(jù)的恢復點,可能防止用戶錯過由于合成話音數(shù)據(jù)結尾前停止輸出合成話音數(shù)據(jù)表達的含義。
盡管本發(fā)明參考以上用于娛樂的四足動物機器人(用作假冒寵物的機器人)的實施例被描述,本發(fā)明還可以應用于其他類型的機器人,諸如具有相似于人類形狀的兩足動物機器人。此外,本發(fā)明不僅能應用于在真實世界中行動的實際機器人,也能應用于虛擬機器人(人物),諸如顯示在液晶顯示屏上的。而且,本發(fā)明不僅能應用于機器人,還能應用于各種系統(tǒng),諸如具有話音合成裝置或話音輸出裝置的交互系統(tǒng)。
在上述實施例中,通過使用CPU 10A執(zhí)行程序來進行一系列處理。作為選擇,處理序列也可以通過專有的硬件來進行。
程序可以被提前存儲在存儲器10B中(圖2)。作為選擇,程序可以被暫時或永久地存儲(記錄)在可更換的存儲介質上,諸如軟盤、CD-ROM(光盤只讀存儲器)、MO(磁光)盤、DVD(數(shù)字通用盤)、磁盤或半導體存儲器。程序被存儲其上的可更換的存儲介質可以是所謂的封裝軟件,從而允許程序被安裝在機器人(存儲器10B)上。
也可以從通過數(shù)字廣播衛(wèi)星和通過無線或有線網(wǎng)絡諸如LAN(局域網(wǎng))或因特網(wǎng)的某一地點下載程序,將程序安裝進存儲器10B。
在這種情況下,當程序被升級時,升級的程序可以被容易地安裝進存儲器10B。
在本發(fā)明中,描述于要被執(zhí)行各種處理的CPU 10A執(zhí)行的程序中的處理步驟不必按照描述于流程圖中的次序以時間序列被執(zhí)行。作為替代,處理步驟可以并行或分離地被執(zhí)行(通過并行處理或對象處理)。
程序可以由單個CPU或由多個CPU以分散方式來執(zhí)行。
圖5所示的話音合成單元55可以通過專有的硬件或通過軟件來實現(xiàn)。當話音合成單元55通過軟件來實現(xiàn)時,軟件程序被安裝在多用途計算機或類似物上。
圖8表示本發(fā)明的一個實施例,其中用以實現(xiàn)話音合成單元55的程序被安裝在一個計算機上。
程序可以提前存儲在用作存儲介質的硬盤105上或置于計算機內部的ROM 103中。
作為選擇,程序可以被暫時或永久地存儲(記錄)在可更換的存儲介質111上,諸如軟盤、CD-ROM、MO盤、DVD、磁盤或半導體存儲器。這樣一個可更換的存儲介質111可以是所謂的封裝軟件的形式。
取代從可更換的存儲介質111安裝程序到計算機上,程序也可以從通過無線傳輸?shù)臄?shù)字廣播衛(wèi)星或通過有線通信網(wǎng)絡諸如LAN(局域網(wǎng))或因特網(wǎng)的下載地點被傳送給計算機。在這種情況下,計算機使用通信單元108接收以上述方式傳送的程序并將所接收的程序安裝在置于計算機內的硬盤105上。
計算機包括CPU 102。CPU 102通過總線101被連接到一個輸入/輸出接口110以使當操作諸如鍵盤或鼠標的輸入單元107發(fā)出的一個命令通過輸入/輸出接口110被輸入時,CPU 102響應于該命令執(zhí)行存儲在ROM 103中的程序。作為選擇,CPU 102可以執(zhí)行裝載于RAM(隨機存儲器)104中的程序,其中程序可以通過傳送存儲于硬盤105上的程序到RAM 104而被裝載進RAM 104,或者在通過通信單元108從衛(wèi)星或網(wǎng)絡接收之后傳送已安裝在硬盤105上的程序,或者在裝載于驅動器109上的可更換記錄介質111被讀取之后傳送已安裝在硬盤105上的程序。通過執(zhí)行程序,CPU 102實施以上參考流程圖描述的過程或以上參考方框圖描述的過程。CPU 102根據(jù)需要通過輸入/輸出接口110輸出該過程的結果給諸如LCD(液晶顯示器)或揚聲器的輸出單元106。該過程的結果也可以通過通信單元108被傳送或者可以被存儲在硬盤105上。
盡管在上述實施例中,話音(反應話音)響應于激勵被輸出,但反應話音以外的反應也可以響應于激勵被實施(輸出)。例如,機器人可以響應于激勵點頭或搖頭或者擺動它的尾巴。
盡管在圖6所示反應表的示例中,描述了激勵和反應的對應關系,其他參數(shù)之間的對應關系也可以被描述。例如,激勵改變(比如激勵力量的改變)和反應之間的對應關系可以被描述。
此外,盡管在上述實施例中,通過規(guī)則話音合成器產(chǎn)生合成話音,合成話音也可以通過規(guī)則話音合成器以外的方法來產(chǎn)生。
工業(yè)實用性按照本發(fā)明,如上所述,話音在信息處理裝置的控制下被輸出。話音輸出響應于特定激勵被停止,并且輸出對應于該特定激勵的反應。此后,恢復輸出被停止的話音。于是,話音以非常自然的方式輸出。
權利要求
1.一種用于輸出話音的話音輸出裝置,包括話音輸出裝置,用于在信息處理裝置的控制下輸出話音;停止裝置,用于響應特定激勵停止輸出話音;反應輸出裝置,用于響應所述特定激勵輸出反應;和恢復裝置,用于恢復輸出被停止裝置所停止的話音。
2.如權利要求1的話音輸出裝置,其中所述特定激勵是聲音、光、時間、溫度或壓力。
3.如權利要求2的話音輸出裝置,進一步包括檢測裝置,用于檢測作為所述特定激勵而被施加的聲音、光、時間、溫度或壓力。
4.如權利要求1的話音輸出裝置,其中所述特定激勵是信息處理裝置的內部狀態(tài)。
5.如權利要求4的話音輸出裝置,其中所述信息處理裝置是真實或虛擬的機器人;和所述特定激勵是機器人情緒或本能的狀態(tài)。
6.如權利要求1的話音輸出裝置,其中所述信息處理裝置是真實或虛擬的機器人;和所述特定激勵是機器人姿勢的狀態(tài)。
7.如權利要求1的話音輸出裝置,其中所述恢復裝置從輸出被停止的點恢復輸出話音。
8.如權利要求1的話音輸出裝置,其中所述恢復裝置從輸出被停止的點向回移動的一個特定點恢復輸出話音。
9.如權利要求8的話音輸出裝置,其中所述恢復裝置從輸出被停止的點向回移動的一個特定點恢復輸出話音,所述特定點是信息片段之間的邊界。
10.如權利要求9的話音輸出裝置,其中所述恢復裝置從輸出被停止的點向回移動的一個特定點恢復輸出話音,所述特定點是單詞之間的邊界。
11.如權利要求9的話音輸出裝置,其中所述恢復裝置從輸出被停止的點向回移動的一個特定點恢復輸出話音,所述特定點對應于一個標點。
12.如權利要求9的話音輸出裝置,其中所述恢復裝置從輸出被停止的點向回移動的一個特定點恢復輸出話音,所述特定點對應于一個呼吸停頓的起點。
13.如權利要求1的話音輸出裝置,其中所述恢復裝置從用戶指定的特定點恢復輸出話音。
14.如權利要求1的話音輸出裝置,其中所述恢復裝置從話音的起點恢復輸出話音。
15.如權利要求1的話音輸出裝置,其中在話音對應于文本的情況下,所述恢復裝置從文本的起點恢復輸出話音。
16.如權利要求1的話音輸出裝置,其中在所述反應輸出裝置響應于特定激勵已輸出反應之后,所述反應輸出裝置還輸出一個預定且固定的反應。
17.如權利要求1的話音輸出裝置,其中所述反應輸出裝置通過話音響應于特定激勵輸出反應。
18.如權利要求1的話音輸出裝置,進一步包括激勵識別裝置,用于根據(jù)從檢測特定激勵的檢測裝置的輸出識別特定激勵的含義。
19.如權利要求18的話音輸出裝置,其中所述激勵識別裝置根據(jù)已檢測特定激勵的檢測裝置識別特定激勵的含義。
20.如權利要求18的話音輸出裝置,其中所述激勵識別裝置根據(jù)特定激勵的力量識別特定激勵的含義。
21.一種輸出話音的方法,包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
22.一種用于使計算機執(zhí)行輸出話音過程的程序,包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
23.一種存儲介質,其上的程序用于使計算機執(zhí)行輸出話音的過程,所述程序包含的步驟為在信息處理裝置的控制下輸出話音;響應特定激勵停止輸出話音;響應所述特定激勵輸出反應;和恢復輸出被停止步驟所停止的話音。
全文摘要
一種話音輸出裝置,能按照預定激勵停止輸出話音并對激勵輸出反應,從而實現(xiàn)自然的話音輸出。規(guī)則生成塊(24)產(chǎn)生并輸出一個合成話音。例如,當一個合成話音“Deguchi wa doko desuka?”(日語,意為“where is theexit?(出口在哪里)”)被產(chǎn)生且在機器人已輸出“Deguchi wa do”時用戶打擊機器人,則反應生成塊(30)參照反應數(shù)據(jù)庫(31),決定輸出一個反應話音“Ite”(日語,意為“ouch”),停止輸出合成話音“Deguchi wa doko desuka?”,并輸出反應話音“Ite”。此后,反應生成塊(30)控制被讀出控制塊(29)控制的緩沖器(26)的讀出指針,以便恢復輸出被停止的前述合成話音的輸出。結果,合成話音“Deguchi wa do,Ite,ko desuka?”被輸出。
文檔編號G10L13/00GK1459090SQ02800757
公開日2003年11月26日 申請日期2002年3月22日 優(yōu)先權日2001年3月22日
發(fā)明者小林惠理香, 赤羽誠, 新田朋晃, 岸秀樹, 堀中里香, 武田正資 申請人:索尼公司