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 訪问password 96c9
也能够先听一下做这个Demo最后生成的音频~~