DotNet语音技术实现
发布时间:2006-10-14 3:06:01   收集提供:gaoqian

语音实现

    “电脑发音”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习...
    下面的Speech已对MSTTS作了简单封装。

1.安装好MSTTS,可以在windows\speech中打到vtxtauto.lib文件

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);   //发音
  }

}

}

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

4.编译Bedlang.Speech
  csc /target:library /out:Bedlang.dll  speech.cs /r:mstts.dll

5.发音实现
//========================demo.cs======================
using System;
using System.Windows.Forms;
using Bedlang;   //引用名称空间

public class demo : Form {     

public static void Main() {
  Application.Run( new demo() );
}

public demo(){
  Speech s = new Speech();    //创建一个Speech对象
  s.Speak("Bedlang");     //发音 
}

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

6.编译demo.cs
  csc demo.cs /r:bedlang.dll

7.运行demo.exe
  程序发音啦.

 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50