如何在通过UDP在Max / MSP和Python之间传输时保持类型一致性?

时间:2017-05-26 19:19:57

标签: python types udp max-msp-jitter maxmsp

我是Python的新手并尝试从Max / MSP发送浮动列表,但我收到的只是另一方的加密行话。例如,如果我尝试发送

-64.463172 24.633138 10.054035 -2.445868 -7.855343 -8.22241 -7.066427 -5.288864 -2.530465 0.458666 2.289094 2.566208 1.953798 1.114607 0.296125 -0.339662 -0.604555 -0.518344 -0.328184 -0.239883 -0.265401 -0.312797 -0.300493 -0.189546

我收到了

b'list\x00\x00\x00\x00,ffffffffffffffffffffffff\x00\x00\x00\xc2\x80\xed%A\xc5\x10\xabA \xddT\xc0\x1c\x89\x1a\xc0\xfb^\xf8\xc1\x03\x8e\xfe\x
c0\xe2 ,\xc0\xa9>_\xc0!\xf3%>\xea\xd6B@\x12\x80\x86@$<\xc1?\xfa\x16\x0f?\x8e\xabt>\x97\x9d\xc1\xbe\xad\xe8=\xbf\x1a\xc4\x1e\xbf\x04\xb2*\xb
e\xa8\x07\xc3\xbeu\xa3\xcb\xbe\x87\xe2\x96\xbe\xa0&\xe8\xbe\x99\xda.\xbeB\x18^'

这里有一个类似的问题 max/msp to ruby via udp message format
但那是处理整数而且很容易解析并得到正确的数字,但我不知道如何解码这个。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

我发现我正在使用的对象([udpsend])使用OSC协议,并且负责所有多余的加密。我切换到[MXJ net.udp.send]并且数字干净利落,除了被撇号和前面的b包围。这显然表明它是以字节为单位的,可以用bytes.decode()删除。

答案 1 :(得分:0)

Sadam 对象库包含几个完美无缺的UDP对象。正如您所说,OSC对象不是用于原始UDP通信。