zoukankan      html  css  js  c++  java
  • DotNet语音技术实现(实现电脑发音)

    “电脑发音”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习...
        下面的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
      程序发音啦.

  • 相关阅读:
    Linux 进程通信之:内存共享(Shared Memory)(转,好文章)
    进程和线程的对比和区别(转)
    CentOS下安装gdb的方法
    有关职业发展的帖子(整理)
    阿里钉钉面试题
    SSIS添加分区-动态
    java内存占用问题(一)
    网络网关TCP/IP
    java代码数组求平均值,最大值,最小值
    java代码。。。圆的面积好搞人。。。不是一般的搞人。。。欢迎指点指点
  • 原文地址:https://www.cnblogs.com/happyday56/p/946314.html
Copyright © 2011-2022 走看看