ubuntu - python mp3流如何轉無損wav?
問題描述
我用百度語音webapi將文字轉成語音,百度webapi只支持返回mp3格式的流,但是我想要在實時簡單分析下波形,用FFT處理下。所以想要將mp3流轉為無損的wav格式。但是找了如下的python包,pymedia官方已經不更新,貌似不支持python2.7了,非官方的沒試;pymad和pyogg沒有找到文檔,也沒有mp3轉無損格式的demo。請問有什么解決方法嗎?
問題解答
回答1:自問自答,希望對碰到同樣情況的有幫助,也歡迎提出修改意見,或者更好的方案。據這幾天的搜索很少有模塊顯示地支持音頻流格式轉換。找到一個可用的模塊io,聲音處理模塊可以參考https://wiki.python.org/moin/...
import ioaud=io.BytesIO(data)#data的格式是mp3數據的bytestring
然后可以像用文件一樣使用這段流數據,之后就可以使用mp3文件轉wav的模塊,而不用寫入到文件再讀。
以下是結合pydub驗證過程:
from pydub import AudioSegment ###需要安裝pydub、ffmpegimport waveimport io#先從本地獲取mp3的bytestring作為數據樣本fp=open('/home/dyan/你好.mp3',’rb’)data=fp.read()fp.close()#主要部分aud=io.BytesIO(data)sound=AudioSegment.from_file(aud,format=’mp3’)raw_data = sound._data#寫入到文件,驗證結果是否正確。l=len(raw_data)f=wave.open('/home/dyan/123.wav',’wb’)f.setnchannels(1)f.setsampwidth(2)f.setframerate(16000)f.setnframes(l)f.writeframes(raw_data)f.close()
相關文章:
1. javascript - sublime快鍵鍵問題2. javascript - 移動端上不能實現拖拽布局嗎?3. 實現bing搜索工具urlAPI提交4. javascript - 如何判斷不同兩個對象觸發同一事件?5. ubuntu - apache安裝好后php文件放在哪里?6. javascript - react native在run-android時出現這個錯誤該怎么解決?大神賜教7. angular.js - 單頁應用(ng/vue)該如何監聽用戶離開當前頁面(或者路由)?8. c++ - QWebEngineView加載url后直接點擊鏈接沒有反應要怎么解決?9. 前端 - 這段代碼一直生效不了,查半天因為 top: 0px; 分號后一個隱藏的東西,也不是占位符...刪了就可以生效,這是什么情況。。10. thinkPHP5中獲取數據庫數據后默認選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙

網公網安備