2016-04-28 5 views
2

javascriptクライアントからsocketio経由で受け取った、pythonでオーディオブロブを処理したいです。PythonでJavaScript blobを処理するには?

音声データを処理するにはnumpy配列が必要ですが、ブロブを正しく変換できないようです。

オーディオブロブが含まれています

@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; 
    .... 

をしかし、これはエラーをスローします:Pythonで

[Float32Array[32768], Float32Array[32768]] 

を、私が試した

私が正しくオーディオブロブを変換するにはどうすればよい

TypeError: expected string or buffer

それはnp.fftで処理できるように?

+1

$ DEITYが大好きなので、実際にはJSON文字列でカプセル化された音声を送信していないことを教えてください。 – kay

+0

ひどいアイデア? O :-) – user2212461

+1

かなり。 :-)特にsocket.ioは分かりませんが、一般的なWebSocketはバイナリデータ(Uint8Arrays [JS]/bytes [Python])を送信できることが分かります。 – kay

答えて

2

最初にbase64.b64decode()を使ってみましたか? (base64は標準のlibにあります)

これは、例のBLOBを得るのに役立ちます。

関連する問題