久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

使用Python和百度對(duì)外共享的TTS接口實(shí)現(xiàn)文本轉(zhuǎn)語(yǔ)音

 nxhujiee 2021-07-04

一個(gè)小小的目錄

起因

近日,,一個(gè)朋友給了我一張神奇的二維碼:

我掃了一下,進(jìn)入了這個(gè)鏈接
https://tts.baidu.com/text2audio?tex=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C%EF%BC%81&cuid=baike&lan=ZH&ie=utf-8&ctp=1&pdt=301&vol=9&rate=32&per=0
頁(yè)面里就是一個(gè)mp3文件:
Alt
自動(dòng)播放了一個(gè)“你好世界”的語(yǔ)音


看到tts.baidu.com這種奇怪的字眼和熟悉的URL編碼,,我本能地去把編碼解碼出來(lái),,不用說(shuō)你們也知道,解碼結(jié)果就是你好世界,!
Alt
那么,,一切基本就真相大白了:

https://tts.baidu.com/text2audio使用URL的參數(shù)來(lái)進(jìn)行文本轉(zhuǎn)語(yǔ)音,返回mp3文件,。

經(jīng)過(guò)

再經(jīng)過(guò)一段時(shí)間的摸索,,我基本找到了參數(shù)的規(guī)律:

  • tex參數(shù):要轉(zhuǎn)為語(yǔ)音的文本內(nèi)容
  • spd參數(shù):朗讀速度,取值范圍 [1,9]
  • lan參數(shù):語(yǔ)言碼,,取值及其含義如下表:
語(yǔ)言碼含義
ZH普通話
EN美式英語(yǔ)
UK英式英語(yǔ)
CTE粵語(yǔ)
  • per參數(shù):音色碼,,取值及其實(shí)際音色如下表(只有普通話有音色碼,其他語(yǔ)音只有一種標(biāo)準(zhǔn)音音色,,標(biāo)準(zhǔn)音音色的音色碼可以設(shè)為0):
音色碼實(shí)際音色
0標(biāo)準(zhǔn)女音
1標(biāo)準(zhǔn)男音
3斯文男音
4小萌萌
5知性女音
6老教授
8葛平音
9播音員
10京腔
11溫柔大叔

使用表格以外的音色碼或語(yǔ)言碼可能會(huì)報(bào)錯(cuò)

其他參數(shù)作用未知,,暫時(shí)設(shè)定朋友給的二維碼里的值

這些音色碼的“實(shí)際音色”其實(shí)都是我自己靠耳朵聽(tīng)出來(lái),,自己給那個(gè)音色起的名字。,。,。

希望有大神可以找出剩下參數(shù)的作用或是更多的音色碼/語(yǔ)言碼

代碼

于是,我使用Python的requests庫(kù)寫了一個(gè)方便調(diào)用百度TTS語(yǔ)音功能的程序:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
#import os


def TTS(text, speed, lan, per):
    """普通話-音色:
          標(biāo)準(zhǔn)女音
          標(biāo)準(zhǔn)男音
          斯文男音
          小萌萌
          知性女音
          老教授
          葛平音
          播音員
          京腔
          溫柔大叔
       英式英語(yǔ)-音色:
          標(biāo)準(zhǔn)音
       美式英語(yǔ)-音色:
          標(biāo)準(zhǔn)音
       粵語(yǔ)-音色:
          標(biāo)準(zhǔn)音
    """
    convertTable = {                       #建立易讀文本和音色碼/語(yǔ)言碼的關(guān)系表
        '中文': ('ZH', {
            '標(biāo)準(zhǔn)女音': 0,
            '標(biāo)準(zhǔn)男音': 1,
            '斯文男音': 3,
            '小萌萌': 4,
            '知性女音': 5,
            '老教授': 6,
            '葛平音': 8,
            '播音員': 9,
            '京腔': 10,
            '溫柔大叔': 11
        }),
        '英式英語(yǔ)': ('UK', {
            '標(biāo)準(zhǔn)音': 0
        }),
        '美式英語(yǔ)': ('EN', {
            '標(biāo)準(zhǔn)音': 0
        }),
        '粵語(yǔ)': ('CTE', {
            '標(biāo)準(zhǔn)音': 0
        })
    }
    data = {
        'tex': text,
        'spd': speed,
        'lan': convertTable[lan][0],
        'per': convertTable[lan][1][per],
        'ctp': 1,
        'cuid': 'baike',
        'ie': 'UTF-8',
        'pdt': 301,
        'vol': 9,
        'rate': 32
    }
    result = requests.get('https://tts.baidu.com/text2audio', params=data)
    try:
        result.json()
    except:
        return result.content
    else:
        raise ValueError


if __name__ == '__main__':
    try:
        bindata = TTS('''測(cè)試一下,,你好世界,!''', 5, '中文', '小萌萌')
    except:
        print('Error')
    else:
        with open('result.mp3', 'wb+') as f:
            f.write(bindata)            #在同級(jí)目錄寫入為mp3文件
        #os.startfile('result.mp3')     #自動(dòng)運(yùn)行生成的mp3

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多