aRts - アナログ・リアルタイム・シンセサイザ
前のページ | 第 11章aRts を「ジェネリックオーディオサーバ」として利用する | 次のページ

# 11.4. artscat: はじめの一歩

もちろん、複雑なアプリケーションは別にして、 aRts はまずは ESD/KAudioServer がうまくやっているタスクはできなければなりません。 ここでは、mp3 プレーヤーとともに、新たに作成された artscat が はじめの「ジェネリックオーディオサーバ」の機能をどう提供しているかを見てみましょう。

理想の世界では、オーディオサーバ(つまりは aRts のこと)はとりあえず mp3 を認識して、 さらに、mp3 などのメディア用の演奏の枠組みがオーディオサーバの内部にあって、 さらには mp3 プレーヤーなどはなくて、 aRts 自身がかっこいい制御画面を表示させて mp3 を演奏するようになっています。

残念ながら、そのような理想郷と私達の生きる現実の世界とは違います。 だから、理想に到達するにはまだしなければならないことがあります。

都合のいいことに、mp3 プレーヤーは大した事をしなくてもできます。 ファイルを読み込み、ウィンドウを描き(または描かず)、最後にストリームをサウンドカードに送ります。 ここでは、ストリームを aRts に送るようにすればよいのです。 そうして、aRts はそれを受信したら、ミキサ、エフェクト、バス、フィードバックループなどに通します。 そして最後にサウンドカードに送ります。

新しい aRts のリリース(>= 0.3.3)ではそれができます。 artscat という小ユーティリティがあり、それは標準入力からバイトストリームを受信し、 それを TCP(CORBA は遅すぎるので使わない)を経由して aRts に送ります。artscat には次の書式があります。

     artscat -d <description> -t <type>

type と description はユーザが何が行われているか知るためのものです。 今後の aRts では、チャンネルを特定のサービスに自動的に割り当てるのに使われることになるでしょう。

もう一方の側では、ストリームが受信されます。 ユーザは Gui_AUDIO_MANAGER ウィジェットでどのバスにデータを送るかを選ぶことができます。 これと同じ割り当て機能を artsbuilder の代わりに artsshell で実現する方法を知りたいときは、 artsshell のオプション -c と -d を見てください。 実際的なテストケースを実演するために、artsmp3 が書かれました。 mpg123 がインストールされているなら、次のように入力してください。

     artsmp3 <filename>

artsmp3 はサーバへストリームを送るのに artscat を使います。 また、konsole ウィンドウを開いて出力を表示します。 画面にミキサがあってもきちんと動作します(example_mixer_eq を試してみてください)ので、 他のものと mp3 をミックスすることができます。 例えば、キーボードでの即席ライブとのミックスなどができます。

他の mp3 もミックスできます。 私は PII/350 のマシンで、9つの mp3 を aRts を通して同時に演奏することができました。 多分、快適というわけにはいきませんが、それを支える技術は安定している、ということの一例です。 クリックやブレークはありませんでした。 しかし、CPU のパワーを節約するためにミキサは使わなかったことは認めます。 ミキサを使うと恐らくチャンネルのいくつかは機能が落ちます。

レコーディングは aRts-0.3.4 からサポートされています。

前のページ | Home | 次のページ
代わりの選択肢：aRts を「ジェネリックオーディオサーバ」として利用する | Up | 次のステップ: artsrec, artsmon, サンプル, クライアント api と親和性