【发布时间】:2016-08-23 16:34:56
【问题描述】:
我想在 python 中处理通过 socketio 从 javascript 客户端接收到的音频 blob。
我希望将音频数据作为 numpy 数组进行处理,但我似乎无法正确转换 blob。
音频 blob 包含:
[Float32Array[32768], Float32Array[32768]]
在python中,我试过了:
@socketio.on('gotaudio')
def get_audio(blob):
//CONVERT THE BLOB
data = blob[0]
dat = np.array(json.loads(data));
//DO SOME SIGNAL PROCESSING
fftData=abs(np.fft.rfft(dat))**2;
....
但这会引发错误:
TypeError:预期的字符串或缓冲区
如何正确转换音频 blob 以便可以使用 np.fft 进行处理?
【问题讨论】:
-
看在 $DEITY 的份上,请告诉我,您实际上并没有传输封装在 JSON 字符串中的音频数据。
-
相当。 :-) 我不具体了解socket.io,但我可以看出通用WebSockets可以传输二进制数据(Uint8Arrays [JS] / bytes [Python])。
标签: javascript python audio blob