Python文字轉換語音,讓你的文字會「說話」,摳腳大漢秒變撒嬌萌妹

做者 | pk 哥
來源公衆號 | Python知識圈(ID:PythonCircle)
html

APP 也有文字轉換爲語音的功能,雖然聽起來很彆扭,可是基本能解決長輩們看不清文字或者眼睛疲勞,經過文字轉換爲語音來獲取信息。python

咱們用 Python 可否實現文字轉語音呢,能夠的,百度有個語音接口,能夠在 Python 中直接調用,甚至提供了多種聲音選擇,固然能夠選擇萌妹子的聲音。編程

安裝百度接口

經過 pip 命令直接安裝( -i 後面是豆瓣的鏡像,這樣下載安裝速度更快)json

pip3 install baidu-aip -i https://pypi.douban.com/simple/

建立應用

百度語音合成地址以下:api

https://ai.baidu.com/tech/speech/tts

點擊當即使用,沒有登陸的會要求先登陸,用本身的百度的帳號登陸就能夠,沒有百度帳號的新註冊一個。微信

登陸後進入應用頁面,語音識別包括:輸入法、搜索、英語、粵語、四川話、遠揚,還有語音合成等庫。咱們能夠看到,大部分 API 的調用次數免費且無限制的。url

咱們建立一個應用,勾選須要的接口權限,個人要求比較簡單,只是簡單的文字轉語音,因此勾選的接口也比較少。固然,這個接口還能夠作人臉識別、圖像識別、天然語言處理等,你們按需選擇。翻譯

建立完成後,咱們在應用列表能夠看到應用的三個重要的值:AppID、API Key、Secret Key,這三個值等下調用接口時會用到。調試

在文檔中心,咱們來看看基本的上傳參數。code

代碼調試

根據接口文檔,咱們寫個簡單的代碼,可以調通接口就行。

咱們須要填入你建立應用的 APP_ID、API_KEY 和 SECRET_KEY 的值。

其中,per 的值表示男女聲的,0 和 1 是普通的女聲和男聲,聽起來有點彆扭,3 和 4 是帶有感情的,明顯比 0 和 1 有感情,你們能夠試試。

from aip import AipSpeech

APP_ID = '17657240'
API_KEY = 'YRG9NQ6lVQYOXeazzK9rAovG'
SECRET_KEY = 'TlG8tchxR3YFGg0hFuC3ODy2QvRafc2v'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

# 中文:zh 粵語:ct 英文:en

result = client.synthesis('哈哈哈哈', 'zh', 1, {
    'vol': 5, 'per': 4
})

# 識別正確返回語音二進制 錯誤則返回dict 參照下面錯誤碼
if not isinstance(result, dict):
    with open('audio.mp3', 'wb') as f:
        f.write(result)

執行代碼後,同級目錄下就會生成一個 audio.mp3 的文件。

秒變撒嬌萌妹

咱們加入金山詞霸的接口,天天返回優美的英文和中文翻譯語句,咱們讓度丫丫把她讀出來,讓聲音秒變撒嬌萌妹。

金山詞霸的接口很簡單,直接 requests 調用,返回的 json 格式語句,咱們返回英語語句和中文語句。

def get_msg():
    url = 'http://open.iciba.com/dsapi/'   # 金山詞霸每日一句 api 連接
    html = requests.get(url)
    content = html.json()['content']   # 獲取每日一句英文語句
    note = html.json()['note']   # 獲取每日一句英文的翻譯語句
    return content, note

給出 APP_ID、API_KEY 和 SECRET_KEY 的值。

下面的步驟和上面同樣,只是把上面固定的文本換成接口返回的金山詞霸的語句而已。

咱們打開文件,還能聽出一些撒嬌聲,不信?你打開聽聽!

我發文章的時候,金山詞霸返回的中文語錄是:事情不多是不可能的;人們之因此不成功,與其說是條件不夠,不如說是決心不夠。

接下來,就能夠把這個撒嬌萌妹的音頻 發微信給朋友 或者免費發短信給朋友 均可以,以前講過,這裏就再也不囉嗦了。

公衆號「Pythpn知識圈」回覆「說話」獲取本文源碼。

歡迎關注公衆號「Python知識圈」,公衆號後臺回覆關鍵字,獲取更多幹貨。

回覆「英語」:送你英語 7000 單詞速記法,親測很是有效。 回覆「編程」:免費獲贈2019最新編程資料,認真學完BAT offer 拿到手軟。 回覆「賺錢」:領取簡單可實操的 36 個賺錢的小項目,天天多賺100塊零花錢。 回覆「電子書」:免費送你10本Python電子書。

相關文章
相關標籤/搜索