TTS-零基础入门之生成语音文件

这是有关TTS的第三篇博客。欢迎有兴趣的移步看看。

TTS-零基础入门之语音模板化

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


那今天我们来一起探究一下,TTS如何 生成语音文件保存。也就是我们可以将语音文本保存成mp3,wav或其他音频格式保存起来。

主要有两步,一是组合要读的文本,第二步是将文本转成语音。

最近比较懒,基于上一个例子 新加了一个 生成语音文件的功能。



再来看一下界面。

     


主要代码如下:

<span style="font-family:KaiTi_GB2312;font-size:18px;">  /// <summary>
        /// 将语音生成语音文件-2015年8月11日-马丹妹
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {



            SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;//异步的播放方式
            SaveFileDialog saveFileDialog = new SaveFileDialog();//提示用户选择文件的保存位置
            saveFileDialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav|mp3 files (*.mp3)|*.mp3";//保存文件的格式 例如 All files (*.*)|*.*
            saveFileDialog.Title = "保存音频文件";//对话框的标题
            saveFileDialog.FilterIndex = 2;//使用 FilterIndex 属性设置第一个显示给用户的类型筛选选项
            saveFileDialog.RestoreDirectory = true;//对话框在关闭前是否还原当前目录


            #region 获取要读的文本
            string weather = txtWeather.Text;
            string air = txtAir.Text;
            string baoDing = GetTextResourceByKey("BaoDing");//同上
            string speakWeather = string.Format(baoDing, weather, air);//将参数放入模板中 
            #endregion

            if (saveFileDialog.ShowDialog() == DialogResult.OK)
            {
                SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
                SpFileStream SpFileStream = new SpFileStream();
                SpFileStream.Open(saveFileDialog.FileName, SpFileMode, false);
                voice.AudioOutputStream = SpFileStream;
                voice.Speak(speakWeather, SpFlags);
                voice.WaitUntilDone(Timeout.Infinite);
                SpFileStream.Close();
                MessageBox.Show("导出语音成功!");
            }

        }</span>


这个Demo的全部文件已经上传至网盘,欢迎下载 。http://yunpan.cn/cdBHfJzuqZHaC  访问密码 96c9

也可以先听一下做这个Demo最后生成的音频~~



评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值