TTS-零基础入门-10分钟教你做一个语音功能

时间:2023-03-09 02:18:23
TTS-零基础入门-10分钟教你做一个语音功能

在本片博客正式開始之前,大家先跟我做一个简单的好玩的 小语音。

新建一个文本文档,然后再文档里输入这样 一句话  CreateObject("SAPI.SpVoice").Speak "I Love You",然后文件另存为后缀为.VBS

这时候带上耳机,双击你的文本文件~~~~~~~

是不是挺不错的,别着急后面还有更好玩的

接下来我会写一个小的DMEO,小到你用5分钟就能连看带敲做出来。

首先须要先下载一个 微软TTS5.1语音引擎(中文).msi 安装包 。贴心的我已经给大家准备好啦。

http://yunpan.cn/cdMLK5FjdmSE7  訪问password d557

本文是简单的入门。可是却是语音的关键之处。

简单的逻辑就是要找一个人,找一句话。规定发音的方式,然后这个功能就实现了。

用什么语言不太重要。我以C#为例实现的。画了一个简单的界面。

TTS-零基础入门-10分钟教你做一个语音功能

然后写了几句简单的代码。

<span style="font-family:KaiTi_GB2312;font-size:18px;">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.Media;
using SpeechLib; namespace TTSSpeakDemo
{
#region 语音读文本Demo-2015-8-7-MDM
/// <summary>
/// 语音读文本Demo-2015-8-7-MDM
/// </summary>
public partial class SpeakDemo : Form
{
public SpeakDemo()
{
InitializeComponent();//自己主动生成,不动
}
/// <summary>
/// 发音对象
/// </summary>
public SpVoice voice = new SpVoice();//该类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。 public SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFDefault;// private void btnSpeak_Click(object sender, EventArgs e)
{
string speakWord = this.txtSpeak.Text;
voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(3);//Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四种。 当中前三种仅仅能读英文,最后一种能够读中文。也能够读英文
voice.Speak(speakWord, spFlags);
} }
#endregion
}
</span>

这样一个简单的程序就出来了。 F5执行一下看看效果吧。

本篇博客算是简单的入门篇,距离我们真正增加到项目中还是有一定的距离。今后的博客会陆陆续续的介绍,怎样灵活的依据软件的须要加到自己的项目中去~敬请期待~