我想知道是否相当于puredata-utils
?我想从python脚本发送消息,并在Pd中使用[netreceive]
接收它们。我怎样才能做到这一点?
答案 0 :(得分:3)
[netreceive]
接收 FUDI 协议中的消息。
FUDI 非常简单:
;\n
)这是一个示例python程序,用于向Pd [netreceive]
发送消息:
import socket
IP="127.0.0.1"
PORT=5005
addr=(IP, PORT)
EOL=';\n'
sock=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
for i in range(10):
msg="list foo "+str(i)+" bar"
sock.sendto(msg+EOL, addr)
Note1 :在UDP模式下,似乎每个数据包只允许一条消息(例如,消息("a b"+EOL+"c d"+EOL
)将作为列表[a b(
传递,其余的将被丢弃)
Note2 :在UDP模式下,终止分号是可选的;但终止LF 必需 。 (例如,数据包a b\nc d\n
将作为列表[a b c d(
)
这种方法的优点是可以与Pd-vanilla一起使用(因为它不需要任何外部来解析OSC消息)
答案 1 :(得分:2)
我建议使用OSC使用网络调用来控制PureData脚本。
This repository包含一个非常基本的代码示例,说明如何执行此操作。 (打开" osctoot.pd"以及任何一个python脚本以查看它的运行情况)
此方法完全独立于平台。