接口说明地址:https://ai.baidu.com/docs#/TTS-Online-Csharp-SDK/top
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Baidu.Aip.Speech;
using System.IO;
namespace VIKI_BAIDU_TTS
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim() == "") {
MessageBox.Show("请收入需要转写的文字内容");
textBox1.Focus();
return;
}
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav";
dialog.Title = "保存WAV文件";
dialog.FilterIndex = 2;
dialog.RestoreDirectory = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
int t = Tts(dialog.FileName,textBox1.Text.Trim());
if (t == 1)
{
MessageBox.Show("合成成功");
}
else {
MessageBox.Show("合成失败");
}
}
}
// 合成
public int Tts(string strFileName, string strTTS)
{
// 设置APPID/AK/SK
var APP_ID = "";
var API_KEY = "";
var SECRET_KEY = "";
var client = new Baidu.Aip.Speech.Tts(API_KEY, SECRET_KEY);
client.Timeout = 60000; // 修改超时时间
// 可选参数
var option = new Dictionary<string, object>()
{
{"spd", Convert.ToInt32(com_spd.Text.Trim())}, // 语速
{"vol", Convert.ToInt32(com_vol.Text.Trim())}, // 音量
{"pit", Convert.ToInt32(com_pit.Text.Trim())}, // 音调
{"per", Convert.ToInt32(com_per.Text.Trim())} // 发音人,4:情感度丫丫童声
};
var result = client.Synthesis(strTTS, option);
if (result.ErrorCode == 0)
{
File.WriteAllBytes(strFileName, result.Data);
return 1;
}
return 0;
}
}
}
发表评论