帳號:
密碼:



開發成果展示
開發元件下載
   











語音辨識和評分

COM元件 JavaScript
C++
C#
ActiveX元件


iPhone ASRA懶人包





語音錄音
Flash  

 

「語音評分 / 辨識 COM 元件」介紹

「語音評分 / 辨識 COM 元件」介紹

簡介:
COM (Component Object Model) 是微軟公司提出的一種介面規格,目的是讓各種不同的應用程式之間可以彼此溝通、傳遞訊息,
即使這些應用程式是使用不同的程式語言寫成的。
語音評分 / 辨識 COM 元件是使用 Visual C++6.0,使用 ATL 函式庫製作而成,以dll 的形式呈現。
註冊在電腦上之後,其他的應用程式便可以根據元件的 CLSID 或是 progID 來取用這個元件提供的函式。
註:CLSID 是每一個元件獨一無二的序號,progID 則有名稱互相衝突的風險。

按此下載元件 (asraComRegister.zip)

安裝本元件:
方法一:直接進入下方範例中的「示範網頁」,若網頁可以成功執行,表示元件已經成功安裝,不必另外手動安裝。
方法二:手動安裝,下載上述的 asraChineseComRegister.rar,解壓縮後執行 install.bat。
Windows Vista 的使用者請注意:
若安裝後仍然無法使用元件,請安裝元件(asraChineseComRegister.rar)中的vista_register.reg
並且以系統管理員的身份執行此檔案,如此可開啟在 Vista 環境下「註冊 / 反註冊元件」的權限。
權限開啟之後,再執行一次安裝。

解除安裝本元件:
解除安裝之前,請先關閉所有的 IE 瀏覽器視窗。
確定 IE 瀏覽器視窗都關閉後,執行上述 asraComRegister.rar 中的 uninstall.bat。

元件規格:
目前版本:1.0.0.1
本元件的 CLSID: 5AADBCC7-54FC-4948-9431-70C5436C385C
本元件的 progID: ASRA_COM.ASRA
本元件提供四個 function,分別是:

function

說明


void SwitchLanguage(int languageid)

用途:切換語言為中文或英文
傳入參數:
languageid:0 為英文,1為中文

double RecordAndAssess(double recordTime, _bstr_t sentence)

用途:錄製一段聲音,跟指定的句子比對,進行評分。分數範圍從 0 ~ 100,越高分代表念的越正確。
傳入參數:
recordTime:錄音持續的秒數
sentence:作為標準答案的句子
傳回值:分數

_bstr_t RecordAndRecog(double recordTime, _bstr_t candidateList)

用途:錄製一段聲音,跟指定的句子清單比對,進行辨識。
傳入參數:
recordTime:錄音持續的秒數
candidateList:一個文字檔的檔案路徑,裡面每一行記錄一個候選句子
傳回值:辨識過程中得分最高的候選句子

double Assess(_bstr_t wavFilename, _bstr_t sentence)

用途:將一個 wav 檔案跟指定的句子比對,進行評分。分數範圍從 0 ~ 100,越高分代表檔案內容越接近標準答案。
傳入參數:
wavFilename:要進行評分的 wav 檔案
sentence:作為標準答案的句子
傳回值:分數

_bstr_t Recog(_bstr_t wavFilename, _bstr_t candidateList)

用途:將一個 wav 檔案跟指定的句子清單比對,進行辨識。
傳入參數:
wavFilename:作為標準答案的 wav 檔案
candidateList:一個文字檔的檔案路徑,裡面每一行記錄一個候選句子
傳回值:辨識過程中得分最高的候選句子

綜合說明:
1. 傳入的 wav 檔案的格式必須是 mono, 16 bits,16000 Hz,否則程式會運作錯誤。
2. 傳入的 wav 或是句子清單的檔案路徑必須使用絕對路徑,程式才能找到該檔案。


程式語言

說明

連結

C++

1. 在 ASRA_COM.rar 中包含一個 ASRA_COM.tlb 檔案,這個檔案記錄了本元件相關的 type library,C++ 程式可以 import 這個檔案,根據 type library 來呼叫元件的 function。

2. 在 COM 環境下,字串的型態是 BSTR,在 C++ 中與 COM 元件溝通時使用的資料型態則是_bstr_t,這是一個將 BSTR 封裝起來的 class,使用後不需要另外釋放資源,範例中可以看到如何在 _bstr_t 與常見的 c-style string 之間作轉換。

下載範例

C#

1. C# 可以直接將上述的 ASRA_COM.tlb 加入參考,之後便可以使用本元件提供的 function。

2. 在 C# 中,跟 COM 元件溝通時使用的字串資料型態就是 C# 內建的 string,不需要額外的轉換。

3. 本範例程式須使用 Visual Studio 2008 檢視,並安裝 .NET Framework 2.0 以上版本才能執行。

下載範例

JavaScript

由於在網頁環境下無法直接存取本機端的資料,因此本網頁僅提供元件中 RecordAndAssess 功能的展示(因為不需要傳入任何檔案)。

IE 瀏覽器安全性設定:
若 IE 瀏覽器出現安全性警告而無法安裝或執行本 ActiveX,請先修改安全性設定:
1. 移至網際網路內容→工具→「安全性」標籤頁→按下「自訂等級」
2. 在下方「重設自訂設定」的地方選取「中」,然後按下旁邊的「重設」按鈕
3. 將「下載未簽署的 ActiveX 控制項」項目設定為「提示」
4. 將「起始不標示為安全的 ActiveX 控制項」項目設定為「提示」
5. 重新開啟網頁,過程中請選擇允許安裝 ActiveX 控制項以及互動。

前往示範網頁




呼叫ActiveX方式

請先安裝ASR_Spirit元件

前往測試網頁

建議的安全性設定流程如下:

1. 移至網際網路內容→工具→「安全性」標籤頁→按下「自訂等級」
2. 在下方「重設自訂設定」的地方選取「中」,然後按下旁邊的「重設」按鈕
3. 將「下載未簽署的 ActiveX 控制項」項目設定為「提示」
4. 將「起始不標示為安全的 ActiveX 控制項」項目設定為「提示」
5. 重新開啟網頁,過程中請選擇允許安裝 ActiveX 控制項以及互動。



iPhone ASRA 語音辨識評分懶人包

iPhone ASRA語音辨識專案檔下載點

iPhone ASRA語音評分專案檔下載點

語音辨識懶人包使用說明:

〈使用前請先將手機連到網際網路〉
按下錄音鍵後,限時三秒鐘任意唸出表上其中一句話,錄製的音檔會送回實驗室的核心作辨識, 最後將辨識結果及分數顯示於畫面中。另可按下切換中/英文辨識切換所要辨識的語言。

語音評分懶人包使用說明:

〈使用前請先將手機連到網際網路〉
先選取表上任意其中一句,按下錄音鍵後,限時三秒鐘念出剛剛所選取的句子,錄製的音檔會送回實驗室的核心作評分,最後將評分結果顯示於畫面中。另可按下中/英文切換所要評分的語言。




利用flash來錄音

下載

前往測試網頁

利用flash提供使用者錄音,錄音最長限度是30秒。同時也提供網頁讀取flash錄音功能。

Flash 測試環境:Flash MX 2004

使用的IE 版本:6.0 or 7.0

測試版本使用期限:2009.12.31

測試版本編號: 1.0.0 .5

說明:

測試新版本前請務必先執行 uninstall.bat

範例中可以看到「開始錄音」、「停止錄音」、「播放錄音」、「儲存錄音」、「停止播放」、「暫停播放」、「繼續播放」六個按鈕,相關的操作邏輯和規則如下:

「開始錄音」:

以下條件會讓本功能沒有作用-

  1. 程式已經在進行錄音
  2. 程式正在播放聲音
  3. 程式處於暫停播放聲音的狀態
  4. 錄音ID是空白的

在錄音前請先輸入錄音 ID (也就是要給這一段錄音的編號),若指定的 ID 之前已經存在,則此 ID 相對應的錄音片段會被這次新的錄音覆蓋掉。程式內預設的錄音最長長度是30秒,超過30秒後程式便不再錄音,但仍會保持錄音狀態,因此仍然需要執行 StopRecord() 後才能繼續其他動作。

「停止錄音」:若正在進行錄音,會將錄音動作停止。

「播放錄音」:

以下條件會讓本功能沒有作用

  1. 程式正在進行錄音
  2. 程式已經在播放聲音
  3. 之前還沒有錄過任何一次聲音
  4. 指定的播放ID不存在或是空白的

「儲存錄音」:

以下條件會讓本功能沒有作用-

  1. 程式正在進行錄音
  2. 程式正在播放聲音
  3. 之前還沒有錄過任何一次聲音
  4. 程式處於暫停播放聲音的狀態

若沒有指定預設的檔名,在存檔對話框中的檔名會變成「undefined.wav」。
「停止播放」: 若程式正在播放聲音或是處於暫停播放聲音的狀態,則停止播放聲音。
「暫停播放」:若程式正在播放聲音,則暫停播放。
「繼續播放」:或程式處於暫停播放聲音的狀態,則繼續播放。



c Copyright 2009 Natioanl Tsing Hua University Department of Computer Science Multimedia Information Retrieval LAB