欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)語音合成功能詳解

 更新時間:2022年01月26日 08:55:53   作者:車?yán)遄覢  
這篇文章主要為大家介紹了一個通過Python制作的小工具,可以實現(xiàn)語音識別以及文字轉(zhuǎn)語音的功能,文中的實現(xiàn)步驟講解詳細(xì),感興趣的可以動手試一試

導(dǎo)語

今天就給大家?guī)韨€語言識別跟語言賺文字的小工具感興趣的鐵汁萌可以往下滑了

1.直接使用

在1.2官網(wǎng)注冊后拿到APISecret和APIKey,直接復(fù)制文章2.4demo代碼,保存為online_tts.py,在命令行執(zhí)行

python online_tts.py -client_secret=你的client_secret -client_id=你的client_id -file_save_path=test.wav --text=今天天氣不錯

2. 獲取權(quán)限

Python調(diào)用標(biāo)貝科技語音合成接口,實現(xiàn)文字轉(zhuǎn)語音

2.1 環(huán)境準(zhǔn)備:

Python 3

2.2 獲取權(quán)限

標(biāo)貝科技 https://ai.data-baker.com/#/?source=qwer12

2.2.1 登錄

點擊產(chǎn)品地址進(jìn)行登錄,支持短信、密碼、微信三種方式登錄。

2.2.2 創(chuàng)建新應(yīng)用

登錄后進(jìn)入【首頁概覽】,各位開發(fā)者可以進(jìn)行創(chuàng)建多個應(yīng)用。包括一句話識別、長語音識別、錄音文件識別;在線合成、離線合成、長文本合成。

2.2.3 選擇服務(wù)

進(jìn)入【已創(chuàng)建的應(yīng)用】,左側(cè)選擇您需調(diào)用的AI技術(shù)服務(wù),右側(cè)展示對應(yīng)服務(wù)頁面概覽(您可查詢用量、管理套餐、購買服務(wù)量、自主獲取授權(quán)、預(yù)警管理)。

2.2.4 獲取Key&Secret

通過服務(wù) / 授權(quán)管理,獲取對應(yīng)參數(shù),進(jìn)行開發(fā)配置(獲取訪問令牌可進(jìn)群咨詢)

拿到Key和Secret就可以正式使用啦!

3. 代碼實現(xiàn)

3.1 獲取access_token

在拿到Key和Secret后,我們還需要調(diào)用授權(quán)接口獲取access_token,這個access_token有效時長是24小時。

# 獲取access_token用于鑒權(quán)
def get_access_token(client_secret, client_id):
    grant_type = "client_credentials"
    url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}".format(grant_type, client_secret, client_id)
    response = requests.post(url)
    access_token = json.loads(response.text).get('access_token')
 
    return access_token

3.2 獲取轉(zhuǎn)換后音頻

拿到access_token后,調(diào)用語音合成接口,就可以獲得生成的音頻

# 獲取轉(zhuǎn)換后音頻
def get_audio(data):
    url = "https://openapi.data-baker.com/tts?access_token={}&domain={}&language={}&voice_name={}&text={}&audiotype={}".format(data['access_domain'], data['domain'], data['language'], data['voice_name'], data['text'], data['audiotype'])
    response = requests.post(url)
    content_type = response.headers['Content-Type']
    if 'audio' not in content_type:
        raise Exception(response.text)
    return response.content

3.3 配置接口參數(shù)

client_secret和client_id:在文章1.2的官網(wǎng)獲取,必填

file_save_path:文件保存路徑,必填

text:需要轉(zhuǎn)換的文本內(nèi)容

audiotype:音頻類型,默認(rèn)16K采樣率wav格式

domain:所屬領(lǐng)域,默認(rèn)1

language:合成后文本語言,默認(rèn)中文“zh"

voice_name:發(fā)音人選擇,默認(rèn)“Lingling",

其他發(fā)音人詳見

https://www.data-baker.com/#/specs/file/tts_voice_list

# 獲取命令行輸入?yún)?shù)
def get_args():
    text = '歡迎使用標(biāo)貝開發(fā)平臺。'
    parser = argparse.ArgumentParser(description='ASR')
    parser.add_argument('-client_secret', type=str, required=True)
    parser.add_argument('-client_id', type=str, required=True)
    parser.add_argument('-file_save_path', type=str, required=True)
    parser.add_argument('--text', type=str, default=text)
    parser.add_argument('--audiotype', type=str, default='6')
    parser.add_argument('--domain', type=str, default='1')
    parser.add_argument('--language', type=str, default='zh')
    parser.add_argument('--voice_name', type=str, default='Lingling')
    args = parser.parse_args()
 
    return args

3.4 完整demo

#!/usr/bin/env python
# coding: utf-8
import requests
import json
import argparse
 
 
# 獲取access_token用于鑒權(quán)
def get_access_token(client_secret, client_id):
    grant_type = "client_credentials"
    url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}".format(grant_type, client_secret, client_id)
    response = requests.post(url)
    access_token = json.loads(response.text).get('access_token')
 
    return access_token
 
 
# 獲取轉(zhuǎn)換后音頻
def get_audio(data):
    url = "https://openapi.data-baker.com/tts?access_token={}&domain={}&language={}&voice_name={}&text={}&audiotype={}".format(data['access_domain'], data['domain'], data['language'], data['voice_name'], data['text'], data['audiotype'])
    response = requests.post(url)
    content_type = response.headers['Content-Type']
    if 'audio' not in content_type:
        raise Exception(response.text)
    return response.content
 
# 獲取命令行輸入?yún)?shù)
def get_args():
    text = '歡迎使用標(biāo)貝開發(fā)平臺。'
    parser = argparse.ArgumentParser(description='ASR')
    parser.add_argument('-client_secret', type=str, required=True)
    parser.add_argument('-client_id', type=str, required=True)
    parser.add_argument('-file_save_path', type=str, required=True)
    parser.add_argument('--text', type=str, default=text)
    parser.add_argument('--audiotype', type=str, default='6')
    parser.add_argument('--domain', type=str, default='1')
    parser.add_argument('--language', type=str, default='zh')
    parser.add_argument('--voice_name', type=str, default='Lingling')
    args = parser.parse_args()
 
    return args
 
 
if __name__ == '__main__':
    try:
        args = get_args()
 
        # 獲取access_token
        client_secret = args.client_secret
        client_id = args.client_id
        access_token = get_access_token(client_secret, client_id)
 
        # 讀取參數(shù)
        audiotype = args.audiotype
        domain = args.domain
        language = args.language
        voice_name = args.voice_name
        text = args.text
        data = {'access_domain': access_token, 'audiotype': audiotype, 'domain': domain, 'language': language,
                'voice_name': voice_name, 'text': text}
        content = get_audio(data)
 
        #保存音頻文件
        with open('test.wav', 'wb') as audio:
            audio.write(content)
        print("task finished successfully")
    except Exception as e:
        print(e)

3.5 執(zhí)行

復(fù)制所有代碼,保存為online_tts.py,在命令行執(zhí)行

python online_tts.py -client_secret=你的client_secret -client_id=你的client_id -file_save_path=test.wav --text=今天天氣不錯

以上就是Python實現(xiàn)語音合成功能詳解的詳細(xì)內(nèi)容,更多關(guān)于Python語音合成的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python讀取中文路徑出現(xiàn)亂碼問題的解決方案

    Python讀取中文路徑出現(xiàn)亂碼問題的解決方案

    小編在使用opencv讀取帶有中文路徑的圖片時,發(fā)現(xiàn)會出現(xiàn)亂碼的情況,當(dāng)讀取的文件路徑出現(xiàn)中文時,(文件夾名為中文或者文件為中文)出現(xiàn)錯誤,所以本文給大家介紹了Python讀取中文路徑出現(xiàn)亂碼問題的解決方案,需要的朋友可以參考下
    2024-06-06
  • Python正則表達(dá)式re模塊講解以及其案例舉例

    Python正則表達(dá)式re模塊講解以及其案例舉例

    Python中re模塊主要功能是通過正則表達(dá)式是用來匹配處理字符串的 ,下面這篇文章主要給大家介紹了關(guān)于Python正則表達(dá)式re模塊講解以及其案例舉例的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python中yield函數(shù)的用法詳解

    python中yield函數(shù)的用法詳解

    這篇文章主要為大家詳細(xì)介紹了python中yield函數(shù)的用法,數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python Numpy庫常見用法入門教程

    Python Numpy庫常見用法入門教程

    這篇文章主要介紹了Python Numpy庫常見用法,結(jié)合實例形式詳細(xì)Fenix了Python numpy庫基本功能、原理以及數(shù)組常見操作技巧,需要的朋友可以參考下
    2020-01-01
  • pycharm全局修改方式

    pycharm全局修改方式

    這篇文章主要介紹了pycharm全局修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Flask框架Flask-Login用法分析

    Flask框架Flask-Login用法分析

    這篇文章主要介紹了Flask框架Flask-Login用法,結(jié)合實例形式分析了Flask-Login插件進(jìn)行登錄驗證的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • python修改文件內(nèi)容的3種方法詳解

    python修改文件內(nèi)容的3種方法詳解

    這篇文章主要介紹了python修改文件內(nèi)容的3種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python使用OpenCV實現(xiàn)全景拼接功能

    Python使用OpenCV實現(xiàn)全景拼接功能

    全景拼接是將多張圖像拼接成一張全景圖的技術(shù),本文將詳細(xì)介紹如何使用 Python 和 OpenCV 庫進(jìn)行全景拼接,感興趣的小伙伴可以了解一下
    2024-11-11
  • 用Python實現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    用Python實現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法

    這篇文章主要介紹了用Python實現(xiàn)服務(wù)器中只重載被修改的進(jìn)程的方法,包括用watchdog來檢測文件的變化等,實現(xiàn)起來充分體現(xiàn)了Python作為動態(tài)語言的靈活性,強(qiáng)烈推薦!需要的朋友可以參考下
    2015-04-04
  • 淺析Python中的多進(jìn)程與多線程的使用

    淺析Python中的多進(jìn)程與多線程的使用

    這篇文章主要介紹了Python中的多進(jìn)程與多線程,線程與進(jìn)程一直是Python學(xué)習(xí)和運(yùn)用當(dāng)中的重點和難點,本文采用簡單的例子進(jìn)行講解,需要的朋友可以參考下
    2015-04-04

最新評論