我们可以在MATLAB中使用Microsoft Speech API的语音转文本功能吗?这是文本转speech.How的代码,我们可以使用它的功能是语音转文本吗?对于tts:
textIn = 'voice';
ha = actxserver('SAPI.SpVoice');
invoke(ha,'speak',textIn);发布于 2014-03-25 23:56:55
您可以通过使用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时调用其函数的文档
你还需要建立一个语法字典来获得有意义的结果。因为引擎将尝试识别其他任何单词。
https://stackoverflow.com/questions/15086069
复制相似问题