我正在使用github.com/hypebeast/go-osc/osc包将OSC消息发送到OSC服务器。为此,我使用OSCulator,这样我就可以将数据作为MIDI发送到Abelton Live。
我遇到的问题是,我找不到任何关于消息格式的信息,比如打开便笺、关闭便笺、持续时间等。我在OSCulator网站上找到了一个指南,这对我有一点帮助,但它没有深入到消息方面的太多细节:http://s3.amazonaws.com/osculator/doc/OSCulator+2.12+Manual.pdf
例如,下面的函数运行得很好,但是我不知道消息到底在做什么:
func note(pitch float32 , velocity float32) {
// TODO: Pass client into function. Find out it's type.
client := osc.NewClient("localhost", 8765)
noteMsg := osc.NewMessage("/4/toggle2")
client.Send(noteMsg)
msg := osc.NewMessage("/4/xy")
msg.Append(pitch)
msg.Append(velocity)
client.Send(msg)
}我的意思是,4在其中扮演了什么角色,xy又是什么?此外,除了toggle2之外,还有哪些其他消息可用?我以为会有一些在线文档,里面有MIDI类型应用程序可用的所有不同类型的消息。
发布于 2016-03-27 11:12:00
你的问题似乎更多地与OSC本身有关。
OSC的工作原理如下:
您向服务器发送一条消息。消息由地址和一些值组成。
在本例中,/4/xy是地址。4和斜杠定义了将要执行的操作。当你在另一边收到它时,你会知道你想要收到的是什么,这意味着你正在发送的地址。因此,您将配置服务器或接收器,使其在收到来自特定地址的消息时执行某些操作。
同样,您也可以将值追加到消息中。你已经知道的值的数量,所以当你收到它们时,你只需要对它们做你想做的事情。
https://stackoverflow.com/questions/36217924
复制相似问题