我遇到了类似的问题(超级对撞机根本没有输出,只是完全安静),这篇文章最终引导我找到了正确的解决方案。我认为这会对您和其他人有所帮助。
From 服务器选项文档 http://doc.sccode.org/Classes/ServerOptions.html#-device,我发现我可以通过环境变量配置 SC 与 jack 的对话方式。
就我而言,我使用相关环境变量启动 scsynth,如下所示:
SC_JACK_DEFAULT_INPUTS="system:capture_1" SC_JACK_DEFAULT_OUTPUTS="system" scsynth -u 57110 &
看来这也可以在 sclang 中完成,如下所示:
"SC_JACK_DEFAULT_INPUTS".setenv("system:capture_1");
"SC_JACK_DEFAULT_OUTPUTS".setenv("system");
在您的情况下,如果您连接到错误的输出,您可能需要像这样启动 scsynth:
SC_JACK_DEFAULT_OUTPUTS="system:playback_3,system:playback_4" scsynth -u 57110 &
另一种可以让您使用这些连接并找到适合您的连接的方法是使用 jack_lsp、jack_connect 和 jack_disconnect 命令。
要查看 Jack 服务器的所有输入/输出以及当前连接,请运行
jack_lsp -c
从你的帖子中,我想你会看到类似的东西
system:capture_1
SuperCollider:in_1
system:capture_2
SuperCollider:in_2
system:playback_1
SuperCollider:out_1
system:playback_2
SuperCollider:out_2
system:playback_3
system:playback_4
SuperCollider:out_1
system:playback_1
SuperCollider:out_2
system:playback_2
要将 SuperCollider 输出到耳机和扬声器,您可以将 out_1 和 out_2 连接到playback_3 和playback_4(假设这些是您的耳机),如下所示:
jack_connect SuperCollider:out_1 system:playback_3
jack_connect SuperCollider:out_2 system:playback_4
要断开与扬声器的连接,您可以这样做
jack_disconnect SuperCollider:out_1 system:playback_1
jack_disconnect SuperCollider:out_2 system:playback_2
Run jack_lsp -c
再次查看您的系统是否按照您想要的方式设置!