?最近有個項目需要做視覺自動化處理的工具,最后選用的軟件為python,剛好這個機會進行系統學習。短時間學習,需要快速開發,所以記錄要點步驟,防止忘記。
?鏈接:
開源 python 應用 開發(一)python、pip、pyAutogui、python opencv安裝-CSDN博客
開源 python 應用 開發(二)基于pyautogui、open cv 視覺識別的工具自動化-CSDN博客
開源 python 應用 開發(三)python語法介紹-CSDN博客
開源 python 應用 開發(四)python文件和系統綜合應用-CSDN博客
開源 python 應用 開發(五)python opencv之目標檢測-CSDN博客
開源 python 應用 開發(六)網絡爬蟲-CSDN博客
開源 python 應用 開發(七)數據可視化-CSDN博客
開源 python 應用 開發(八)圖片比對-CSDN博客
開源 python 應用 開發(九)目標跟蹤-CSDN博客
開源 python 應用 開發(十)音頻壓縮-CSDN博客
開源 python 應用 開發(十一)AI應用--百度智能云ASR短語音轉文本-CSDN博客
開源 python 應用 開發(十二)AI應用--百度智能云Agent聊天-CSDN博客
開源 python 應用 開發(十三)AI應用--百度智能云TTS語音合成-CSDN博客
?推薦鏈接:
開源 Arkts 鴻蒙應用 開發(一)工程文件分析-CSDN博客
開源 Arkts 鴻蒙應用 開發(二)封裝庫.har制作和應用-CSDN博客
開源 Arkts 鴻蒙應用 開發(三)Arkts的介紹-CSDN博客
開源 Arkts 鴻蒙應用 開發(四)布局和常用控件-CSDN博客
開源 Arkts 鴻蒙應用 開發(五)控件組成和復雜控件-CSDN博客
?推薦鏈接:
開源 java android app 開發(一)開發環境的搭建-CSDN博客
開源 java android app 開發(二)工程文件結構-CSDN博客
開源 java android app 開發(三)GUI界面布局和常用組件-CSDN博客
開源 java android app 開發(四)GUI界面重要組件-CSDN博客
開源 java android app 開發(五)文件和數據庫存儲-CSDN博客
開源 java android app 開發(六)多媒體使用-CSDN博客
開源 java android app 開發(七)通訊之Tcp和Http-CSDN博客
開源 java android app 開發(八)通訊之Mqtt和Ble-CSDN博客
開源 java android app 開發(九)后臺之線程和服務-CSDN博客
開源 java android app 開發(十)廣播機制-CSDN博客
開源 java android app 開發(十一)調試、發布-CSDN博客
開源 java android app 開發(十二)封庫.aar-CSDN博客
推薦鏈接:
開源C# .net mvc 開發(一)WEB搭建_c#部署web程序-CSDN博客
開源 C# .net mvc 開發(二)網站快速搭建_c#網站開發-CSDN博客
開源 C# .net mvc 開發(三)WEB內外網訪問(VS發布、IIS配置網站、花生殼外網穿刺訪問)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客
開源 C# .net mvc 開發(四)工程結構、頁面提交以及顯示_c#工程結構-CSDN博客
??????開源 C# .net mvc 開發(五)常用代碼快速開發_c# mvc開發-CSDN博客
本章內容為使用百度智能云將文本合成為語音的方法,其中速度、語調等多種參數可以設置。
一、主要內容
使用使用百度語音合成API將文本轉換為語音的Python程序。
二、API Key 和 Secret Key獲取
進入百度智能云? ->? 選擇語音合成標準版 ->??選擇開通付費,默認贈送10小時流量,不購買資源
->??實名認證后獲得,api key 和 secret key??
在以下頁面可以查看API Key 和 Secret Key
三、源代碼分析
主要功能
文本轉語音:將中文文本轉換為wav格式的音頻文件
API認證:通過百度API獲取訪問令牌
音頻保存:將合成的音頻保存為本地文件
代碼結構分析
1. 導入模塊
python
import requests ?# 用于發送HTTP請求
import urllib.parse ?# 用于URL編碼
2. 全局變量
python
API_KEY = "" ?# 需要填寫的百度API Key
SECRET_KEY = "" ?# 需要填寫的百度Secret Key
3. 主函數 main()
設置API端點:https://tsn.baidu.com/text2audio
準備待轉換的文本并進行URL編碼
構建請求參數,包括語速、音調、音量等設置
發送POST請求獲取音頻數據
保存音頻文件為output.wav
4. 認證函數 get_access_token()
調用百度OAuth接口獲取訪問令牌
使用client_credentials授權模式
返回access_token用于后續API調用
參數說明
tex: URL編碼后的文本
tok: 訪問令牌
cuid: 用戶唯一標識
ctp: 客戶端類型(1為web)
lan: 語言(zh為中文)
spd: 語速(0-15,5為適中)
pit: 音調(0-15,5為適中)
vol: 音量(0-15,5為適中)
per: 發音人(0為默認女聲)
aue: 音頻格式(6為mp3)
以下為源碼:
import requests
import urllib.parseAPI_KEY = "***"
SECRET_KEY = "***"def main():try:url = "https://tsn.baidu.com/text2audio"# 準備文本并編碼text = "這是一段測試代碼啊,百度云也能聽清楚我講的是什么嗎?"encoded_text = urllib.parse.quote(text)# 構建請求參數params = {'tex': encoded_text,'tok': get_access_token(),'cuid': 'cmClbqGBAL3Mi8RSdREgdAl1uRJJXbZG','ctp': 1,'lan': 'zh','spd': 5, # 調整為適中語速'pit': 5, # 調整為適中音調'vol': 5, # 調整為適中音量'per': 0, # 使用默認發音人'aue': 6 # mp3格式}headers = {'Content-Type': 'application/x-www-form-urlencoded','Accept': 'audio/mp3'}# 發送請求response = requests.post(url, data=params, headers=headers)# 檢查響應if response.status_code == 200:# 保存音頻文件with open('output.wav', 'wb') as f:f.write(response.content)print("語音合成成功,已保存為 output.wav")else:print(f"請求失敗,狀態碼: {response.status_code}")print(f"錯誤信息: {response.text}")except Exception as e:print(f"程序執行出錯: {e}")def get_access_token():"""獲取百度API訪問令牌"""try:url = "https://aip.baidubce.com/oauth/2.0/token"params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}response = requests.post(url, params=params)response.raise_for_status()token = response.json().get("access_token")if not token:raise ValueError("未能獲取到access_token")return tokenexcept Exception as e:print(f"獲取access_token失敗: {e}")return Noneif __name__ == '__main__':main()
三、效果演示
將錄音文件test.wav文件放到和python文件同一個目錄,運行效果如下,生產了16K頻率的音頻文件。