zoukankan      html  css  js  c++  java
  • DQ-Form

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Windows.Forms;
      9 using Baidu.Aip.Speech;
     10 using System.IO;
     11 using Microsoft.DirectX;
     12 using Microsoft.DirectX.DirectSound;
     13 
     14 namespace DQ
     15 {
     16     public partial class Form_main : Form
     17     {
     18         public Form_main()
     19         {
     20             InitializeComponent();
     21         }
     22         private Asr _asrClient;
     23         private Tts _ttsClient;
     24         private SoundRecord sound;
     25         private SoundPlay soundP;
     26         private string time;
     27         private string Rword;
     28 
     29         private void Form_main_Load(object sender, EventArgs e)
     30         {
     31             // 设置APPID/AK/SK
     32             var APP_ID = "10974923";
     33             var API_KEY = "API_KEY";
     34             var SECRET_KEY = "SECRET_KEY";
     35             _asrClient = new Asr(API_KEY, SECRET_KEY);
     36             _ttsClient = new Tts(API_KEY, SECRET_KEY);
     37         }
     38         
     39 
     40         private void btn_say_Click(object sender, EventArgs e)
     41         {
     42             time = DateTime.Now.ToString("yyyyMMddHHmmss");
     43             sound = new SoundRecord();
     44             sound.SetFileName(time + ".wav");//保存的文件名
     45             sound.RecStart();//录制开始
     46             btn_say.Enabled = false;
     47         }
     48 
     49         private void btn_stop_Click(object sender, EventArgs e)
     50         {
     51             sound.RecStop();//录制结束
     52             btn_say.Enabled = true;
     53         }
     54 
     55         private void btn_send_Click(object sender, EventArgs e)
     56         {
     57             AsrData();
     58         }
     59         // 识别本地文件
     60         public void AsrData()
     61         {
     62             var data = File.ReadAllBytes(time + ".wav");//获取文件字节数据
     63             var result = _asrClient.Recognize(data, "pcm", 16000);
     64             string Sresult = result.ToString();
     65             int i = Sresult.IndexOf('[') + 8;
     66             int j = Sresult.IndexOf(']') - 8;
     67             Rword = Sresult.Substring(i, j - i);
     68             listBox_result.Items.Add(Rword);
     69         }
     70 
     71         // 识别URL中的语音文件
     72         public void AsrUrl()
     73         {
     74             var result = _asrClient.Recoginze(
     75                 "http://xxx.com/待识别的pcm文件地址",
     76                 "http://xxx.com/识别结果回调地址",
     77                 "pcm",
     78                 16000);
     79             Console.WriteLine(result);
     80         }
     81 
     82         // 合成
     83         public void Tts(string Tword)
     84         {
     85             // 可选参数
     86             var option = new Dictionary<string, object>()
     87             {
     88                 { "spd", 5}, // 语速
     89                 { "vol", 7}, // 音量
     90                 { "per", 4}  // 发音人,4:情感度丫丫童声
     91             };
     92             var result = _ttsClient.Synthesis(Tword, option);
     93 
     94             if (result.ErrorCode == 0)  // 或 result.Success
     95             {
     96                 
     97                 string tts_name = "tts_" + time + ".mp3";
     98                 File.WriteAllBytes(tts_name, result.Data);
     99                 
    100                 soundP.SoundPlay_mp3(tts_name);
    101             }
    102             
    103         }
    104 
    105         private void btn_play_Click(object sender, EventArgs e)
    106         {
    107             
    108             soundP = new SoundPlay();
    109             soundP.SoundPlay_mp3("tts.mp3");
    110 
    111             // textBox_send.Text = result.ToString();
    112             //Tts("明月几时有");
    113         }
    114     }
    115 }
  • 相关阅读:
    02_Jquery_02_元素选择器
    02_Jquery_01_id选择器
    01_JavaMail_05_创建邮件工具类MailUtils等方便发送邮件
    01_JavaMail_04_带附件邮件的发送
    01_JavaMail_03_邮件发送简单实例
    01_JavaMail_02_Base64加密
    01_JavaMail_01_邮件服务器简述
    15_动态SQL
    django 导出xls文件
    django 解析上传xls文件
  • 原文地址:https://www.cnblogs.com/ddwk/p/8717109.html
Copyright © 2011-2022 走看看