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

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

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

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


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

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

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

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

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


用什么语言不太重要,我以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运行一下看看效果吧。 


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





版权声明:本文为博主原创文章,未经博主允许不得转载。

您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多