【问题标题】:How to process JavaScript blob in python?如何在 python 中处理 JavaScript blob?
【发布时间】: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


【解决方案1】:

您是否尝试过先使用base64.b64decode()? (base64 在标准库中)

获取示例 blob 会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-11-25
    • 2021-11-26
    • 2018-10-14
    • 2016-05-26
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 2018-09-11
    • 2014-03-16
    相关资源
    最近更新 更多