亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何讓用Python寫一個語音播放軟件

發布時間:2021-10-26 17:51:00 來源:億速云 閱讀:165 作者:柒染 欄目:編程語言

如何讓用Python寫一個語音播放軟件,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

單位經常使用廣播進行臨時事項的通知(將文字轉換為語音然后通過功放廣播),但是市面上多數語音播放軟件都是收費的,要么發音失真,要么不夠穩定——經常出現莫名其妙的故障,容易給工作帶來被動。學Python這么久不如動手寫一款自己的語音廣播軟件,即使發生故障也可以自行排除。

1

界面設計

在開始動工之前當然要分析需求,我要的核心功能是將一段文字通知輸入軟件,然后將其轉換為語音并播放出來。

這項功能雖然并不復雜,但也需要一個交互式的界面,所以決定使用Tkinter來實現這個功能。

***步:建立一個窗體

設置標題、大小等要素,為了避免顯示格式錯亂將其設定為不可改變大小,代碼如下:

如何讓用Python寫一個語音播放軟件

第二步,設置一個控件

用于接受收入的文字,這里選擇帶滾動條的Text,代碼如下:

如何讓用Python寫一個語音播放軟件

第三步,提供選項

作為一款語音播放軟件,最基本的語速、音調等風格設置還是要有的,這里使用Combobox控件提供固定選項,用戶可以根據情況選擇不同的發音、語速和語調。

如何讓用Python寫一個語音播放軟件

第四步,建立功能事件的觸發接口

設置三個Button控件分別用于觸發“語音播放”、“文本清除”和“界面退出”功能。

如何讓用Python寫一個語音播放軟件

最終界面效果如下:

如何讓用Python寫一個語音播放軟件

2

語音播放

關于“清除”、“退出”等功能相對比較簡單,這里重點對本次的核心功能——語音播放進行詳細說明。

1).語音接口

文本轉換語音推薦使用百度云的REST API 接口,登錄網站http://ai.baidu.com/,依次進入控制臺——語音技術頁面,創建自己的語音應用(下圖),其中AppID 、API Key 、Secret Key 三個參數在代碼中會用到。

如何讓用Python寫一個語音播放軟件

然后使用 pip install baidu-aip 安裝python SDK模塊,我們來看一下函數原型:

APP_ID = 'XXXXXX'  API_KEY = 'XXXXXXXXXXXXX'  SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXX'  client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)  result  = client.synthesis(text, 'zh', 1, {'per':1, 'vol':15, 'pit':9, 'spd':5 })
  •  text:需要轉換的文字。

  •  per:發音人選擇, 0為女聲,1為男聲,3為情感合成-度逍遙,4為情感合成-度丫丫,默認為普通女聲。vol:音量,取值0-15,默認為5中音量

  •  pit:音調,取值0-9,默認為5中語調。

  •  spd:語速,取值0-9,默認為5中語速。‘zh’和1分別為語音模式和客戶端類型,該兩項均為固定值,不支持修改。  

可以看到,我們需要的發音、音調、語速三種風格都可以通過修改參數來實現。

2).功能設計

解決了語音合成接口的問題,就可以結合界面設置來實現具體功能了。

  •  首先,要將界面中的語音風格選項與語音合成函數參數一一對應起來,這是一個典型的鍵與值的對應關系,使用字典這種數據結構再合適不過了。

  •  然后對于發音風格,選取了男聲、女聲、混合三種模式;

  •  ***對于音調和語速,沒必要設置過細的精度等級,這里分別選取了三個跨度明顯的等級進行區分。

如何讓用Python寫一個語音播放軟件

當“播放”按鈕點擊時,要從Text控件中讀取文本,如果文本為空則彈出提示框要求重新輸入;若文本不為空則將文本轉換為音頻文件并使用playsound進行播放。

如何讓用Python寫一個語音播放軟件

這里有一個問題需要特別注意,那就是在軟件運行過程中,生成并播放的音頻文件不可刪除、不可修改、不可覆蓋,所以每次轉換生成的音頻文件名稱絕對不能重復,否則在進行多次“播放”操作時,會因為新生成的音頻文件無法保存而發生故障。

3

打包封裝

到目前為止,這個軟件的運行要依賴于本地的python開發環境,不能方便地提供給他人使用,這里推薦Pyinstaller的第三方庫來對python程序進行打包,首先進入剛才的py文件所在目錄,執 行以下cmd命令。其中“-w”的作用是是不顯示命令窗口,tk_voice是剛才的py文件名稱。

pyinstaller -w tk_voice.py

這時,在同一目錄下會生成一個dist文件夾,這里面就是打包后的程序文件了。我們運行一下其中的.exe文件,就會出現之前設計的程序界面,在文本框中輸入一段測試文字:“全體人員請注意,全體人員請注意,請立即下樓集合開飯。”,點擊“播放”按鈕試一下效果:

插入音頻————測試.mp3

***,關于Pyinstaller的使用有幾點需要注意的地方:

  •  該方法僅適用于windows系統,而且對系統版本有比較嚴格的要求,比如64位系統下打包的程序無法在32位系統下運行。

  •  如果需要打包的程序中調用了外部的一些圖片或其他資源文件,則需要手動復制到打包后的文件夾內,因為對于這些文件Pyinstaller不會進行打包。

  •  使用Pyinstaller打包如果出現中途失敗的情況,可能會導致原py文件內容丟失,所以打包之前***先進行備份。

  •  使用import導入其他庫的時候盡量有選擇性,不要導入整個庫,不然打包后的文件會非常龐大。

使用python寫了一款語音播放軟件,主要涉及Tkinter、baidu-aip、playsound、pyinstaller幾個庫,能夠實現基本的語音合成及播放功能,能夠脫離python開發環境運行,便于自行維護和擴展,缺點是界面比較簡陋、功能比較單一,有興趣的小伙伴可以自行修改完善。

關于如何讓用Python寫一個語音播放軟件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彝良县| 长乐市| 两当县| 微山县| 登封市| 长汀县| 晋中市| 新化县| 临西县| 北海市| 鄂温| 郯城县| 龙里县| 惠安县| 英山县| 温宿县| 华安县| 沂水县| 余江县| 古蔺县| 治多县| 葵青区| 蓝田县| 通渭县| 华坪县| 黔江区| 玉林市| 东丰县| 松桃| 昌宁县| 莱州市| 平湖市| 安达市| 凤翔县| 辽源市| 习水县| 绍兴市| 申扎县| 三明市| 贵阳市| 布尔津县|