python 时间函数 毫秒_利用python进行播放音频与录音,骚操作!
現(xiàn)如今,我們的學(xué)習(xí)知識(shí)的渠道越來(lái)越多,我們也要充分利用自己的感官去汲取知識(shí)。當(dāng)我們看書累的時(shí)候,我們完全可以聽(tīng)過(guò)聽(tīng)書來(lái)學(xué)習(xí),這樣的平臺(tái)也很多,pk 哥之前也寫過(guò)關(guān)于下載喜馬拉雅音頻爬蟲的方法:Python爬蟲下載喜馬拉雅音頻文件。今天分享的是怎么用 Python 來(lái)播放音頻與錄音。
這是小編準(zhǔn)備的python學(xué)習(xí)資料,關(guān)注,轉(zhuǎn)發(fā),私信小編“01”即可獲取!
三種播放音頻的方式
使用 Python 播放音頻有以下幾種方式:
os.system()
os.system(file) 調(diào)用系統(tǒng)應(yīng)用來(lái)打開(kāi)文件,file 可為圖片或者音頻文件。
缺點(diǎn):要打開(kāi)具體的應(yīng)用,不能在后臺(tái)播放音頻。
Pyaudio 庫(kù)
安裝:pip install pyaudio
官方提供了播放音頻與錄音的 api ,使用十分方便,只要把Filename更改為你的音頻文件的文字,就可以播放音頻了。
jupyter notebook
在 jupyer notebook 中播放音頻可以使用以下函數(shù):
幾種讀取音頻的方式
Python 有很多讀取音頻文件的方法,內(nèi)置的庫(kù) wave ,科學(xué)計(jì)算庫(kù) scipy, 和方便易用的語(yǔ)音處理庫(kù) librosa。
下面將介紹分別使用這幾種庫(kù)讀取音頻文件:
安裝:
wave 是內(nèi)置庫(kù)直接導(dǎo)入即可。
使用:
wave.open:
參數(shù) path 為文件名,mode 為打開(kāi)方式,以'rb'方式打開(kāi)文件返回一個(gè) Wave_read 對(duì)象,而以'wb'方式打開(kāi)文件返回一個(gè) Wave_write 對(duì)象。
scipy.io.wavfile:
參數(shù) path 為文件名,返回 rate : 采樣率(每秒采樣點(diǎn)的個(gè)數(shù)),data : 音頻數(shù)據(jù)。
librosa.load:
參數(shù) path 為文件名
返回 y 為音頻數(shù)據(jù),sr 為采樣率
下面演示一個(gè)使用 wavfile 讀取音頻文件并且畫出波形的例子:
首先要計(jì)算音頻到底持續(xù)了多長(zhǎng)時(shí)間,wave 的 shape 就是總的采樣點(diǎn)個(gè)數(shù),除以采樣頻率可以得到持續(xù)的總時(shí)間(秒),乘 1000 得到總持續(xù)時(shí)間(毫秒)。接著通過(guò) np.linsapce 產(chǎn)生時(shí)間的序列,最后使用 matplotlib 畫出圖像。
Python 實(shí)現(xiàn)錄音功能
最后再借用 pyaudio 的 api 我們可以實(shí)現(xiàn)連續(xù)錄音功能。
其中,函數(shù) multi_record每結(jié)束一次錄音會(huì)詢問(wèn) “是否進(jìn)行下一次錄音?”,按回車就可以進(jìn)行下一次錄音了。
總結(jié)
以上是生活随笔為你收集整理的python 时间函数 毫秒_利用python进行播放音频与录音,骚操作!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 商务搜索引擎_2019年中国网民搜索引擎
- 下一篇: python3字节转化字符_捋一捋字符串