參考百度AI官網:http://ai.baidu.com/
准備工作:
支持Python版本:2.7.+ ,3.+
安裝使用Python SDK有如下方式
>如果已經安裝了pip,執行 pip install baidu-aip 即可。
>如果已安裝setuptools,執行 python setup.py install 即可。
登錄百度ia網站:
1、用百度賬號登錄
2、進入左側語言應用
3、創建新應用
實驗1:語音合成(將文字轉為語音)
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, 'spd': 3, 'pit': 9, 'per': 3, }) # 識別正確返回語音二進制 錯誤則返回dict 參照下面錯誤碼 if not isinstance(result, dict): with open('auido.mp3', 'wb') as f: f.write(result)
參數備注:
實驗2:語音識別(語音轉為文字)+語音合成
from aip import AipSpeech import os """ 你的 APPID AK SK """ APP_ID = '同上' API_KEY = '同上' SECRET_KEY = '同上' client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #語音識別(將音頻轉為文字) # 讀取文件 def get_file_content(filePath): #實現文件自動轉換(只要修改下面的本地文件並傳值就可以執行) any2pcm=f"ffmpeg -y -i {filePath} -acodec pcm_s16le -f s16le -ac 1 -ar 16000 {filePath}.pcm" os.system(any2pcm) with open(f"{filePath}.pcm", 'rb') as fp: return fp.read() # 識別本地文件 res=client.asr(get_file_content('ea.m4a'), 'pcm', 16000, { 'dev_pid': 1536, }) #拿到的是視頻轉換后的文字 print(res['result'][0]) #語音合成(再將文字轉為音頻) result = client.synthesis(res['result'][0], 'zh', 1, { 'vol': 5, 'spd': 3, 'pit': 9, 'per': 3, }) # 識別正確返回語音二進制 錯誤則返回dict 參照下面錯誤碼 if not isinstance(result, dict): with open('auido.mp3', 'wb') as f: f.write(result) #調用系統默認播放器 os.system("auido.mp3")
注意點:
1. 語音識別的格式只支持pcm,萬能格式轉換命令為:
ffmpeg -y -i audio.wav(原文件名) -acodec pcm_s16le -f s16le -ac 1 -ar 16000 audio.pcm(轉換后的文件名字)
2. os.system()是直接可以執行系統命令