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

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


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

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


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

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

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

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

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

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


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


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

<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执行一下看看效果吧。 


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





原文地址:https://www.cnblogs.com/blfbuaa/p/7134069.html