c\#음성 합성 실현

4671 단어 c#음성합성
본 고 는 주로 C\#바 이 두 음성 합성 API 온라인 을 이용 하여 텍스트 내용 을 음성 으로 합성 하여 MP3 로 저장 하 는 것 을 토론 한다. 파일,본 고 는 마지막 으로 본 안전 소스 코드 와 소프트웨어 패 키 지 를 제공 하고 필요 하 다 면 스스로 다운로드 할 수 있 습 니 다.
개발 절 차 는 다음 과 같다.
1. 바 이 두 애플 리 케 이 션 만 들 기:
애플 리 케 이 션 을 만 들 면 만 든 애플 리 케 이 션 과 API KEY 그리고 Secret KEY 입 니 다.API 를 호출 할 때 이 설정 값 을 입력 해 야 합 니 다.
상세 참조:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
2. 인용 하 다. Baidu.Aip (SDK)
  Baidu.Aip 문자 인식 Ocr 폐쇄 API 의 Http 요청,코드 간소화,개발 효율 향상.이 DLL 을 인용 하지 않 으 려 면 Http 요청 방법 을 스스로 봉인 할 수 있 습 니 다.
C\#SDK 가 시작 되 었 습 니 다.빠 른 접속 문서 참조:https://ai.baidu.com/ai-doc/SPEECH/Jk4nlz6gp
3. API 호출,
여 기 는 통용 되 고 정밀도 가 높 은 식별 사례,특수 장면 인식 만 보 여 줍 니 다.상세 한 것 은 공식 문서https://ai.baidu.com/ai-doc/SPEECH/Jk4nlz6gp를 참조 하 십시오.

/// <summary>
  ///     
  /// </summary>
  /// <param name="reqItem">      </param>
  /// <param name="destPath">mp3      </param>
  /// <param name="synthesisEvent">    </param>
  /// <returns></returns>
  public static bool Synthesis(ReqSynthesis reqItem, string destPath, SynthesisEvent synthesisEvent)
  {
   bool callResult = false;

   try
   {
    synthesisEvent("       ...");
    //       
    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; //       
    var option = new Dictionary<string, object>()
    {
     {"vol", reqItem.vol}, // 
     { "pit", reqItem.pit}, // 
     {"spd", reqItem.spd}, //   
     {"per", reqItem.per} //    ,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("      ,    :[{0}],   :{1}", result.ErrorCode, result.ErrorMsg));
    }
    RiverAuth.Instant.EndCallEvent();
   }
   catch (Exception ex)
   {
    synthesisEvent("      ,  :" + ex.Message);
    LogHelper.LogError(ex, "    ");
   }
   return callResult;
  }
 }
 /// <summary>
 ///       
 /// </summary>
 [Serializable]
 public class ReqSynthesis
 {
  public string tex { get; set; }//     ,  UTF-8  ,           1024      
  public string cuid { get; set; }//       ,      ,     MAC     IMEI  ,   60    
  public int spd { get; set; }//  ,  0-9,   5     
  public int pit { get; set; }//  ,  0-9,   5     
  public int vol { get; set; }//  ,  0-15,   5     
  public int per { get; set; }//     , 0   ,1   ,3     -   ,4     -   ,      
 }
 /// <summary>
 ///          
 /// </summary>
 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 로 저장 문건

 5. 소스 코드 및 패키지 다운로드
소프트웨어 소스 코드 주소(프로젝트 통합 문자 인식,음성 합성,음성 인식):https://gitee.com/bidev_admin/river-int-ai.git
패키지 다운로드 주소 실행(.Net Framework 4.5):  https://pan.baidu.com/s/1z-WFDGHhEP8tqLqwp9I0Mw   추출 코드:  r3sk 
저자:목석 비 키
출처:http://www.cnblogs.com/EasyInvoice
이상 은 c\#음성 합성 을 실현 하 는 상세 한 내용 입 니 다.c\#음성 합성 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!

좋은 웹페이지 즐겨찾기