首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们可以在MATLAB中使用Microsoft Speech API的语音转文本功能吗?

我们可以在MATLAB中使用Microsoft Speech API的语音转文本功能吗?
EN

Stack Overflow用户
提问于 2013-02-26 17:58:12
回答 1查看 1.2K关注 0票数 1

我们可以在MATLAB中使用Microsoft Speech API的语音转文本功能吗?这是文本转speech.How的代码,我们可以使用它的功能是语音转文本吗?对于tts:

代码语言:javascript
运行
复制
textIn = 'voice';
    ha = actxserver('SAPI.SpVoice');
    invoke(ha,'speak',textIn);
EN

回答 1

Stack Overflow用户

发布于 2014-03-25 23:56:55

您可以通过使用MATLAB的activeX服务器执行与C#等类似的过程:http://www.mathworks.co.uk/help/matlab/ref/actxserver.html

你需要先声明一个语音识别器引擎

代码语言:javascript
运行
复制
RC = actxserver('SAPI.SpSharedRecoContext'); %connect to speech engine

然后为识别器的每个状态设置各种回调函数:

代码语言:javascript
运行
复制
RC.registerevent({'Recognition' @CallbackFunction; 'Hypothesis' @CallbackFunction; 'FalseRecognition' @CallbackFunction})

回调函数的内容应该是这样的:

代码语言:javascript
运行
复制
function word = CallbackFunction(varargin)
    global word
    result = varargin{length(varargin)-2};
    word = result.Phraseinfo.GetText;
end

最后打开识别器:

代码语言:javascript
运行
复制
RC.Recognizer.State = 'SRSActive';

您需要参考在http://msdn.microsoft.com/en-us/library/ms723627(v=vs.85).aspx时调用其函数的文档

你还需要建立一个语法字典来获得有意义的结果。因为引擎将尝试识别其他任何单词。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15086069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档