このページでは、FlightGear のアドオンである FGCom の利用方法について説明します。基本的にはFGCOMの和訳ですが、少し加筆しておきます。
FGCOM は リアルタイムなVOIP コミュニケーションを実現する為のFlightGear のアドオンプログラムです。FGCOM を使用する事により、FlightGear で飛行中に 同じ COM1 の周波数を持つユーザ同士が会話する事ができます。FGCOM は音声伝達手段として Asterisk というオープンソースの VOIP エンジンを利用しており、各周波数は (多分Asterisk の)カンファレンスルームにリンクする形で実現されています。VOIP と FlightGear との連携には iaxclient というライブラリを利用しています。これにより比較的簡単にフライトギア上での VOIP コミュニケーションが実現できるようになりました。
FGCOM を利用する事で、フライトギア上の機体にある ATC と mpmap との組み合わせは素晴らしい航空管制の場となる事でしょう。
現在のところ、FGCOM は Linux 上で開発されていますが、他の環境への移植はさほど難しくはないでしょう。
現在の所、ソースコードは Linux (Debian testing - Lenny)上で開発されています。ソースコードは移植可能なはずですが、Mac OS や Windows 上への移植方法については判りません。(訳注: 2008/1/28現在 Mac OS 上で無理矢理構築しました。只今動作テスト中です)
Debin 上では、FGCOM のソースコードをコンパイルする為に、以下のパッケージが必要となります。
また、ALSA が利用可能なサウンドカードがあり、ALSA が正しく設定されている必要があります。もちろんのことですが、ヘッドセットかそれに代わるデバイスは必須です。
次期安定板(version 1.2)がもうすぐリリースされます。暫くお待ち頂くか、svn のリポジトリから開発版のソースを取得してください。
Debian 用のリリースに間に合わせるようにテストとパッチ作成を行っています。暫定的なパッチは作者に送付したのでそのうち反映されるでしょう。テストが上手く行くようであれば近々公開したいと思いますので暫くお待ちください。どうしても自分で構築したい場合は tat まで連絡ください。
開発版ソースコードは以下から取得できます。
svn checkout svn://svn.dfn.de:/fgcom/trunk
FGCOM は tar.gz 形式のソースパッケージで配布されています。パッケージを解凍後、fgcom/src ディレクトリに移動し、バイナリを構築します。構築には GCC の開発環境が必要となります。 iaxclient library のバージョン 2.0 以上をお持ちでないなら、HAVE_IAX12 を undef しなければなりません (fgcom.h を参照してください)。 もしも他のディストリビューションで動作するコードや、他のOSに移植した場合は、作者に連絡してください。
このソースコードは Debian (lenny) 用に書かれています。以下に作者がバイナリを構築する際の簡単な方法を示します。パッケージに含まれているバイナリは多分動作するでしょうが、オーディオバックエンドに何らかの問題がある可能性があることに留意してください。
$ tar xvzf fgcom-latest.tar.gz $ cd fgcom/src $ make $ make install
バイナリは /usr/local/bin/fgcom にインストールされ、データファイルは /usr/local/fgcom にインストールされます。他のインストール先にする場合は Makefile を変更してください。
フライトギアがインストールされている場合、Mac OS 上では特に追加パッケージ無しで FGCOM を構築可能です。但し、Makefile やソースファイルに若干手を入れる必要があります。ソースへのパッチは現在作成中ですので、暫くお待ちください。
現時点では FGCOM はコマンドラインから必要なパラメタを指定します。将来的には設定ファイルにオプションを記述できるようになるかもしれません。FlightGear 上で動作させるには、FlightGear/Protocol/fgcom.xml を $FGROOT/data/Protocol にコピーしてください。(訳注: 原文には FlightGear/keyboard.xml をインストールしろとありますが、1.0.0 の keyboard.xml には既に PTT スイッチの設定(スペースキー)が含まれていますので、コピーする必要はありません)
アカウント関連のオプション:
--user | -U VOIP アカウントのユーザ名 (デフォルト: 'guest') --password | -P VOIP アカウントのパスワード (デフォルト: 'guest') --voipserver | -s VOIP サーバ (デフォルト: 'localhost') --port | -p フライトギアとの通信ポート(デフォルト: '16661')
ATCモードのオプション:
--airport | -a 空港ID (ICAO) --frequency | -f 周波数
オーディオ関連のオプション:
--mic | -i マイク入力レベル (0.0 - 1.0) --speaker | -o スピーカ出力レベル (0.0 - 1.0) --mic-boost | -b マイクブーストを有効にする --list-audio | -l オーディオデバイスの一覧を表示する --set-audio-in | -r 音声入力デバイス名を指定する --set-audio-out | -k 音声出力でバイス名を指定する
その他のオプション:
--debug | -d デバッグ情報を表示
FGCOM の全ての機能を利用するにはアカウントが必要です。取得方法は ''アカウントの取得方法" を参照してください。FGCOM をテストするだけであれば、デフォルトのゲストアカウントが利用可能ですので、アカウントの取得は不要です。ゲストアカウントからは以下の周波数のみしか利用できません。
FGCOM にはフライトギアモードと ATC モードの2種類の利用方法があります。ここではこれらの利用方法について説明します。
フライトギアモードは非常に便利です。FGCOM にユーザ名とパスワードを指定して起動するだけで準備は完了します。後の必要な情報は FGCOM が FlightGear から取得します。FGCOM をフライトギアモードで正しく動作させるためには、FlightGear のマルチプレーヤモードを有効にすると共に fgrom プロトコルを指定する必要があります。以下にFGCOM をフライトギアの起動オプションの例を示します。
$ fgcom -Udemo -Pdemo & $ fgfs --generic=socket,out,10,127.0.0.1,16661,udp,fgcom \ --multiplay=out,10,mpserver02.flightgear.org,5000 \ --multiplay=in,10,<YOUR_HOSTNAME>,5000
空港や周波数はフライトギアからFGCOM に自動的に送信されます。周波数を変更するにはフライトギアのメニューから Equipment >> Radio Setting のダイアログを開き、COM1 の周波数を設定してください。機体のコクピットから無線設定が可能な場合はそちらを利用しても構いません。
ATC モード(又はスタンドアローンモード)では、フライトギアを起動する必要はありません。その代わりに、どの空港のどの周波数を利用するかを指定する必要があります。ATC モードでの FGCOM の起動例は以下の通りです。
$ fgcom -Udemo -Pdemo -aKSFO -f120.500
$ fgcom -f910.000サウンドの構成に異常が無ければ、マイクに向かって話した声は少し遅れてスピーカーから再生されます。
$ fgcom -U<username> -P<password> -a" SFO" -f115.800この例だと、VOR SFOに115.800MHzで接続します。S-F-O(・・・ ・・−・ −−− )というモールス信号が聞こえるでしょう。正常にモールス信号が聞こえればOK - しかし、マイクから音が出ませんか?もしそうなら、別の録音ソフトで正常に録音できるか試したり、alsamixerなど、マイク/スピーカーの音量をチェックできるソフトを起動してみてください。
Sound problems 眠くなったので続く...
編集メモ
トラブルシューティングの項を勝手に翻訳して追加 - sambar