讓你的文字會(huì)「說話」,摳腳大漢秒變?nèi)鰦擅让?/h1>

作者:pk哥
來源:Python知識(shí)圈
閱讀文本大概需要 5 分鐘。
國慶節(jié)回家時(shí),看到有些長(zhǎng)輩看新聞?dòng)玫氖?APP 的語音功能,現(xiàn)在很多新聞?lì)?APP 也有文字轉(zhuǎn)換為語音的功能,雖然聽起來很別扭,但是基本能解決長(zhǎng)輩們看不清文字或者眼睛疲勞,通過文字轉(zhuǎn)換為語音來獲取信息。
我們用 Python 能否實(shí)現(xiàn)文字轉(zhuǎn)語音呢,可以的,百度有個(gè)語音接口,可以在 Python 中直接調(diào)用,甚至提供了多種聲音選擇,當(dāng)然可以選擇萌妹子的聲音。
安裝百度接口
通過 pip 命令直接安裝( -i 后面是豆瓣的鏡像,這樣下載安裝速度更快)
pip3?install?baidu-aip?-i?https://pypi.douban.com/simple/
創(chuàng)建應(yīng)用
百度語音合成地址如下:
https://ai.baidu.com/tech/speech/tts
點(diǎn)擊立即使用,沒有登錄的會(huì)要求先登錄,用自己的百度的賬號(hào)登錄就可以,沒有百度賬號(hào)的新注冊(cè)一個(gè)。
登錄后進(jìn)入應(yīng)用頁面,語音識(shí)別包括:輸入法、搜索、英語、粵語、四川話、遠(yuǎn)揚(yáng),還有語音合成等庫。我們可以看到,大部分 API 的調(diào)用次數(shù)免費(fèi)且無限制的。

我們創(chuàng)建一個(gè)應(yīng)用,勾選需要的接口權(quán)限,我的要求比較簡(jiǎn)單,只是簡(jiǎn)單的文字轉(zhuǎn)語音,所以勾選的接口也比較少。當(dāng)然,這個(gè)接口還可以做人臉識(shí)別、圖像識(shí)別、自然語言處理等,大家按需選擇。

創(chuàng)建完成后,我們?cè)趹?yīng)用列表可以看到應(yīng)用的三個(gè)重要的值:AppID、API Key、Secret Key,這三個(gè)值等下調(diào)用接口時(shí)會(huì)用到。

在文檔中心,我們來看看基本的上傳參數(shù)。

代碼調(diào)試
根據(jù)接口文檔,我們寫個(gè)簡(jiǎn)單的代碼,能夠調(diào)通接口就行。
我們需要填入你創(chuàng)建應(yīng)用的 APP_ID、API_KEY 和 SECRET_KEY 的值。
其中,per 的值表示男女聲的,0 和 1 是普通的女聲和男聲,聽起來有點(diǎn)別扭,3 和 4 是帶有感情的,明顯比 0 和 1 有感情,大家可以試試。
from?aip?import?AipSpeech
APP_ID?=?'輸入你的APP_ID'
API_KEY?=?'輸入你的API_KEY'
SECRET_KEY?=?'輸入你的SECRET_KEY'
client?=?AipSpeech(APP_ID,?API_KEY,?SECRET_KEY)
#?中文:zh 粵語:ct 英文:en
result?=?client.synthesis('哈哈哈哈',?'zh',?1,?{
????'vol':?5,?'per':?4
})
#?識(shí)別正確返回語音二進(jìn)制?錯(cuò)誤則返回dict?參照下面錯(cuò)誤碼
if?not?isinstance(result,?dict):
????with?open('audio.mp3',?'wb')?as?f:
????????f.write(result)
執(zhí)行代碼后,同級(jí)目錄下就會(huì)生成一個(gè) audio.mp3 的文件。
秒變?nèi)鰦擅让?/span>
我們加入金山詞霸的接口,每天返回優(yōu)美的英文和中文翻譯的語句,我們讓度丫丫把她讀出來,讓聲音秒變?nèi)鰦擅让谩?/p>
金山詞霸的接口很簡(jiǎn)單,直接 requests 調(diào)用,返回的 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 的值。
下面的步驟和上面一樣,只是把上面固定的文本換成接口返回的金山詞霸的語句而已。

我們打開文件,還能聽出一些撒嬌聲,不信?你打開聽聽!
我發(fā)文章的時(shí)候,金山詞霸返回的中文語錄是:事情很少是不可能的;人們之所以不成功,與其說是條件不夠,不如說是決心不夠。
接下來,就可以把這個(gè)撒嬌萌妹的音頻?發(fā)微信給朋友?或者免費(fèi)發(fā)短信給朋友?都可以,之前講過,這里就不再啰嗦了。
◆?◆?◆ ?◆?◆
長(zhǎng)按二維碼關(guān)注我們
數(shù)據(jù)森麟公眾號(hào)的交流群已經(jīng)建立,許多小伙伴已經(jīng)加入其中,感謝大家的支持。大家可以在群里交流關(guān)于數(shù)據(jù)分析&數(shù)據(jù)挖掘的相關(guān)內(nèi)容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進(jìn)群前一定要關(guān)注公眾號(hào)奧,關(guān)注后讓管理員幫忙拉進(jìn)群,期待大家的加入。
管理員二維碼:
猜你喜歡
瀏覽
150

作者:pk哥
來源:Python知識(shí)圈
閱讀文本大概需要 5 分鐘。
國慶節(jié)回家時(shí),看到有些長(zhǎng)輩看新聞?dòng)玫氖?APP 的語音功能,現(xiàn)在很多新聞?lì)?APP 也有文字轉(zhuǎn)換為語音的功能,雖然聽起來很別扭,但是基本能解決長(zhǎng)輩們看不清文字或者眼睛疲勞,通過文字轉(zhuǎn)換為語音來獲取信息。
我們用 Python 能否實(shí)現(xiàn)文字轉(zhuǎn)語音呢,可以的,百度有個(gè)語音接口,可以在 Python 中直接調(diào)用,甚至提供了多種聲音選擇,當(dāng)然可以選擇萌妹子的聲音。
安裝百度接口
通過 pip 命令直接安裝( -i 后面是豆瓣的鏡像,這樣下載安裝速度更快)
pip3?install?baidu-aip?-i?https://pypi.douban.com/simple/
創(chuàng)建應(yīng)用
百度語音合成地址如下:
https://ai.baidu.com/tech/speech/tts
點(diǎn)擊立即使用,沒有登錄的會(huì)要求先登錄,用自己的百度的賬號(hào)登錄就可以,沒有百度賬號(hào)的新注冊(cè)一個(gè)。
登錄后進(jìn)入應(yīng)用頁面,語音識(shí)別包括:輸入法、搜索、英語、粵語、四川話、遠(yuǎn)揚(yáng),還有語音合成等庫。我們可以看到,大部分 API 的調(diào)用次數(shù)免費(fèi)且無限制的。

我們創(chuàng)建一個(gè)應(yīng)用,勾選需要的接口權(quán)限,我的要求比較簡(jiǎn)單,只是簡(jiǎn)單的文字轉(zhuǎn)語音,所以勾選的接口也比較少。當(dāng)然,這個(gè)接口還可以做人臉識(shí)別、圖像識(shí)別、自然語言處理等,大家按需選擇。

創(chuàng)建完成后,我們?cè)趹?yīng)用列表可以看到應(yīng)用的三個(gè)重要的值:AppID、API Key、Secret Key,這三個(gè)值等下調(diào)用接口時(shí)會(huì)用到。

在文檔中心,我們來看看基本的上傳參數(shù)。

代碼調(diào)試
根據(jù)接口文檔,我們寫個(gè)簡(jiǎn)單的代碼,能夠調(diào)通接口就行。
我們需要填入你創(chuàng)建應(yīng)用的 APP_ID、API_KEY 和 SECRET_KEY 的值。
其中,per 的值表示男女聲的,0 和 1 是普通的女聲和男聲,聽起來有點(diǎn)別扭,3 和 4 是帶有感情的,明顯比 0 和 1 有感情,大家可以試試。
from?aip?import?AipSpeech
APP_ID?=?'輸入你的APP_ID'
API_KEY?=?'輸入你的API_KEY'
SECRET_KEY?=?'輸入你的SECRET_KEY'
client?=?AipSpeech(APP_ID,?API_KEY,?SECRET_KEY)
#?中文:zh 粵語:ct 英文:en
result?=?client.synthesis('哈哈哈哈',?'zh',?1,?{
????'vol':?5,?'per':?4
})
#?識(shí)別正確返回語音二進(jìn)制?錯(cuò)誤則返回dict?參照下面錯(cuò)誤碼
if?not?isinstance(result,?dict):
????with?open('audio.mp3',?'wb')?as?f:
????????f.write(result)
執(zhí)行代碼后,同級(jí)目錄下就會(huì)生成一個(gè) audio.mp3 的文件。
秒變?nèi)鰦擅让?/span>
我們加入金山詞霸的接口,每天返回優(yōu)美的英文和中文翻譯的語句,我們讓度丫丫把她讀出來,讓聲音秒變?nèi)鰦擅让谩?/p>
金山詞霸的接口很簡(jiǎn)單,直接 requests 調(diào)用,返回的 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 的值。
下面的步驟和上面一樣,只是把上面固定的文本換成接口返回的金山詞霸的語句而已。

我們打開文件,還能聽出一些撒嬌聲,不信?你打開聽聽!
我發(fā)文章的時(shí)候,金山詞霸返回的中文語錄是:事情很少是不可能的;人們之所以不成功,與其說是條件不夠,不如說是決心不夠。
接下來,就可以把這個(gè)撒嬌萌妹的音頻?發(fā)微信給朋友?或者免費(fèi)發(fā)短信給朋友?都可以,之前講過,這里就不再啰嗦了。
◆?◆?◆ ?◆?◆
長(zhǎng)按二維碼關(guān)注我們
數(shù)據(jù)森麟公眾號(hào)的交流群已經(jīng)建立,許多小伙伴已經(jīng)加入其中,感謝大家的支持。大家可以在群里交流關(guān)于數(shù)據(jù)分析&數(shù)據(jù)挖掘的相關(guān)內(nèi)容,還沒有加入的小伙伴可以掃描下方管理員二維碼,進(jìn)群前一定要關(guān)注公眾號(hào)奧,關(guān)注后讓管理員幫忙拉進(jìn)群,期待大家的加入。
管理員二維碼:
