C#

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

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

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

 

 

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

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

按此下載元件 (ASRA_COM.rar)

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


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

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

function

說明

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 控制項以及互動。

前往示範網頁