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 - gulp-nodemon 使用重启express 服务器的时候端口被占用2. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?3. android-studio - android studio自带模拟器中的本地“图库”所对应的路径是什么?4. node.js - yo webapp构建项目时报错了,如图5. html5 - H5中播放的视频如何有效的进行知识产权保护-防下载防盗链6. mysql - 对单表大量数据进行报表汇总有什么高效的方法7. javascript - 请问一下react-native 布局的时候,尺寸的大小是如何确定的呢?8. thinkphp中Controller里面使用Request::File(’image’);9. 【python小白】 问关于之初始化一次对象的问题10. html5 - 目前 公司App 嵌入H5页面 做个 手机支付功能 没有做过 所以 请求各位有经验的 给个思路

网公网安备