我刚刚开始学习使用超级对撞机的音频编程。当我播放一个声音时,我可以在扬声器上听到,但不能在耳机上听到。
我在启动服务器时收到以下消息-
引导57110 本地主机 JackDriver:客户端名称为“SuperCollider” SC_AudioDriver:采样率= 48000.000000,驱动器块大小= 1024 JackDriver:连接system:capture_1到SuperCollider:in_1 JackDriver:连接system:capture_2到SuperCollider:in_2 JackDriver:连接SuperCollider:out_1到system:playback_1 JackDriver:连接SuperCollider:out_2到system:playback_2 SuperCollider 3服务器准备就绪。 JackDriver:最大输出延迟42.7ms 从服务器本地主机接收通知消息 初始化共享内存服务器接口
我去过一些论坛,他们建议我寻找输出设备的选项并设置它们,我做了一个-
ServerOptions.devices;查找设备列表,但我在post窗口中发现了以下错误-
错误:原语没有绑定。0 676 方法{ (0x21199c0,gc=01,fmt=00,flg=11,set=04)的实例 实例变量15 raw1 :浮标0.000000 00000000 0080000C raw2 :浮点数0.000000 00000300 03020003 代码: Int8Array的实例(0x2119cc0,size=4,set=2) 选择器:零 常数:零 prototypeFrame :数组的实例(0x2119c00,size=3,set=2) 背景:无 argNames : SymbolArray的实例(0x2119b40,size=3,set=2) varNames :零 sourceCode :零 ownerClass :类Meta_ServerOptions (0x21113c0) 名称:符号'prListDevices‘ primitiveName :符号'_ListAudioDevices‘ '/usr/share/SuperCollider/SCClassLibrary/Common/Control/Server.sc‘:符号filenameSymbol charPos :整数4025 } 错误:原始‘无’失败。 失败。 接受者: 零 呼叫堆栈: 方法错误:reportError 0x3601498 arg这= 零:handleError 0x1f730f8 arg这=0 arg误差 线程:handleError 0x35fcfd8 arg这= arg误差 对象:抛出0x3980c58 arg这= 对象:原始Object 0x33395a8 arg这=0 解释器:口译: 0x3d061e8 arg这= var res =0 var func = var code = "ServerOptions.devices;“ var doc =0 var ideClass = 处理:解释性:Process 0x3443c08 arg这= ^^前面的错误转储用于错误:原语“无”失败。 失败。 接收者:零 引导57110 本地主机 JackDriver:客户端名称为“SuperCollider” SC_AudioDriver:采样率= 48000.000000,驱动器块大小= 1024 JackDriver:连接system:capture_1到SuperCollider:in_1 JackDriver:连接system:capture_2到SuperCollider:in_2 JackDriver:连接SuperCollider:out_1到system:playback_1 JackDriver:连接SuperCollider:out_2到system:playback_2 SuperCollider 3服务器准备就绪。 JackDriver:最大输出延迟42.7ms 从服务器本地主机接收通知消息 初始化共享内存服务器接口 错误:原语没有绑定。0 676 方法{ (0x21199c0,gc=01,fmt=00,flg=11,set=04)的实例 实例变量15 raw1 :浮标0.000000 00000000 0080000C raw2 :浮点数0.000000 00000300 03020003 代码: Int8Array的实例(0x2119cc0,size=4,set=2) 选择器:零 常数:零 prototypeFrame :数组的实例(0x2119c00,size=3,set=2) 背景:无 argNames : SymbolArray的实例(0x2119b40,size=3,set=2) varNames :零 sourceCode :零 ownerClass :类Meta_ServerOptions (0x21113c0) 名称:符号'prListDevices‘ primitiveName :符号'_ListAudioDevices‘ '/usr/share/SuperCollider/SCClassLibrary/Common/Control/Server.sc‘:符号filenameSymbol charPos :整数4025 } 错误:原始‘无’失败。 失败。 接受者: 零 呼叫堆栈: 方法错误:reportError 0x35be518 arg这= 零:handleError 0x1ee0b78 arg这=0 arg误差 线程:handleError 0x3470ab8 arg这= arg误差 对象:抛出0x3636a78 arg这= 对象:原始Object 0x3cd86c8 arg这=0 解释器:解释性: 0x3d44b98 arg这= var res =0 var func = var code = "ServerOptions.devices;“ var doc =0 var ideClass = 处理:解释性:Process 0x37c8708 arg这= ^^前面的错误转储用于错误:原语“无”失败。 失败。 接收者:零
我是新来的超级对撞机,我很难弄清楚错误的原因。请建议我如何解决这个问题。
提前谢谢。
发布于 2015-02-28 19:31:12
我也有类似的问题(根本没有超级对撞机的输出,只是完全的和完全的沉默),这篇文章最终引导我找到了正确的解决方案。我认为这对你和其他人都有帮助。
在ServerOptions文档中,我发现我可以配置SC如何使用环境变量与jack对话。
在我的例子中,我使用相关的环境变量启动scsynth,如下所示:
SC_JACK_DEFAULT_INPUTS="system:capture_1" SC_JACK_DEFAULT_OUTPUTS="system" scsynth -u 57110 &这似乎也可以在斯克拉昂内部这样做:
"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命令。
若要查看杰克服务器的所有in/out以及当前连接,请运行
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再次运行jack_lsp -c,看看您的系统是否按您所需的方式安装!
发布于 2014-11-22 22:29:18
我也有同样的问题。我通过使用KXStudio中的Catia找到了解决方案。看,卡蒂亚 Catia是一个杰克帕奇拜。(还有其他的拼贴。QJackctl和Patchage就是例子)。在我的系统(在戴尔工作室笔记本电脑上的Ubuntu14.04)上,SuperCollider将其前4个输出映射到4个系统回放。前2个系统回放是扬声器,系统播放3和4是耳机。通过将out1和out2从SC映射到playback_3和playback_4,我通过耳机听到了。所以,给杰克找个拼贴,看看你看到了什么。希望这能有所帮助。
发布于 2017-12-25 15:43:13
https://stackoverflow.com/questions/25044345
复制相似问题