本文目录
- Speech SDK 5.1怎么安装
- Microsoft Speech SDK是什么
- speech sdk读取文本文件里面的内容
- 关于speech sdk 编程中怎么使用中文女声语音库
- micsoft speech sdk简介
- 关于speech SDK的疑问
- SpeechSDK51LangPack.exe和SpeechSDK51.exe安装问题
- 有谁用过SpeechSDK,做语音转换成文本.语音识别问题 C
- 如何使用Microsoft Speech SDK开发包
Speech SDK 5.1怎么安装
Speech SDK 5.1的安装目录应该是默认到你的主系统盘的Windows系统目录下的System32下面的Speech。假如是缺省值安装那么应该是:c:\windows\system32\speech
Microsoft Speech SDK是什么
这是一个微软开发的实现语音识别的语音引擎,利用它提供的接口,我们可以用任何语言编写一种语音识别软件或者文字转换声音文件的软件,我以前曾经研究过一段时间,也利用它开发过相应的软件,详细的呢或者想学习如何使用可以加我。
speech sdk读取文本文件里面的内容
speechSDK的中英混合文本朗读器摘要MicrosoftspeechSDK是微软提供的软件开发包,其中包含了语音识别和合成引擎相关组件
关于speech sdk 编程中怎么使用中文女声语音库
前提条件电脑安装中文语音合成引擎,推荐安装:Neospeech中文女声_Lily .net中比较简单:C#中可以使用System.Speech程序集来访问这个语音引擎。设置语音引擎的代码如下:SpeechSynthesizer speaker = new SpeechSynthesizer();speaker.SelectVoice(“VW Lily“);sdk的方式没有用过,你可以看下:
micsoft speech sdk简介
本人的毕业设计就与这个有关。呵呵。我把部分英文文档的翻译贴上来吧:实际上这个东西的汉语发音觉得很怪,大概需要多次地调试语速、语调才能使程序的发音自然,要不然听起来很不舒服。SAPI 5 介绍SAPI 5 总揽SAPI 应用程序接口程序戏剧性的减少了语音识别和语音合成应用中的程序代码,使得语音技术在广泛和蓬勃发展的实际应用中更容易使用。本章包括以下主题: API总揽 文本合成语音应用程序接口 语音识别应用程序接口API总揽:SAPI使得应用程序和语音引擎之间高度紧密的结合。SAPI可以实时处理各种语音引擎在底层工作中的细节。 SAPI的两种基本类型是文本合成语音(TTS)引擎和语音识别(SR)引擎。TTS可以将文本中的字符或文档合成为语音并“说”出来。而SR则可以把人说话的语音转换为易读的字符或文档。应用程序可以通过ISpVoice COM接口控制使用TTS。应用程序一旦建立了ISpVoice 对象,它只需调用ISpVoice::Speak来从文本数据生成语音。另外IspVoice接口同样提供了多种方式来改变程序所发出的声音、音调和其他属性,例如ISpVoice::SetRate改变语音速度,ISpVoice::SetVolume改变语音音量,ISpVoice::SetVoice改变当前程序所发出的声音。更有趣的是SAPI还可以控制通过对插入的文本的结合来实时改变合成语音的声音类型、音调、重音、发音速度和音量。IspVoice::Speak方法可以同步地(在发音完毕时返回程序)或异步地(在发音时同时返回程序,发音成为后台处理)。当处于异步工作时,可以使用ISpVoice::GetStatus来获得发音状态及文本位置。同样,当处于异步工作时,新的文本发音也可以通过立即终止当前的发音来创建,这个过程是决定于新文本所包含的结束信息由程序自动处理的。除了IspVoice接口之外,SAPI同样提供更多的高级TTS应用——通过手动控制COM接口。语音识别应用程序接口:类似于IspVoice是主要的语音合成程序接口,ISpRecoContext就是主要的语音识别程序接口。同IspVoice一样,他是一个IspEventSource,也就是说当语音程序接收到一个语音识别请求就会触发一个事件的事件源。一个程序拥有两种不同的语音识别引擎(ISpRecognizer)类型。一个是共享的语音识别引擎,由于它可以与其他语音识别应用程序共享其程序资源,所以在大多数场合中被推荐使用。(在共享的语音识别应用中)需要建立一个采用共享语音识别引擎的识别环境(IspRecoContext),应用程序需要调用COM接口位于CoCreateInstance结构上的CLSID_SpSharedRecoContext。然后SAPI会设立一个音频输入流,并把这个音频输入流定义为默认的SAPI音频输入流。对于大型的服务器应用程序,这个过程需要一个独立的系统来完成,因为性能是这时的关键因素,一个独立进程(InProc)的语音识别引擎是最适合的。如果需要创建采用一个独立进程(非共享)语音识别引擎的语音识别环境,应用程序首先需要调用COM接口位于CoCreateInstance结构上的CLSID_SpInprocRecoInstance。然后,应用程序必须调用ISpRecognizer::SetInput来设立一个音频输入流。最后,应用程序通过调用ISpRecognizer::CreateRecoContext来建立它自己的识别环境。下一步是为应用程序的识别事件建立消息通知表(IspNotifySource)。同样由于IspRecognizer 也是ISpEventSource,应用程序通过一个从ISpRecoContext 取得的IspNotifySource来判别哪种由IspRecoContext报告的事件源的需要被触发。然后,IspRecognizer需要调用ISpEventSource::SetInterest来创建一个需要被识别的“事件”。其中最重要的事件是SPEI_RECOGNITION,当其被触发,说明已经有一个被IspRecognizer识别的符合当前IspRecoContext要求的识别事件已完成。最后,一个语音应用程序必须创建、加载并激活一个识别语法(ISpRecoGrammar),识别语会法从本质上决定哪种发音需要识别,而哪种发音不必理会,(具体有类似)听写或者一个command and control(C&C)语法。首先,应用程序需要通过调用语法接口函数ISpRecoContext::CreateGrammar建立一个IspRecoGrammar,然后应用程序需要加载这个语法(通过调用ISpRecoGrammar::LoadDictation),其目的是建立一个听写或者command and control语法环境。最终为了激活这个识别语法需要调用ISpRecoGrammar::SetDictationState(听写语法环境)或 ISpRecoGrammar::SetRuleIdState、ISpRecoGrammar::SetRuleIdState(C&C语法环境)。当识别结果依据IspNotifySource的需要返回给应用程序,SPEVENT数据结构中的lParam就被定义为一个ISpRecoResult,这样应用程序就能决定哪些符合ISpRecoContext.中设立的IspRecoGrammar的语音被识别出来了。无论是共享的(shared)还是独立进程(InProc)的识别引擎,都可以在IspRecoContexts中多进程同时工作,每一个识别引擎也都可以有自己的触发事件源。一个IspRecoContexts也可以有多个IspRecoGrammars同时工作,互相之间并不影响。
关于speech SDK的疑问
Interop.SpeechLib和Microsoft Speech SDK5.1之间有什么关系?知道的话请详细点介绍。我没分了 这个问题实在是太大了。不过,只要会用调用sdk的函数,
SpeechSDK51LangPack.exe和SpeechSDK51.exe安装问题
语音识别比语音库小些。不过安装有些困难。 共2个东西。 1是 speechsdk51LangPack.exe 80多MB. 另一个:speechsdk51.exe 60多MB。 在百度上把这两个都下载了。 下载后。先打开 speechsdk51.exe 选择目录:C:\speechsdk51 单击 unzip. 解压完后。到 speechsdk51LangPack.exe 解到C:\speechsdk51LangPack 。 接下来非常重要。。。注意不要颠倒顺序。。 进入C:\speechsdk51 注意是 C:\speechsdk51。。 运行:setup.exe。 完后。到C:\speechsdk51LangPack。运行setup.exe。 就装好了
有谁用过SpeechSDK,做语音转换成文本.语音识别问题 C
#include 《stdio.h》
struct employee
{
char Name;
char No;
char Sex;
int Age;
};
int main()
{
employee em, emout;
int n, idx;
FILE *pf;
for (n = 0; n 《 5; n++) // 输入数据
{
printf(“请输入第%d个员工信息:“, n+1);
scanf(“%s %s %c %d“, em[n].Name, em[n].No, &em[n].Sex, &em[n].Age);
}
pf = fopen(“1.bin“, “wb+“); // 写入文件
if (!pf)
{
puts(“打开文件出错\n“);
return 0;
}
fwrite(em, sizeof(employee), 5, pf);
fclose(pf);
pf = fopen(“1.bin“, “rb“); // 读取文件,并输出
if (!pf)
{
puts(“打开文件出错\n“);
return 0;
}
for (n = 0, idx = 1; n 《 3; n++, idx += 2)
{
fread(&emout[n], sizeof(employee), 1, pf);
printf(“第%d个员工信息: %s %s %c %d\n“, idx, emout[n].Name, emout[n].No, emout[n].Sex, emout[n].Age);
fseek(pf, sizeof(employee), SEEK_CUR);
}
fclose(pf);
return 0;
}
如何使用Microsoft Speech SDK开发包
下载开发包。我们首先从微软的官网上面下载开发包安装sdk。分别将下载的三个安装包解压安装就可以了(记住安装目录)。环境配置。这里我们需要将您安装的Microsoft Speech SDK安装目录中的头文件目录,以及库文件目录添加到你的VC++6.0开发环境中。打开VC++开发工具,选择其中的“工具”-》“选项”选项卡新建一个Win32 console Application工程。添加一个cpp源文件编写一个简单的“Hello World!”语音播报程序。程序代码如下: #include 《sphelper.h》//语音头文件 #include 《stdio.h》//C头文件,用来提示错误信息 int main() { ::CoInitialize(NULL);//初始化语音环境 ISpVoice * pSpVoice = NULL;//初始化语音变量 if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL,CLSCTX_INPROC_SERVER, IID_ISpVoice, (void **)&pSpVoice))) //给语音变量创建环境,相当于创建语音变量,FAILED是个宏定义,就是来判断CoCreateInstance这个函数又没有成功创建语音变量,下面是不成功的提示信息。 { printf(“Failed to create instance of ISpVoice!\n“); return -1; } pSpVoice-》Speak(L“Hello World!“, SPF_DEFAULT, NULL);//执行语音变量的Speek函数,这个函数用来读文字。 pSpVoice-》Release(); //释放语音变量 ::CoUninitialize();//释放语音环境 return 0; }