关于C#的speechLib使用,我怎么根据电脑已安装的语音库,按照名字选择我需要的语音?

问题描述

SpVoicespVoice=newSpVoice();spVoice.Voice=spVoice.GetVoices().Item(7);spVoice.Speak("你好",SpeechVoiceSpeakFlags.SVSFDefault);这段代码可以正常运行,因为我电脑安装了7种语音库,但我怎么根据语音库的名字,比如“MicrosoftSam”,“MicrosoftSimplifiedChinese”或者“VWWang”,按照名字选择voice?而不是像上面代码或者网上所说的0或1选择中英文,都是乱抄袭,根本没搞懂那些下标对应的发音者,我也是醉了...

解决方案

解决方案二:

foreach(ISpeechObjectTokenTokeninvoice.GetVoices(string.Empty,string.Empty)){comboBox1.Items.Add(Token.GetDescription(49));}

解决方案三:

privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse){voice.Voice=voice.GetVoices(string.Empty,string.Empty).Item(comboBox1.SelectedIndex);}

时间: 2024-12-23 05:29:48

关于C#的speechLib使用,我怎么根据电脑已安装的语音库,按照名字选择我需要的语音?的相关文章

Csharp: speech to text, text to speech in win

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using SpeechLib;//NET2.0 引用 Speech sdk 5.1

c#应用(1):语音合成

因为挑战杯的项目和语音有关,所以在网上找了一些这方面的资料.发现微软的SAPI是一个不错的东西. 下面的程序大部分都是从MSDN中得到的,自己都还没有把SDK的文档看明白:( 有兴趣的可以参见:http://www.microsoft.com/china/community/program/originalarticles/techdoc/Cnspeech.mspx 如果找不到tlbimp命令,可以参见:http://blog.csdn.net/wayne92/archive/2006/04/0

中英文语音合成与中文语音识别技术在c#中的应用(一)

中文 在.net中,对英文语音有较好的支持,但是对中文语音的支持还没有加入进来,我们要想实现中文发音或中文语音识别,必需先安装微软的Speech Application SDK(SASDK),它的最新版本是 SAPI 5.1 他能够识别中.日.英三种语言,你可以在这里下载:http://www.microsoft.com/speech/download/sdk51/,需要安装这两个文件Speech SDK 5.1和5.1 Language Pack,其中5.1 Language Pack可以选择

中英文语音合成与中文语音识别技术在c#中的应用(二)

中文 但是,这个方法本身并不知道你给的字符串是什么语言,所以需要我们它这个字符串用什么语言读出.SpVoiceClass 类的Voice 属性就是用来设置语种的,我们可以通过SpVoiceClass 的GetVoices方法得到所有的语种列表,然后在根据参数选择相应的语种,比如设置语种为汉语如下所示: private void SetChinaVoice() { voice.Voice = voice.GetVoices(string.Empty,string.Empty).Item(0) ;

中文语音识别技术在c#中的应用(二)

中文 接上篇<中文语音识别技术在c#中的应用(一)>---但是,这个方法本身并不知道你给的字符串是什么语言,所以需要我们它这个字符串用什么语言读出.SpVoiceClass 类的Voice 属性就是用来设置语种的,我们可以通过SpVoiceClass 的GetVoices方法得到所有的语种列表,然后在根据参数选择相应的语种,比如设置语种为汉语如下所示: private void SetChinaVoice() { voice.Voice = voice.GetVoices(string.Emp

Visual Basic:使用反射检查COM对象

本文配套源码 内容 类型库和运行时可调用包装 当某个类型缺少 RCW 时 使用 ITypeInfo 找出类型引用 获得成员 基元类型和综合类型 值的 COM 表示形式 转储 COM 对象的属性 使用 IDispatch.Invoke 讨论 很多人在尝试让 COM 发挥作用时都有点受挫的感觉 .当然在成功时,也会感到兴奋无比.在了解对象的工作原理时,经常需要费一番周折的是使用 Microsoft .NET Framework 的反射功能对其进行检查.在某些情况下,.NET 反射还会对 COM 对象

语音合成与识别技术在C#中的应用

在.net中,对英文语音有较好的支持,但是对中文语音的支持还没有加入进来,我们要想实现中文发音或中文语音识别,必需先安装微软的Speech Application SDK(SASDK),它的最新版本是 SAPI 5.1 他能够识别中.日.英三种语言,你可以在这里下载:http://www.microsoft.com/speech/download/sdk51/,需要安装这两个文件Speech SDK 5.1和5.1 Language Pack,其中5.1 Language Pack可以选择安装支

C#中调用SAPI实现语音识别的2种方法

  这篇文章主要介绍了C#中调用SAPI实现语音识别的2种方法,本文直接给出实现代码,需要的朋友可以参考下 通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别SR.下面我们就介绍并贴出相关代码.主要有两种方式: 1.使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑.(注意要引入系统组件SpeechLib,XP要安装识别引擎) 2.使用WIN7的windows api,其实最终还是调用了SAPI,所以开发出来的东西就只能在WI

C#中调用SAPI实现语音合成的2种方法

  这篇文章主要介绍了C#中调用SAPI实现语音合成的2种方法,本文直接给出示例代码,需要的朋友可以参考下 我们都知道现在的语音合成TTS是可以通过微软的SAPI实现的,好处我就不多说了,方便而已,因为在微软的操作系统里面就自带了这个玩意,主要的方式有两种: 1.使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑.(要引入SpeechLib,好像在项目上点引用,然后选到系统COM吧,好久没弄,记不清楚了) 2.使用WIN7的windows api