真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用c#編寫一個(gè)語音合成功能-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)利用c#編寫一個(gè)語音合成功能,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

為冊(cè)亨等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及冊(cè)亨網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、冊(cè)亨網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

開發(fā)流程如下:


1. 創(chuàng)建百度應(yīng)用:

創(chuàng)建應(yīng)用之后就能看到創(chuàng)建完的應(yīng)用和 API KEY 以及 Secret KEY

2. 引用 Baidu.Aip (SDK)

Baidu.Aip 封閉了文字識(shí)別Ocr API 的Http請(qǐng)求,簡化代碼,提高開發(fā)效率。如果不想引用該DLL,可以自己封裝Http請(qǐng)求方法。

C# SDK 現(xiàn)已開源,快速接入文檔參考:https://ai.baidu.com/ai-doc/SPEECH/Jk4nlz6gp

3. 調(diào)用API,

這里僅展示通用及高精度識(shí)別示例,特殊場(chǎng)景識(shí)別,詳見官方文檔:https://ai.baidu.com/ai-doc/SPEECH/Jk4nlz6gp

/// 
  /// 語音合成
  /// 
  /// 請(qǐng)求相關(guān)參數(shù)
  /// mp3文件保存路徑
  /// 狀態(tài)事件
  /// 
  public static bool Synthesis(ReqSynthesis reqItem, string destPath, SynthesisEvent synthesisEvent)
  {
   bool callResult = false;

   try
   {
    synthesisEvent("語音合成初始化...");
    // 百度應(yīng)用配置
    var apiKey = ConfigUtil.GetConfigStr(EnumConfigKey.SpeechAPI_Key);
    var secretKey = ConfigUtil.GetConfigStr(EnumConfigKey.SpeechSECRET_KEY);
    if (!RiverAuth.Instant.CheckSynthesis(apiKey, secretKey))
    {
     return false;
    }
    var client = new Baidu.Aip.Speech.Tts(apiKey, secretKey);
    client.Timeout = 60000; // 修改超時(shí)時(shí)間
    var option = new Dictionary()
    {
     {"vol", reqItem.vol}, // 
     { "pit", reqItem.pit}, // 
     {"spd", reqItem.spd}, // 語速
     {"per", reqItem.per} // 發(fā)音人,4:情感度丫丫童聲
    };
    synthesisEvent("開始語音合成...");
    var result = client.Synthesis(reqItem.tex, option);
    // 保存文件
    if (result.Success) // 或 result.Success
    {
     File.WriteAllBytes(destPath, result.Data);
     synthesisEvent("語音合成返回成功,文件:" + destPath);
     callResult = true;
    }
    else
    {
     synthesisEvent(string.Format("語音合成失敗, 錯(cuò)誤碼:[{0}], 原因:{1}", result.ErrorCode, result.ErrorMsg));
    }
    RiverAuth.Instant.EndCallEvent();
   }
   catch (Exception ex)
   {
    synthesisEvent("語音合成失敗,原因:" + ex.Message);
    LogHelper.LogError(ex, "語音合成");
   }
   return callResult;
  }
 }
 /// 
 /// 語音合成請(qǐng)求
 /// 
 [Serializable]
 public class ReqSynthesis
 {
  public string tex { get; set; }//合成的文本,使用UTF-8編碼,請(qǐng)注意文本長度必須小于1024字節(jié) 必填項(xiàng)
  public string cuid { get; set; }// 用戶標(biāo)識(shí),用來區(qū)分用戶,填寫機(jī)器 MAC 地址或 IMEI 碼,長度為60以內(nèi) 否
  public int spd { get; set; }//語速,取值0-9,默認(rèn)為5中語速 否
  public int pit { get; set; }//音調(diào),取值0-9,默認(rèn)為5中語調(diào) 否
  public int vol { get; set; }//音量,取值0-15,默認(rèn)為5中音量 否
  public int per { get; set; }//發(fā)音人選擇, 0為女聲,1為男聲,3為情感合成-度逍遙,4為情感合成-度丫丫,默認(rèn)為普通女
 }
 /// 
 /// 語音轉(zhuǎn)文字返回結(jié)果
 /// 
 public class RetSpeech
 {
  public string corpus_no { get; set; }
  public string err_msg { get; set; }
  public int err_no { get; set; }
  public string[] result { get; set; }
  public string sn { get; set; }
 }

4. 語音合成最后保存為 MP3 文件

利用c#編寫一個(gè)語音合成功能

以上就是利用c#編寫一個(gè)語音合成功能,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前題目:利用c#編寫一個(gè)語音合成功能-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/coipsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部