LoginSignup
2
5

More than 3 years have passed since last update.

LinuxでSuperColliderの音を他のアプリのマイク入力として渡す

Posted at

リモートセッションでSuperCollider(以下SC)の音をブラウザに渡したい時など、SCの出力を他のアプリの入力として渡したい時の設定方法
最終的にこうする。
qjackctl.png

この図はqjackctlで表示できるグラフ。SCの出力をPulseAudio JACK Sourceに接続しているところがポイント

PulseAudioはLinuxのaudioサーバーで、ブラウザなどの最近のアプリはだいたいこれを使って音を鳴らしている。SCのようなリアルタイム性が要求されるアプリはPulseAudioではなく、JACK/ALSAを使っている。

PulseAudioのjackモジュールを使うと、jack上でPulseAudioの入出力を扱えるようになる。あとqjackctl(jackの設定用GUI)とpavucontrol(pulseaudioの設定用GUI)も入れておくと便利
arch linuxの場合は下記のコマンドで各種アプリ/モジュールをインストールできる

> sudo pacman -S pulseaudio-jack qjackctl pavucontrol

重要なポイントとして、jackを起動するタイミングでPulseAudioは停止していなければならない。pulseaudio -kで停止させる。
※ PulseAudioを使うアプリがあると、勝手にPulseAudioを起動してしまうので注意

> pulseaudio --check -v
I: [pulseaudio] main.c: Daemon running as PID 2959
> pulseaudio -k
> pulseaudio --check -v
I: [pulseaudio] main.c: Daemon not running

PulseAudioの停止を確認したら、下記の手順で設定する。

  1. qjackctlの「開始」ボタンを押して、jackを起動する

  2. PulseAudioのjackモジュールをロードする

    > pactl load-module module-jack-sink channels=2
    > pactl load-module module-jack-source
    
  3. SuperColliderを起動する

  4. PulseAudioを使うアプリを起動して、マイク入力を使う状態にする
    pavucontrolの「録音」タブから起動したアプリがJack sourceと接続されていることを確認できる
    pavucontrol.png

  5. qjackctlの「グラフ」でこのページの最初の図のようにPulseAudio JACK Sourceに接続する

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5