ubuntu - python mp3流如何轉無損wav?
黄舟
黄舟 2017-04-24 09:14:10
0
1
1218

我用百度語音webapi將文字轉成語音,百度webapi只支援返回mp3格式的流,但是我想要在即時簡單分析下波形,用FFT處理下。所以想要將mp3流轉為無損的wav格式。
但是找瞭如下的python包,
pymedia官方已經不更新,貌似不支援python2.7了,非官方的沒試;
pymad和pyogg沒有找到文檔,也沒有mp3轉無損格式的demo。
請問有什麼解決方法嗎?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆 (1)
阿神

自問自答,希望對碰到同樣情況的有幫助,也歡迎提出修改意見,或更好的方案。
據這幾天的搜尋很少有模組顯示地支援音訊串流格式轉換。
找到一個可用的模組io,聲音處理模組可以參考https://wiki.python.org/moin/...

import io aud=io.BytesIO(data)#data的格式是mp3数据的bytestring

接著可以像用檔案一樣使用這段流數據,之後就可以使用mp3檔案轉wav的模組,不用寫入到檔案再讀。

以下是結合pydub驗證過程:

from pydub import AudioSegment ###需要安装pydub、ffmpeg import wave import 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()
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!