- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试向 Supercollider 发送多个 OSC 消息使用来自 neuroPy 的变量 (1-13) .它仅适用于一个变量。如何利用更多变量。
from NeuroPy import NeuroPy
import time
import OSC
port = 57120
sc = OSC.OSCClient()
sc.connect(('192.168.1.4', port)) #send locally to laptop
object1 = NeuroPy("/dev/rfcomm0")
zero = 0
variable1 = object1.attention
variable2 = object1.meditation
variable3 = object1.rawValue
variable4 = object1.delta
variable5 = object1.theta
variable6 = object1.lowAlpha
variable7 = object1.highAlpha
variable8 = object1.lowBeta
variable9 = object1.highBeta
variable10 = object1.lowGamma
variable11 = object1.midGamma
variable12 = object1.poorSignal
variable13 = object1.blinkStrength
time.sleep(5)
object1.start()
def sendOSC(name, val):
msg = OSC.OSCMessage()
msg.setAddress(name)
msg.append(val)
try:
sc.send(msg)
except:
pass
print msg #debug
while True:
val = variable1
if val!=zero:
time.sleep(2)
sendOSC("/att", val)
这工作正常,我在 Supercollider 中收到了预期的消息。
如何添加更多变量并获取更多消息?
我认为它应该与 setCallBack 相关。
最佳答案
你不需要发送多条OSC消息,你可以发送一个包含所有值的OSC消息。事实上,这将是一个更好的方法,因为所有更新的值都会同步到达,而且更少需要网络流量。
您的代码目前相当于
msg = OSC.OSCMessage()
msg.setAddress("/att")
msg.append(object1.attention)
sc.send(msg)
这对于一个值来说很好。对于多个值,您可以执行以下几乎相同的操作:
msg = OSC.OSCMessage()
msg.setAddress("/neurovals")
msg.append(object1.attention)
msg.append(object1.meditation)
msg.append(object1.rawValue)
msg.append(object1.delta)
# ...
sc.send(msg)
应该没问题,你会收到一条包含多个数据的OSC消息。你也可以将上面的内容写成
msg = OSC.OSCMessage()
msg.setAddress("/neurovals")
msg.extend([object1.attention, object1.meditation, object1.rawValue, object1.delta]) # plus more vals...
sc.send(msg)
查看 OSCMessage 类的文档以查看有关如何构建消息的更多示例。
关于使用 Neuroskys mindwave 和 NeuroPy 模块将 OSC 发送到 SuperCollider 的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850287/
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我目前正在尝试使用 HTML5 中的 websocket 连接到 Neurosky Mindwave 传感器。 Mindwave 使用 Thinkgear Connector,我又用它来连接。我使用默
我在P5JS中使用实例化模式创建了多个html5 Canvas 。我正在使用 Neurosky Mindwave EEG 传感器来一一激活和停用 Canvas 。 Neurosky Mindwave
我正在尝试通过蓝牙访问从 Neurosky Mindset 传输的串行数据流。这是使用此处提到的 ThinkGear 通信协议(protocol)的步骤: http://developer.neuro
我是最后一年的学生,已经开始从事我的项目。我已经购买了神经天空的心态,并且正在考虑通过为每个波(从耳机发送)分配一个乐器来生成音乐,例如 alpha 波上的鼓,使用 midi,我想用 c# 编码我不是
我正在尝试向 Supercollider 发送多个 OSC 消息使用来自 neuroPy 的变量 (1-13) .它仅适用于一个变量。如何利用更多变量。 from NeuroPy import Neu
我是一名优秀的程序员,十分优秀!