
作業中にペイパーバイナリを提供するソニックパイPPA バイナリのユーザーは jackd に何度も遭遇します。どうすればユーザーにとって物事が簡単になりますか?
Sonic Piは、電子シンセサイザーとプログラミング言語を組み合わせた教育用音楽ツールです。初心者や小学生を対象としています。音楽を楽しみながらコーディングを教えるこのソフトウェアの主なインストール先は、プリインストールされているRaspbianです。そしてコードいくつかの組み込みハック、つまり、jackd を Raspberry Pi 上で起動して実行するための実用的なソリューションが含まれています。ただし、これらのハックは RPi 固有のものであり、他のディストリビューションではうまく機能しません。
状況は次のとおりです。
- Sonic-PiはグラフィカルIDEです
- バックグラウンドで実行されているRubyベースのサーバーが音楽を制御する
- 音楽を再生するために、シンセサイザーバックエンドとしてscsynth(Supercolliderの一部)を使用しています。
- scsynthは現在、Linuxでオーディオを再生するためにjackdを使用する必要があります
- rubyベースのSonic Piサーバーはjackdを起動し(まだ実行されていない場合)、次にscsynthを起動します。
ここで、Ubuntu を使用している場合 (Debian でも同様だと思います)、問題が始まります。
- Ubuntuのjackdのデフォルト設定はすべてのシステムで動作するわけではないようで、一部のシステムでは起動せず、ユーザーはqjackctlを使用するか、ログを調べて設定ファイルを変更する必要があります。
- jackdが起動すると、PulseAudioをブロックしますすでに実行中のオーディオを使用するプログラムは動作を停止します。
- jackdはリアルタイムスケジューリングを好みますが、Ubuntuはこれを実行できるように事前設定されておらず、ユーザーの変更それをするために
つまり、めちゃくちゃだこれは、Sonic Pi をインストールした初心者ユーザーが望む体験ではありません。
Ubuntu で jackd を動作させる方法を説明したガイドは存在しますが、初心者ユーザーや、このソフトウェアを動作させたいだけの教室の教師にとって、それらを実行するのは要求が多すぎます。
私が探しているのは.debからSonic Piをインストールした後、jackd を使用すると、問題なくすぐに動作し、手動での設定は必要ありません。
ウィッシュリストは次のとおりです:
- すぐに使える jackd の設定
- すべての非特権ユーザーアカウント
- 同じシステム上でPulseAudio/ALSAをブロックしない
- デフォルトのUbuntu(可能であればデフォルトのDebianとRaspbianでも)
- ディストリビューションのデフォルトのオーディオミキサーとボリュームコントロールのホットキーは機能し続けます
そんなものが存在するのでしょうか?
ユーザーがインストールするだけでそのように設定できる .deb はありますか (または .deb を作成できますか)?
答え1
私は Takkat のコメントを読みましたが、これはあなたにとって問題ないかもしれません:
- からここ、 インストール "パルスオーディオモジュールジャック" 次に、/etc/pulse/default.pa ( ) を編集します。load -module module-jack-sink load-module module-jack-source
sudo gedit /etc/pulse/default.pa
という行の下に次の行を追加します。 次に、次の内容を含む .jackrc をホームに作成または変更します。#load-module module-alsa-sink
/usr/bin/jackd --no-realtime -dalsa -dhw -r44100 -p1024 -n2
pulseaudioを再起動しますkillall pulseaudio
(jackdが実行中の場合は停止します killall jackd
):pulseaudioは自動的に再起動し、jackdも起動します。両方とも正しく接続されているのでJackdとPulseaudioは同時に使用できます
(これは私のUbuntu 14.04 PCで動作します) 。
- リアルタイムは、マルチトラック録音のレイテンシを低くしたい場合にのみ必要です。上記の jackd 構成では、ほとんどのオーディオ プログラムに適した 21 ミリ秒のレイテンシが生成されます (レイテンシは、.jackrc で 1024 ではなく 2048 に設定することで増加できます。jackd --help を参照してください)。
ユーザーにリアルタイムのアクセスを与える必要はありません(
警告(「リアルタイム スケジューリングは使用できません」)がある場合は無視できます)。
このパラメータはほとんどのPCで機能するはずですが、デフォルトのオーディオデバイスを使用するために省略したり、 2番目のオーディオデバイスを使用するため-dhw
に変更したりできます。-d hw:1,0
- 「Qjackctl connect manager」を使用してjackdをオーディオ入力/出力に手動で接続する必要がある場合は、もう1つの手順が必要になる場合があります(ほとんどのプログラムはjackdに自動的に接続するため、この場合はこれを行う必要はありません):「jack tools」をインストールし、「jack_connect」コマンドを使用してこれらの接続をスクリプト化します(ajスナップショット ジャック接続を保存および復元する)