当前位置:首页 > 网络编程 > 软件语言 > .NET > c#应用(1):语音合成

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

点击次数:55 次 发布日期:2008-11-06 08:09:07 作者:源代码网
源代码网推荐
广告载入中

因为挑战杯的项目和语音有关,所以在网上找了一些这方面的资料。发现微软的SAPI是一个不错的东西。

下面的程序大部分都是从MSDN中得到的,自己都还没有把SDK的文档看明白:(

有兴趣的可以参见:http://www.microsoft.com/china/community/program/originalarticles/techdoc/Cnspeech.mspx

如果找不到tlbimp命令,可以参见:http://blog.csdn.net/wayne92/archive/2006/04/08/655420.aspx

程序如下:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using DotNetSpeech; //这个是要自己用tlbimp命令生成的dll文件
using System.Threading;

namespace 中文语音应用程序
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button buttonSynthes;
private System.Windows.Forms.Button buttonTTStoWave;
private System.Windows.Forms.TextBox textBox1;
private RadioButton radioButtonChina;
private RadioButton radioButtonEnglish;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();

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

/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.buttonSynthes = new System.Windows.Forms.Button();
this.buttonTTStoWave = new System.Windows.Forms.Button();
this.radioButtonChina = new System.Windows.Forms.RadioButton();
this.radioButtonEnglish = new System.Windows.Forms.RadioButton();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Location = new System.Drawing.Point(32, 16);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(360, 200);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华