84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
我用百度语音webapi将文字转成语音,百度webapi只支持返回mp3格式的流,但是我想要在实时简单分析下波形,用FFT处理下。所以想要将mp3流转为无损的wav格式。但是找了如下的python包,pymedia官方已经不更新,貌似不支持python2.7了,非官方的没试;pymad和pyogg没有找到文档,也没有mp3转无损格式的demo。请问有什么解决方法吗?
人生最曼妙的风景,竟是内心的淡定与从容!
自问自答,希望对碰到同样情况的有帮助,也欢迎提出修改意见,或者更好的方案。据这几天的搜索很少有模块显示地支持音频流格式转换。找到一个可用的模块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()
自问自答,希望对碰到同样情况的有帮助,也欢迎提出修改意见,或者更好的方案。
据这几天的搜索很少有模块显示地支持音频流格式转换。
找到一个可用的模块io,声音处理模块可以参考https://wiki.python.org/moin/...
然后可以像用文件一样使用这段流数据,之后就可以使用mp3文件转wav的模块,而不用写入到文件再读。
以下是结合pydub验证过程: