帶有語音提示功能的界面設(shè)計(jì)與開發(fā).doc
人機(jī)交互基礎(chǔ)教程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目:帶有語音提示功能的界面設(shè)計(jì)與開發(fā)專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 生 姓 名 班 級(jí) 學(xué) 號(hào) 教 師 指 導(dǎo) 單 位 計(jì)算機(jī)軟件學(xué)院 日 期 教師評(píng)語 教師簽名: 年 月 日成績評(píng)定備 注一、實(shí)驗(yàn)?zāi)康?)通過開發(fā)一個(gè)簡單的具有語音提示功能的人機(jī)交互系統(tǒng),使同學(xué)了解多通道交互系統(tǒng)的優(yōu)點(diǎn)和交互模型的構(gòu)建方法。2)理解語音合成技術(shù)的基本原理。3)了解和掌握Microsoft speech sdk的使用方法。二 、實(shí)驗(yàn)器材1配有語音卡、耳麥、揚(yáng)聲器等多媒體設(shè)備的PC機(jī)2.Windows操作系統(tǒng)3.MS Speech SDK三、實(shí)驗(yàn)說明1MS Speech SDK簡介:為解決語音引擎之間不兼容的問題,微軟推出了一套語音應(yīng)用程序開發(fā)的軟件開發(fā)資源包Speech SDK,方便開發(fā)人員使用資源包開發(fā)語音識(shí)別和語音合成的應(yīng)用程序,隔離了應(yīng)用軟件與語音引擎之間的聯(lián)系,使得語音引擎的更換不會(huì)影響到應(yīng)用程序的設(shè)計(jì)。2Speech SDK基本工作原理作為應(yīng)用程序開發(fā)者,只需調(diào)用speech sdk中的函數(shù),即可實(shí)現(xiàn)語音合成與語音識(shí)別功能。3下載安裝從Microsoft官方下載站點(diǎn)搜索Speech SDK 5.1并下載安裝,中文語言包可選擇安裝。安裝好Speech SDK后,語音控制程序?qū)⒈惶砑拥?“控制面板”->“語音”選項(xiàng)中。利用下圖對話框可以設(shè)置語音識(shí)別和文字-語音轉(zhuǎn)換的各項(xiàng)屬性,包括語言、語調(diào)、語速和輸入設(shè)備等。三、實(shí)驗(yàn)內(nèi)容與步驟(1)實(shí)驗(yàn)內(nèi)容在visual c+或.net環(huán)境下,用微軟的Speech SDK實(shí)現(xiàn)一個(gè)具有語音提示功能的界面,要求設(shè)計(jì)交互模型,并根據(jù)實(shí)際應(yīng)用情況來確定是否要用語音。調(diào)用Speech sdk的方法簡述如下:首先在visual c+主窗口的菜單欄中選擇“工程”>“設(shè)置”。在彈出對話框中選擇“c/c+”選項(xiàng)卡,在分類中選擇“preprocessor”,在附加包含路徑中,輸入speech sdk安裝路徑下的include目錄,如:C:Program FilesMicrosoft Speech SDK 5.1Include然后選擇“l(fā)ink”選項(xiàng)卡,在分類中選擇“Input”,在附加庫路徑中,輸入speech sdk安裝路徑下的lib目錄,如:C:Program FilesMicrosoft Speech SDK 5.1Libi386程序中的關(guān)鍵代碼如下:#include <sapi.h>#include <sphelper.h> /引入頭文件,以調(diào)用SDK中的API UpdateData(); ISpVoice * pVoice = NULL; if (FAILED(CoInitialize(NULL) AfxMessageBox("Error to intiliaze COM"); return; /初始化COMHRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void *)&pVoice);if( SUCCEEDED( hr ) )hr = pVoice->SetVolume(80);/音量控制0100hr = pVoice->SetRate(0);/語速控制-55hr = pVoice->Speak(L“hello world”, SPF_DEFAULT, NULL);/語音的內(nèi)容ISpObjectToken * spToken = NULL;if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=804", NULL, &SpToken)pVoice->SetVoice(SpToken);/切換至中文語音模式,language=804代表中文,409代表英文pVoice->Speak(L"世界你好", SPF_DEFAULT, NULL);SpToken->Release();if (SUCCEEDED(SpFindBestToken(SPCAT_VOICES, L"language=409", L"Name=Microsoft Mike", &SpToken)/說話人控制pVoice->SetVoice(SpToken); pVoice->Speak(L"This is Mike speaking", SPF_DEFAULT, NULL);SpToken->Release();pVoice->Speak(L"<LANG LANGID=804>你好</LANG> ", SPF_IS_XML, NULL);/也可直接寫成xml標(biāo)簽的格式 pVoice->Speak(L"This sounds normal <pitch middle = -10/> but the pitch drops half way through", SPF_IS_XML, NULL ); /聲調(diào)控制,-代表低音,+代表高音 pVoice->Release();pVoice = NULL;CoUninitialize();Speech sdk還有很多功能,詳見安裝目錄下的幫助文檔。(2)實(shí)驗(yàn)步驟1)熟悉Text-To-Speech(TTS)基本函數(shù)的調(diào)用方法,編程實(shí)現(xiàn)最簡單的語音合成原型系統(tǒng)。2)體會(huì)交互過程和實(shí)現(xiàn)方法。3)設(shè)計(jì)一個(gè)完整的人機(jī)交互界面,在適當(dāng)?shù)沫h(huán)節(jié)嵌入語音合成模塊,實(shí)現(xiàn)語音提示功能。四、實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn),我學(xué)會(huì)了開發(fā)一個(gè)簡單的具有語音提示功能的人機(jī)交互系統(tǒng),也了解了多通道交互系統(tǒng)的優(yōu)點(diǎn)和交互模型的構(gòu)建方法。對于語音合成技術(shù)的基本原理也有了基本的理解,第一次認(rèn)識(shí)并使用了Microsoft speech sdk,對于它的使用方法還不太熟悉,需要日后再加強(qiáng)。