真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

創(chuàng)新互聯(lián)服務(wù)項目包括寧都網(wǎng)站建設(shè)、寧都網(wǎng)站制作、寧都網(wǎng)頁制作以及寧都網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧都網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到寧都省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

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

1

界面設(shè)計

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

這項功能雖然并不復(fù)雜,但也需要一個交互式的界面,所以決定使用Tkinter來實(shí)現(xiàn)這個功能。

***步:建立一個窗體

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

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

第二步,設(shè)置一個控件

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

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

第三步,提供選項

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

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

第四步,建立功能事件的觸發(fā)接口

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

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

最終界面效果如下:

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

2

語音播放

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

1).語音接口

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

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

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

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:需要轉(zhuǎn)換的文字。

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

  •  pit:音調(diào),取值0-9,默認(rèn)為5中語調(diào)。

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

可以看到,我們需要的發(fā)音、音調(diào)、語速三種風(fēng)格都可以通過修改參數(shù)來實(shí)現(xiàn)。

2).功能設(shè)計

解決了語音合成接口的問題,就可以結(jié)合界面設(shè)置來實(shí)現(xiàn)具體功能了。

  •  首先,要將界面中的語音風(fēng)格選項與語音合成函數(shù)參數(shù)一一對應(yīng)起來,這是一個典型的鍵與值的對應(yīng)關(guān)系,使用字典這種數(shù)據(jù)結(jié)構(gòu)再合適不過了。

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

  •  ***對于音調(diào)和語速,沒必要設(shè)置過細(xì)的精度等級,這里分別選取了三個跨度明顯的等級進(jìn)行區(qū)分。

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

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

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

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

3

打包封裝

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

pyinstaller -w tk_voice.py

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

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

***,關(guān)于Pyinstaller的使用有幾點(diǎn)需要注意的地方:

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

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

  •  使用Pyinstaller打包如果出現(xiàn)中途失敗的情況,可能會導(dǎo)致原py文件內(nèi)容丟失,所以打包之前***先進(jìn)行備份。

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

使用python寫了一款語音播放軟件,主要涉及Tkinter、baidu-aip、playsound、pyinstaller幾個庫,能夠?qū)崿F(xiàn)基本的語音合成及播放功能,能夠脫離python開發(fā)環(huán)境運(yùn)行,便于自行維護(hù)和擴(kuò)展,缺點(diǎn)是界面比較簡陋、功能比較單一,有興趣的小伙伴可以自行修改完善。

關(guān)于如何讓用Python寫一個語音播放軟件問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)站標(biāo)題:如何讓用Python寫一個語音播放軟件
鏈接分享:http://weahome.cn/article/ipdggi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部