web-dev-qa-db-ja.com

トラブルフリーですぐに使える完璧なジャッキ構成にするにはどうすればいいですか?

PPA で作業して Sonic Pi のバイナリを提供している間、PPAバイナリのユーザーはjackdにつまずき続けます。彼らのために物事を簡単にする方法は?

Sonic Piは、電子シンセサイザーとプログラミング言語を組み合わせた教育用音楽ツールです。初心者ユーザーと学童をターゲットにしています 音楽の楽しみを通してコーディングを教える 。ソフトウェアのメインのインストールターゲットはRaspbianで、プリインストールされています。 コード には組み込みのハックが含まれています。つまり、Raspberry Piでジャッキアップして実行するための実用的なソリューションです。ただし、これらのハッキングはRPi固有であり、他のディストリビューションではうまく機能しません。

状況は次のとおりです。

  • Sonic-PiはグラフィカルなIDEです
  • 音楽を制御するバックグラウンドで実行されているRubyベースのサーバー
  • 音楽を再生するには、シンセサイザーのバックエンドとしてscsynth(Supercolliderの一部)を使用しています。
  • scsynthは現在、Linuxでjackdを使用してオーディオを再生する必要があります
  • rubyベースのSonic Piサーバーがjackdを起動し(まだ実行されていない場合)、その後scsynth

ここで、Ubuntuを使用している場合(およびDebianを使用している場合も同様です)、問題が始まります。

  • ubuntuでのjackdのデフォルト設定は誰もが動作しないようです。そのため、一部のシステムでは起動せず、ユーザーはqjackctlまたはDigをログに入れて設定ファイルを変更する必要があります。
  • jackdが起動すると、 PulseAudioをブロックします なので、既に実行中のオーディオを使用するプログラムは動作を停止します
  • jackdはリアルタイムスケジューリングを好みますが、Ubuntuはこれを行うように事前設定されていないため、 ユーザーへの変更 が必要です

結局のところ、 それは混乱です 。これは、Sonic Piのインストール後に初心者ユーザーが望むエクスペリエンスではありません。

Ubuntuでjackdを使用する方法についてはガイドがありますが、それらを使用して作業することは、このソフトウェアを実行したい初心者ユーザーまたは教室の教師に多くを求めています。

だから私が探しているのは、が.debからSonic Piをインストールした後、jackdを搭載したものは、問題なく動作し、手動での設定は不要です。

ウィッシュリストはこれです:

  • ジャッキの設定は、「すぐに動作する」箱から出して
  • すべての非特権ユーザーアカウント
  • 同じシステムでPulseAudio/ALSAをブロックしません
  • デフォルトのUbuntuで(および可能であればデフォルトのDebianおよびRaspbianでも)
  • ディストリビューションのデフォルトのオーディオミキサーとボリュームコントロールホットキーが機能し続ける

これも存在しますか?

このための.debがありますか(または.debを作成できます)、ユーザーがインストールするだけで、そのように構成できますか?

5
hez

私はTakkatのコメントを読みましたが、これで問題ないかもしれません:

  • here から、「pulseaudio-module-jack」をインストールし、/ etc/Pulse/default.pa(Sudo gedit /etc/Pulse/default.pa)を編集します。#load-module module-alsa-sinkという行の下に、次の行を追加します。
    load-module module-jack-sink
    load-module module-jack-source
    次に、以下を含むホームで.jackrcを作成または変更します。
    /usr/bin/jackd --no-realtime -dalsa -dhw -r44100 -p1024 -n2

killall pulseaudioを実行しているpulseaudioを再起動します(killall jackdを実行している場合はjackdも停止します):pulseaudioは自動的に再起動し、jackdも起動します。両方とも正しく接続されるので、JackdとPulseaudioを同時に使用できます
(これは私のUbuntu 14.04 pcで動作します)。

  • リアルタイムは、マルチトラック録音の低レイテンシが必要な場合にのみ必要です。上記のjackd設定は、ほとんどのオーディオプログラムに適した21ミリ秒のレイテンシを生成します(レイテンシは、.jackrcで1024の代わりに2048に設定すると増加する可能性があります。jackd--helpを見てください)
    したがって、ユーザーにリアルタイムアクセスを許可する必要はありません
    (警告がある場合は無視できます(「リアルタイムスケジューリングを使用できません」))。
    -dhwパラメーターはほとんどのPCで動作するはずですが、デフォルトのオーディオデバイスを使用することは省略できます。または、2番目のオーディオデバイスを使用する場合は-d hw:1,0に変更できます
  • 「Qjackctl connect manager」を使用して手動でjackdをオーディオ入力/出力に接続する必要がある場合、もう1つのステップになる可能性があります(ほとんどのプログラムはjackdに自動的に接続し、この場合はこれを行う必要はありません):「jack tools」をインストールし、「jack_connect "これらの接続をスクリプト化するコマンド(aj-snapshotを使用してジャック接続を保存および復元することもできます)
4
laugeo