python离线录音转文字_Python将文字转成语音并读出来的实例详解
前言
本篇文章主要介紹,如何利用Python來實(shí)現(xiàn)將文字轉(zhuǎn)成語音。將文字轉(zhuǎn)成語音主要有兩種不同的實(shí)現(xiàn)方法:先將文字轉(zhuǎn)成語音,然后再通過讀取語音實(shí)現(xiàn)發(fā)音、直接調(diào)用系統(tǒng)內(nèi)置的語音引擎實(shí)現(xiàn)發(fā)音,后一種方法的實(shí)現(xiàn)主要利用第三方庫。
環(huán)境
Python版本:Anaconda 4.4.10
操作系統(tǒng):win10
注意:在使用第三方庫的時(shí)候,不同的操作系統(tǒng)和Python版本代碼可能有所差別。
調(diào)用api
可以調(diào)用第三方的語音合成api生成音頻文件,然后再播放音頻文件即可,這里我使用的是百度語音合成api。
1、注冊(cè)賬號(hào)創(chuàng)建應(yīng)用
在使用之前,需要先注冊(cè)一個(gè)百度賬號(hào),然后再創(chuàng)建一個(gè)語音合成的api,需要拷貝AppID、API Key、Secret Key后面調(diào)用接口的時(shí)候需要使用。
2、調(diào)用語音合成接口
python調(diào)用百度語音合成api接口詳細(xì)文檔:http://yuyin.baidu.com/docs/tts/196
3、安裝百度提供的Python庫:
如果已安裝pip,執(zhí)行pip install baidu-aip即可。
如果已安裝setuptools,執(zhí)行python setup.py install即可。
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
result = client.synthesis('你好嗎?', 'zh', 1, {
'vol': 5,
})
# 識(shí)別正確返回語音二進(jìn)制 錯(cuò)誤則返回dict 參照下面錯(cuò)誤碼
if not isinstance(result, dict):
with open('auido.mp3', 'wb') as f:
f.write(result)
播放音頻文件
安裝playsound:pip install playsound
from playsound import playsound
playsound("auido.mp3")
利用系統(tǒng)內(nèi)置語音引擎實(shí)現(xiàn)發(fā)音
1. Pyttsx
Pyttsx是一個(gè)跨平臺(tái)將文字轉(zhuǎn)成語音的第三方庫,它對(duì)操作系統(tǒng)內(nèi)置的語音引擎實(shí)現(xiàn)了包裝。
Pyttsx安裝
Python2:pip install pyttsx
Python3:pip install pyttsx3
代碼
import pyttsx3
engine = pyttsx3.init()
engine.say("Good")
engine.runAndWait()
pyttsx默認(rèn)使用的是讀取英文引擎,如果需要讀取中文時(shí)需要修改語言設(shè)置,不然可能會(huì)報(bào)錯(cuò)或者無法發(fā)音,首先我們需要參考系統(tǒng)支持的語言類型和參數(shù),通過以下代碼可以查看
engine = pyttsx3.init()
voices = engine.getProperty("voices")
for item in voices:
print(item.id,item.languages)
總結(jié)
以上是生活随笔為你收集整理的python离线录音转文字_Python将文字转成语音并读出来的实例详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: learnpythonthehardwa
- 下一篇: php curl json post请求