3

我正在使用 SuperCollider,我想基本上打包一个已经编写好的音乐脚本。这是希望从虚幻引擎 4 中调用它的目标,因为它的价值。

我知道 SuperCollider 以服务器/客户端的心态运行,既是scsynth服务器又sclang是客户端。我在 Mac 机器上,正在尝试手动启动 sclang/scsynth。这就是我的预期。

$> scsynth -u 2000 # This is running in another Terminal tab...

$> sclang -u 2000 MyScript.scd # Shouldn't this hook it up?
# An interactive terminal starts here...Shouldn't my commands
# be going to the server I started up?

有任何想法吗?

4

1 回答 1

3

关于端口号的一个小误解。scsynth 和 sclang 都可以侦听 UDP 端口。在您的代码示例中,您已经开始在 2000 上侦听 scsynth,然后在 2000 上开始侦听 sclang。这是在 2000 上侦听的两个进程,而不是一个进程发送和一个进程侦听。

如果您在端口 2000 上启动 scsynth,那么与它通信的方式不是使用sclang -u 2000,而是通过在您的 sclang 脚本中设置端口。如果我假设您使用的是默认服务器,那么您可以检查该语言认为它正在与之交谈的NetAddr :

   "Default server is at this IP and port: %".format(Server.default.addr).postln;

如果要将其设置为端口 2000:

  Server.default.addr.port = 2000;
于 2015-07-24T14:18:38.293 回答