当前位置:   article > 正文

Delphi:文本朗读器--文本转语音(基于百度TTS语音库)_delphi百度语音

delphi百度语音

Delphi:文本朗读器(基于百度TTS语音库)@TOC

Delphi:文本朗读器–文本转语音(基于百度TTS语音库)

unit uSpeecher;

interface
uses
  Windows, Messages, SysUtils, Classes,IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL,bass,strutils;
const
  MY_CUID='F0B5F42DAA724497B7D531228EA6392D';
  WM_SPEECHER = WM_USER+1004;               //语音消息
  PERSON_1=1;                               //度小宇=1
  PERSON_0=0;                               //度小美=0
  PERSON_3=3;                               //度逍遥=3
  PERSON_4=4;                               //度丫丫=4

  PERSON_5=5;                               //度小娇=5
  PERSON_103=103;                               //度米朵=103
  PERSON_106=106;                               //度博文=106
  PERSON_110=110;                               //度小童=110
  PERSON_111=111;                               //度小萌=111

  AUE_MP3=3;                                   //mp3
  AUE_PCM_16=4;                                   //4为pcm-16k
  AUE_PCM_8=5;                                   //5为pcm-8k;
  AUE_WAV=6;                                   //6为wav(内容同pcm-16k);

  HTTP_TTS='http://tsn.baidu.com/text2audio';
  HTTPS_TTS='https://tsn.baidu.com/text2audio';

  MAX_LEN_TEXT=2048;                          //一次合成的最大字符数;
  MAX_LEN_TEXT_NET=95;                          //网络合成的最大字符数;
  MAX_PLAY_VOLUM=1;                             //播放音量最大值;

  STAT_STOP=0;
  STAT_PLAYING=1;
  STAT_PAUSE=2;

type
  TSpeecher = class(TThread)
  private

    mBusy:boolean;
    mPause:boolean;
    Fdatadir:string;                      //工作目录(保存mp3);

    FhForm:HWND;
    FText:String;                         //朗读的文本;
    FToken:string;
    Fcuid:string;                         //GUID,token;
    FSpeed:integer;                        //语速,取值0-15,默认为5中语速
    FPitch:integer;                        //音调,取值0-15,默认为5中语调
    FVolum:integer;                        //音量,取值0-15,默认为5中音量
    Fperson:integer;                       //发音人;
    Faue:integer;                          //语音格式;
    FPlayVolum:Single;                    //播放音量;
    Fstate:integer;                       //播放状态:停止;暂停,播放中
    function LinkHttpParameters(text:string):utf8string;             //连接参数 ;
    function saveAudioToFile(text:string):string;                //保存语音到文件
    function playAudio(hAudio: HSTREAM):boolean;
    procedure cutText(text:string;var ss:tstrings);//将长文本切割;

    procedure SetFormHandle(hForm:HWND);
    procedure SetToken(token:string);
    procedure Setcuid(cuid:string);
    procedure SetSpeed(Speed:integer);
    procedure SetPitch(Pitch:integer);
    procedure SetVolum(Volum:integer);
    procedure SetPlayVolum(PlayVolum:Single);
    procedure SetPerson(person:integer);
    procedure SetAue(aue:integer);
    procedure SetText(text:string);
    procedure SetState(state:integer);
    //procedure SetFormHandle(hForm:HWND);
  prote
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55464
推荐阅读
相关标签
  

闽ICP备14008679号