4

スーパーコライダーを使ってオーディオプログラミングを学び始めたばかりです。サウンドを再生すると、スピーカーでは聞こえますが、ヘッドフォンでは聞こえません。

サーバーの起動時に次のメッセージが表示されます-

起動 57110
localhost
JackDriver: クライアント名は「SuperCollider」
SC_AudioDriver: サンプルレート = 48000.000000、ドライバーのブロックサイズ = 1024
JackDriver: 接続されたシステム:capture_1 から SuperCollider
:
in_1 system:playback_1
JackDriver: SuperCollider:out_2 を system:playback_2
SuperCollider 3 サーバーに接続しました。
JackDriver: 最大出力遅延 42.7 ミリ秒
サーバー localhost からの通知メッセージの受信
共有メモリ サーバー インターフェイスの初期化

いくつかのフォーラムを調べたところ、出力デバイスのオプションを探して設定するように提案されました。

ServerOptions.devices;

デバイスリストを探しましたが、投稿ウィンドウに次のエラーが表示されました-

エラー: プリミティブがバインドされていません。0 676
メソッドのインスタンス { (0x21199c0, gc=01, fmt=00, flg=11, set=04)
インスタンス変数 [15]
raw1 : Float 0.000000 00000000 0080000C
raw2 : Float 0.000000 00000300 03020003
コード : Int18Array のインスタンス (cc0,x219サイズ = 4、セット = 2)
セレクター :なし
定数 :
なし プロトタイプフレーム : 配列のインスタンス (0x2119c00、サイズ = 3、セット = 2)
コンテキスト :
なし argNames : SymbolArray のインスタンス (0x2119b40、サイズ = 3、セット = 2)
varNames :
なし sourceCode :
なし ownerClass : クラス Meta_ServerOptions (0x21113c0)
名前 : シンボル 'prListDevices'
PrimitiveName : Symbol '_ListAudioDevices'
filenameSymbol : Symbol '/usr/share/SuperCollider/SCClassLibrary/Common/Control/Server.sc'
charPos : Integer 4025
}
エラー: Primitive 'none' が失敗しました。
失敗した。
RECEIVER:
nil
CALL STACK:
MethodError:reportError 0x3601498
arg this =
Nil:handleError 0x1f730f8
arg this = nil
arg error =
Thread:handleError 0x35fcfd8
arg this =
arg error =
Object:throw 0x3980c58
arg this =
Object:primitiveFailed 0x33395a8
arg this = nil
Interpreter:interpretPrintCmdLine 0x3d061e8
arg this =
var res = nil
var func =
var code = "ServerOptions.devices;"
var doc = nil
var ideClass =
Process:interpretPrintCmdLine 0x3443c08
arg this =
^^ 上記のエラー ダンプは ERROR: Primitive 'none' failed. に関するものです。
失敗した。
RECEIVER: nil
booting 57110
localhost
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 1024
JackDriver: connected system:capture_1 to 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.7 ミリ秒
サーバー localhost から通知メッセージを受信
中 共有メモリ サーバー インターフェイスが初期化
されました エラー: プリミティブがバインドされていません。0 676
メソッドのインスタンス { (0x21199c0, gc=01, fmt=00, flg=11, set=04)
インスタンス変数 [15]
raw1 : Float 0.000000 00000000 0080000C
raw2 : Float 0.000000 00000300 03020003
code : Int18Array のインスタンス (cc0,x219サイズ=4、セット=2)
セレクター:なし
定数:
なし プロトタイプフレーム: 配列のインスタンス (0x2119c00、サイズ=3、セット=2)
コンテキスト:
なし argNames: SymbolArray のインスタンス (0x2119b40、サイズ=3、セット=2)
varNames:
なし ソースコード:
なし 所有者クラス: クラスMeta_ServerOptions (0x21113c0)
name: シンボル 'prListDevices'
PrimitiveName: シンボル '_ListAudioDevices'
filenameSymbol: シンボル '/usr/share/SuperCollider/SCClassLibrary/Common/Control/Server.sc'
charPos: 整数 4025
}
エラー: プリミティブ 'none' が失敗しました。
失敗した。
レシーバー:
なし
コール スタック:
MethodError:reportError 0x35be518
arg this =
Nil:handleError 0x1ee0b78
arg this = nil
arg error =
Thread:handleError 0x3470ab8
arg this =
arg error =
Object:throw 0x3636a78
arg this =
Object:primitiveFailed 0x3cd86c8
arg this = nil
Interpreter:interpretPrintCmdLine this 0x3d44
arg = b98
var res = nil
var func =
var code = "ServerOptions.devices;"
var doc = nil
var ideClass =
Process:interpretPrintCmdLine 0x37c8708
arg this =
^^ 前述のエラー ダンプは ERROR: Primitive 'none' failed. に対するものです。
失敗した。
受信機: なし

私はスーパーコライダーが初めてで、エラーの理由を理解するのに苦労しています。これを解決する方法を教えてください。

前もって感謝します。

4

4 に答える 4

1

私も同じ問題を抱えていました。KXStudio の Catia を使用して解決策を発見しました。Catia Catiaは JACK パッチベイです。(他のパッチベイも利用できます。QJackctl と Patchage はその例です)。私のシステム (Dell Studio ラップトップの Ubuntu 14.04) では、SuperCollider は最初の 4 つの出力を 4 つのシステム再生にマッピングします。最初の 2 つのシステム再生はスピーカーで、システム再生 3 と 4 はヘッドフォンです。out1とout2をSCからplayback_3とplayback_4に再マッピングすることで、ヘッドフォンから聞こえます。では、JACK のパッチベイを手に入れて、何が見えるか見てみましょう。お役に立てれば。

于 2014-11-22T22:29:18.993 に答える