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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值