2013-02-26 51 views

回答

0

,您可以按照類似的方法來使用MATLAB的ActiveX服務器C#等: http://www.mathworks.co.uk/help/matlab/ref/actxserver.html

您需要首先聲明一個語音識別引擎

RC = actxserver('SAPI.SpSharedRecoContext'); %connect to speech engine 

然後爲識別器的每個狀態設置各種回調函數:

RC.registerevent({'Recognition' @CallbackFunction; 'Hypothesis' @CallbackFunction; 'FalseRecognition' @CallbackFunction}) 

回調函數的內容應該是沿着這些線路:

function word = CallbackFunction(varargin) 
    global word 
    result = varargin{length(varargin)-2}; 
    word = result.Phraseinfo.GetText; 
end 

後來終於切換識別器上:

RC.Recognizer.State = 'SRSActive'; 

你會需要參考的哪些功能被稱爲文檔時 http://msdn.microsoft.com/en-us/library/ms723627(v=vs.85).aspx

您還需要設置語法詞典才能獲得有意義的結果。因爲引擎會試圖識別任何詞。

相關問題