美文网首页
百度语音合成模块

百度语音合成模块

作者: 南方老F | 来源:发表于2018-04-04 17:55 被阅读0次

    使用 python版本:

    ➜   python3 -V
    Python 3.6.4
    

    测试平台:

    ArchLinux
    

    Source code:

    #!/usr/bin/env python3
    # -*- coding:utf-8 -*-
    from aip import AipSpeech
    import subprocess,time,tempfile
    
    class BaiduTTS():
    
        def __init__(self):
    
            """ 你的 APPID AK SK """
            self.APP_ID = '此处填入个人 ID'
            self.API_KEY = '此处填入个人 KEY'
            self.SECRET_KEY = '此处填入个人 SECRET KEY'
            self.client = AipSpeech(self.APP_ID, self.API_KEY, self.SECRET_KEY)
    
        def send_request(self,words):
    
            result  = self.client.synthesis(words, 'zh', 1, {'vol' : 5, 'per' : 4} )
            
            if not isinstance(result, dict):
                with tempfile.NamedTemporaryFile(suffix='.mp3',delete=False) as f:
                    f.write(result)
                    tmpfile = f.name
                    return tmpfile
        
        def say(self,words):
    
            tmpfile = self.send_request(words)
            #time.sleep(0.5)
            subprocess.call("play -q %s"%tmpfile,shell=True)
    
    if __name__=='__main__':
    
        b = BaiduTTS()
        b.say('我们去打羽毛球吧!')
    
    

    获得文件:

    $ cd /tmp;ls
    tmpuew_6sy9.mp3
    $ file tmpuew_6sy9.mp3
    tmpuew_6sy9.mp3: MPEG ADTS, layer III, v2,  16 kbps, 16 kHz, Monaural
    

    语音合成方法:

    synthesis(self, text, lang='zh', ctp=1, options=None)
    

    参数说明:

    参数 类型 描述 是否必须
    text String 合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节
    lang String 语言选择,填写zh
    ctp String 客户端类型选择,web端填写1
    cuid String 用户唯一标识,用来区分用户,填写机器 MAC 地址或 IMEI 码,长度为60以内
    spd String 语速,取值0-9,默认为5中语速
    pit String 音调,取值0-9,默认为5中语调
    vol String 音量,取值0-15,默认为5中音量
    per String 发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为 0 普通女声

    相关文章

      网友评论

          本文标题:百度语音合成模块

          本文链接:https://www.haomeiwen.com/subject/tbclhftx.html