Icon of admin
 シリアル化の手順は次の通りです。
 オレメモです。

1) ライブラリをインポートします。
>>> import numpy as np
>>> import pickle

2) テスト用のnumpy.arrayを作ります。とりあえずはすべてゼロのuint8です。
>>> z = np.zeros(( 192, 8, 512 ), dtype=np.uint8 )
※ dtypeで変数の型を指定します。指定しないとOSのbit長のintになります。
※ 値の計算をするならuint16以上の型にしなければなりませんが、今のところArt-Netエンジン内では置き換えと比較しかしませんのでuint8で運用できそうです。

3) テスト用のtupleを作ります。
>>> y = ( 'tests', z )
※ 'tests'という文字列と(2)で作ったnumpy.arrayのtupleです。

4) シリアル化します。
>>> x = pickle.dumps( y )

 これでtuple:yが一列のバイナリとなり、scoketで通信できる状態になります。

5) 復号します。
>>> w = pickle.loads( x )
※ wはyと同じtupleです。正しく復号されました。

 numpy自体にもシリアル化/復号の方法があるようですが、型の違うデータを一括でやり取りしたいのでtupleをpickleで扱います。
 この処理の速度が十分かどうかはこれからの確認です。

#Python