我爱我的家园!

成功在于你是否努力,希望在于你是否相信自己!

 

用C#实现语音技术

“电脑朗读”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习...

下面的Speech已对MSTTS作了简单封装。

1.安装好MSTTS(如果你有装金山词霸,系统就已经安装了),可以在winnt\speech中打到vtxtauto.tlb文件;

2.用.Net SDK自带的tlbimp工具把vtxtauto.tlb转换成.dll格式:

tlbimp vtxtauto.tlb /silent /namespace:mstts /out:mstts.dll

这时的mstts.dll已成为.net framework运行库的一个类。

3.编写一个封装vtxtauto的简单类:Speech .

//========================Speech.cs======================

using System;

using mstts; //MSTTS名称空间

namespace Bedlang{ //定义名称空间

public class Speech{

private VTxtAuto VTxtAutoEx;

public Speech(){

VTxtAutoEx = new VTxtAuto();

VTxtAutoEx.Register(" "," "); //注册COM组件

}

public void Speak(String text){

VTxtAutoEx.Speak(text, 0); //发音

专业的3S站 3s8.cn



}

}

}

//========================Speech.cs======================


4.编译Bedlang.Speech

csc /target:library /out:Bedlang.dll speech.cs /r:mstts.dll

如果用vs.net开发,可直接生成项目就可以了。

5.发音实现

//========================demo.cs======================

分别加入Label,TextBox,Button控件各一个到windows Form中,修改它们的属性,源代码如下:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

namespace Bedlang

{

///

/// Form1 的摘要说明。

///

public class demo : System.Windows.Forms.Form

{

private System.Windows.Forms.Label label1;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.Button button1;

专业的3S站 3s8.cn



///

/// 必需的设计器变量。

///

private System.ComponentModel.Container components = null;

public demo()

{

//

// Windows 窗体设计器支持所必需的

//

InitializeComponent();

//

// TODO: 在 InitializeComponent 调用后添加任何构造函数代码

//

}

///

/// 清理所有正在使用的资源。

///

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

posted on 2008-09-04 15:02 死神 阅读(395) 评论(0)  编辑  收藏 所属分类: 音频开发


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

欢迎大家来到我的个人世界!

常用链接

留言簿(3)

随笔分类(5)

随笔档案(9)

文章分类(37)

文章档案(41)

相册

语音技术

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜