溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python騰訊語(yǔ)音合成的示例分析

發(fā)布時(shí)間:2021-08-07 09:39:29 來(lái)源:億速云 閱讀:156 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“python騰訊語(yǔ)音合成的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“python騰訊語(yǔ)音合成的示例分析”這篇文章吧。

一、騰訊語(yǔ)音合成介紹

騰訊云語(yǔ)音合成技術(shù)(TTS)可以將任意文本轉(zhuǎn)化為語(yǔ)音,實(shí)現(xiàn)讓機(jī)器和應(yīng)用張口說(shuō)話。 騰訊TTS技術(shù)可以應(yīng)用到很多場(chǎng)景,比如,移動(dòng)APP語(yǔ)音播報(bào)新聞;智能設(shè)備語(yǔ)音提醒;依靠網(wǎng)上現(xiàn)有節(jié)目或少量錄音,快速合成明星語(yǔ)音,降低邀約成本;支持車(chē)載導(dǎo)航語(yǔ)音合成的個(gè)性化語(yǔ)音播報(bào)。

二、騰訊語(yǔ)音合成python SDK文檔

安裝 Python SDK 前,先獲取安全憑證。在第一次使用云 API 之前,用戶(hù)首先需要在騰訊云控制臺(tái)上申請(qǐng)安全憑證,安全憑證包括 SecretID 和 SecretKey, SecretID 是用于標(biāo)識(shí) API 調(diào)用者的身份,SecretKey 是用于加密簽名字符串和服務(wù)器端驗(yàn)證簽名字符串的密鑰。SecretKey 必須嚴(yán)格保管,避免泄露?!?/p>

通過(guò) pip 安裝(推薦)

您可以通過(guò) pip 安裝方式將騰訊云 API Python SDK 安裝到您的項(xiàng)目中,如果您的項(xiàng)目環(huán)境尚未安裝 pip,請(qǐng)?jiān)敿?xì)參見(jiàn) pip官網(wǎng) 安裝。

通過(guò)pip方式安裝請(qǐng)?jiān)诿钚兄袌?zhí)行以下命令:

pip install tencentcloud-sdk-python

請(qǐng)注意,如果同時(shí)有 python2 和 python3 環(huán)境, python3 環(huán)境需要使用 pip3 命令安裝。

三、騰訊語(yǔ)音合成

# !/usr/bin/env python 2 # -*- coding: utf-8 -*-
from base64 import b64decode
from uuid import uuid4
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.aai.v20180522.models import TextToVoiceRequest
from tencentcloud.aai.v20180522.aai_client import AaiClient
try:
  # 實(shí)例化一個(gè)認(rèn)證對(duì)象,入?yún)⑿枰獋魅腧v訊云賬戶(hù)secretId,secretKey
  cred = credential.Credential("你的secretID", "你的secretKey")
  # 實(shí)例化要進(jìn)行語(yǔ)音合成請(qǐng)求的client對(duì)象
  client = AaiClient(cred, 'ap-shanghai')
  # 實(shí)例化一個(gè)請(qǐng)求對(duì)象
  req = TextToVoiceRequest()
  # 請(qǐng)求對(duì)象屬性封裝
  req.Text = '先帝創(chuàng)業(yè)未半而中道崩殂' # type: str # 要合成語(yǔ)音的文本
  req.SessionId = uuid4() # type: int # 一次請(qǐng)求對(duì)應(yīng)一個(gè)SessionId,會(huì)原樣返回,建議傳入類(lèi)似于uuid的字符串防止重復(fù)
  req.ModelType = 1 # type: int # 模型類(lèi)型,默認(rèn)值為1
  req.Volume = 5.0 # type: float # 音量大小,范圍:[0,10],分別對(duì)應(yīng)10個(gè)等級(jí)的音量,默認(rèn)為0
  req.Speed = 0.6 # type: float # 語(yǔ)速,范圍:[-2,2],分別對(duì)應(yīng)不同語(yǔ)速:0.6倍,0.8倍,1.0倍,1.2倍,1.5倍,默認(rèn)為0
  req.ProjectId = 10086 # type: int # 項(xiàng)目id,用戶(hù)自定義,默認(rèn)為0
  req.VoiceType = 0 # type: int # 音色0:女聲1,親和風(fēng)格(默認(rèn)) 音色1:男聲1,成熟風(fēng)格 音色2:男聲2,成熟風(fēng)格
  req.PrimaryLanguage = 1 # type: int # 主語(yǔ)言類(lèi)型1:中文,最大100個(gè)漢字(標(biāo)點(diǎn)符號(hào)算一個(gè)漢字)語(yǔ)言類(lèi)型2:英文,最大支持400個(gè)字母(標(biāo)點(diǎn)符號(hào)算一個(gè)字母)
  req.SampleRate = 16000 # type: int # 音頻采樣率,16000:16k,8000:8k,默認(rèn)16k
  # 通過(guò)client對(duì)象調(diào)用想要訪問(wèn)的接口,需要傳入請(qǐng)求對(duì)象
  rep = client.TextToVoice(req)
  # rep為響應(yīng)對(duì)象
  print(rep)
  """
    {
    "Audio": "UklGRlR/AABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YSx9AAD+////AQD//wAAAAAAAAIAAQADAAMABgAEAAYABQAGAAUABwAIAAgACQAAE......AAgACAAEAAgADAAIAAwACAAQAAwACAAIAAgADAAMAAgACAAIAAwABAAAAAAAAAAAAAAD/////AAAAAAAA//8AAP///v/9//7//v///////v8AAP///////wAA/////wAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAA",
    "RequestId": "9a7a1615-3e09-4db2-8032-5c6f497f7e6a",
    "SessionId": "session-1234"
    }
    Audio對(duì)應(yīng)的值為經(jīng)過(guò)base64編碼,
    RequestId為返回的唯一請(qǐng)求id,
    SessionId為發(fā)送請(qǐng)求時(shí)傳入的id即uuid4()
  """
  # content為base64解碼后的二進(jìn)制流
  content = b64decode(rep.Audio)
  # I/O操作
  with open('voice.wav', 'wb') as f:
    f.write(content)
except TencentCloudSDKException as e:
  print(e)

以上是“python騰訊語(yǔ)音合成的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI