這篇文章主要給你們介紹了關於python播放音頻和錄音的相關資料,文中經過示例代碼介紹的很是詳細,對你們學習或者使用python具備必定的參考學習價值,須要的朋友們下面隨着小編來一塊兒學習學習吧python
本人對於Python學習建立了一個小小的學習圈子,爲各位提供了一個平臺,你們一塊兒來討論學習Python。歡迎各位到來Python學習羣:960410445一塊兒討論視頻分享學習。Python是將來的發展方向,正在挑戰咱們的分析能力及對世界的認知方式,所以,咱們與時俱進,迎接變化,並不斷的成長,掌握Python核心技術,纔是掌握真正的價值所在。
api
python 有不少讀取音頻文件的方法,內置的庫 wave ,科學計算庫 scipy, 和方便易用的語音處理庫 librosa。函數
下面將介紹分別使用這幾種庫讀取音頻文件:學習
安裝:3d
wave 是內置庫直接導入便可。cdn
scipy: pip install scipy視頻
librosa: pip install librosa對象
使用:blog
wave.open:ip
參數 path 爲文件名,mode 爲打開方式
以'rb'方式打開文件返回一個 Wave_read 對象,而以'wb'方式打開文件返回一個 Wave_write 對象。
scipy.io.wavfile:
參數 path 爲文件名
返回 rate : 採樣率(每秒採樣點的個數),data : 音頻數據
librosa.load:
參數 path 爲文件名
返回 y 爲音頻數據,sr 爲採樣率
下面演示一個使用 wavfile 讀取音頻文件而且畫出波形的例子:
首先要計算音頻到底持續了多長時間,wave 的 shape 就是總的採樣點個數,除以採樣頻率能夠獲得持續的總時間(秒),乘1000獲得總持續時間(毫秒)。接着經過 np.linsapce 產生時間的序列,最後使用 matplotlib 畫出圖像。
最後再借用 pyaudio 的 api 咱們能夠實現連續錄音功能:
python 實現錄音功能
其中,函數 multi_record每結束一次錄音會詢問 「是否進行下一次錄音?」,按回車就能夠進行下一次錄音了。
總結
以上就是這篇文章的所有內容了,但願本文的內容對你們的學習或者工做具備必定的參考學習價值,若是有疑問你們能夠留言交流,謝謝你們對小編的支持。