Kデスクトップ環境

8.4. artsshell でサーバを設定する

Artsshell は artsserver CORBA インターフェイスに直接アクセスするユーティリティです。 よって artsserver が動いている時にのみ動作します。

たくさんの設定オプションを artsshell で調整することができます。

状態についての情報を取得する

次のように起動します。

 artsshell -i

キャッシュの使用状況、動作中のモジュールの数など、有益な状態情報が得られます。

 artsshell -s

だと、aRts の実時間の設定をいくつか確認することができます。

キャッシュ容量

サンプルを扱っているとき、それをartsserverが自動的にキャッシュに入れてくれると便利です。 しかし、100個のピアノサンプルをロードした時など、最初の設定の8MBでは十分でない場合があります。 これを増やすには、次のようにします。

 artsshell -C <cachesize in KB>

リアルタイム(レイテンシー)パラメータ

コンピュータ、アプリケーションによっては、最初のレイテンシーが最適でない場合があります。 例えば、aRts がオーディオサーバの仕事だけしていればよく、mp3 を少しだけ聴くぐらいなら、 レイテンシーの値は10msも必要ではありません。 プレーヤーの停止ボタンを押したら少し間を置いて mp3 が停止するようにするのには十分ですが、 これには0.5秒がいちばんいいでしょう。

レイテンシーパラメータは3つあります。 フラグメントの数、各フラグメントのサイズ、スケジューリング周期のサイズです。 サウンドドライバのバッファはフラグメント * バイト(各フラグメントのサイズ)からなります。 そのバッファは16ビットなら2で割られて、チャンネルの数がレイテンシーを決めます。 OSS の実行の仕組みについて詳しく説明した文書は、 http://www.4front-tech.com/pguide/audio2.htmlにあります。

スケジューリング周期のサイズとは、 サウンドカードのバッファがあまっているのを aRts が感知したときに、 aRts がいくつのサンプルを計算するかを示しているものです。

役に立つ結果がほしいなら、スケジューリング周期の遅延はフラグメントの遅延よりも小さくしましょう。 規則:フラグメントの遅延はおそらくスケジューリング周期の遅延と一致しているでしょう。 次のコマンドを使ってください。

 artsshell -F <fragments>:<size> -S <scheduling_cycle_samples>

これらのパラメータを設定するために

デバッグ情報

arts を開発しているとき、またはバグを探しているときは、次を利用してください。

 artsshell -D 1

デバッグ情報が表示されます。artsserver からその情報を表示させるには、 printf を使うのと同じ要領で artsdebug を利用してください。 ただし、"debug.h" をインクルードする必要があります。