2

我正在使用该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 类型应用程序的所有不同类型的消息。

4

1 回答 1

0

您的问题似乎与 OSC 本身更相关。

OSC 的工作方式如下:

您向服务器发送消息。消息由地址和一些值组成。

在这种情况下,/4/xy是地址。您定义的 4 和斜线将是什么。当你在另一边收到它时,你就会知道你想收到什么,这意味着你要发送的地址。因此,您将配置服务器或接收器,使其在接收到来自特定地址的消息时执行某些操作。

同样,您将值附加到消息中。您已经知道的值的数量,因此您只需在收到时对它们做您想做的事情。

基本上,如果您决定让键盘发送笔记,您将使用类似/keyboard/note地址的东西并一次发送一个值,因此您将读取该值并对其进行处理。

于 2016-03-27T03:12:00.247 回答