首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >做SpeechToText(语音识别)和TextToSpeech (使用相同的文本和相同的声音)是可行的吗?

做SpeechToText(语音识别)和TextToSpeech (使用相同的文本和相同的声音)是可行的吗?
EN

Stack Overflow用户
提问于 2010-07-01 11:39:10
回答 1查看 890关注 0票数 0

我在为失聪的人准备一个节目。我和sapi和TTs一起工作过。该程序同时用手制作三维动画。但问题是,声音(也是当他们在其最慢的发言)是快速为我想要的。所以,我考虑过语音识别,但问题是,在动画开始之前,我必须对文本做一个大的处理。

所以,我想知道是否可以进行语音识别(从.wave文件中的语音),然后再做同样的TTs处理(使用Sapi事件.)但是用.wave和我的声音。

如果是可确认的,请告诉我怎么做。如果你认为有更好的选择,让我看看。

谢谢你抽出时间(原谅我的英语)

耶苏基维奇

EN

回答 1

Stack Overflow用户

发布于 2010-07-20 17:30:50

既然我理解了您想要发生的事情,我可以说,据我所知,SAPI SR引擎并没有真正提供与传入文本同步的音素级标记。

您可以尝试的是(虽然我并没有真正的期望它能起作用)是获取音频,通过语音语法来生成音素,然后使用文本元素找到相应的音频片段。

当我说“发音语法”时,我指的是一个听写语法,加载了语音模型--设置如下:

代码语言:javascript
运行
复制
CComPtr<ISpRecoGrammar> cpGrammar;
... initialize SR engine and create a grammar ...
cpGrammar->LoadDictation(L"Pronunciation", SPLO_STATIC);

在识别处理程序中,需要解析元素:

代码语言:javascript
运行
复制
ISpRecoResult* ipReco;
SPPHRASE* pPhrase;
ipReco->GetPhrase(&pPhrase);
for (int i = 0; i < pPhrase->Rule.ulCountOfElements; ++i)
{
    const SPPHRASEELEMENT * pElem = pPhrase->pElements + i;
    // examine pElem->ulAudioSizeTime, etc.
}
::CoTaskMemFree(pPhrase);

我希望这足以让你开始..。

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

https://stackoverflow.com/questions/3157355

复制
相关文章

相似问题

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