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" をインクルードする必要があります。