このページでは、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 のソースコードをコンパイルする為に、以下のパッケージが必要となります。
更に、GCC 開発環境が必要になります。他の Linux ディストリビューションでも、これらのパッケージは利用可能なはずです。もしかしたら若干違った名前になっているかもしれませんが。
また、ALSA が利用可能なサウンドカードがあり、ALSA が正しく設定されている必要があります。もちろんのことですが、ヘッドセットかそれに代わるデバイスは必須です。
FGCOMGUIより配布されています。 内容物
詳しくはFGCOM for Windowsを参照してください。
次期安定板(version 1.2)がもうすぐリリースされます。暫くお待ち頂くか、svn のリポジトリから開発版のソースを取得してください。
Debian 用のリリースに間に合わせるようにテストとパッチ作成を行っています。暫定的なパッチは作者に送付したのでそのうち反映されるでしょう。テストが上手く行くようであれば近々公開したいと思いますので暫くお待ちください。どうしても自分で構築したい場合は tat まで連絡ください。
開発版ソースコードは以下から取得できます。
svn co https://fgcom.svn.sourceforge.net/svnroot/fgcom fgcom
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 サーバ (デフォルト: 'fgcom1.parasitstudio.de') --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.flightgear.org.ukサーバがアカウント無しで利用可能です。
FGCOM にはフライトギアモードと ATC モードの2種類の利用方法があります。ここではこれらの利用方法について説明します。
フライトギアモードは非常に便利です。FGCOM にユーザ名とパスワードを指定して起動するだけで準備は完了しますし、他の必要な情報は FGCOM が 自動的に FlightGear から取得します。FGCOM をフライトギアモードで正しく動作させるためには、FlightGear のマルチプレーヤモードを有効にすると共に fgrom プロトコルを指定する必要があります。以下にFGCOM を利用する際のフライトギア起動オプションの例を示します。
$ fgcom -Sfgcom.flightgear.org.uk & $ 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 -Sfgcom.flightgear.org.uk -aKSFO -f120.500
$ fgcom -f910.000 -Sfgcom.flightgear.org.ukサウンドの構成に異常が無ければ、マイクに向かって話した声は少し遅れてスピーカーから再生されます。
また、別のテストを行えます。
$ fgcom -f911.000 -Sfgcom.flightgear.org.uk
この例だと、テスト用の音楽が流れているのが聞こえればOKです。しかし、マイクから音が出ませんか?もしそうなら、別の録音ソフトで正常に録音できるか試したり、alsamixerなど、マイク/スピーカーの音量をチェックできるソフトを起動してみてください。
ここでは、手動又はスクリプトを利用した FGCOM の使用例を示します。(訳注:スクリプトはありません)
この例は FlightGear CVS/OSG のみで利用可能です。
あなたは EDDI (ベルリン テンペルホフ空港)の管制官です。これから示す方法でフライトギア上で航空管制を行いましょう。
まず、mpmap 上で EDDT の管制塔 付近のマップをブラウザで開きます。次にターミナルから fgcom を起動します。
$ fgcom -Sfgcom.flightgear.org.uk
ここで、(別のターミナルから)FlightGear を起動します。オプションには ATC機体(訳注: FlightGear CVS/OSG では--aircraft=ATC とすることで管制官モードで起動します)、fgcom プロトコル、マルチプレイヤ、及びEDDI管制塔の周波数を指定します。具体的なコマンドは以下のようになります。(訳注: コールサインはなくても動きますが有った方がいいでしょう。)
$ fgfs \ --airport-id=EDDI \ --aircraft=ATC \ --multiplay=out,10,mpserver02.flightgear.org,5000 \ --multiplay=in,10,<ホスト名又はIPアドレス>,5000 \ --callsign=<コールサイン> --generic=socket,out,10,127.0.0.1,16661,udp,fgcom \ --prop:/instrumentation/comm/frequencies/selected-mhz=121.950
FlightGear を ATCとして起動すると、管制塔から管制官用のレーダーや無線設定画面を見ながら指示することができます。周りの航空機が FGCOM を利用していれば、スペースキーを押して管制指示を出す事ができます。(訳注: このパラグラフを加筆 by Tat)
この例では、前述した管制官の例とは逆に管制官にコンタクトして管制指示を受けることとなります。まずは先ほどと同じように fgcom をターミナルから起動します。
$ fgcom -Sfgcom.flightgear.org.uk
次に、お好みの航空機と空港を指定してフライトギアを起動します。この時、fgcom プロトコル、マルチプレイヤ、及びEDDI管制塔の周波数を指定します。先の例と同様に具体的なコマンドを以下に示します。(訳注: やはりコールサインは有った方がいいでしょう。)
$ fgfs \ --airport-id=EDDI \ --aircraft=Dragonfly \ --multiplay=out,10,mpserver02.flightgear.org,5000 \ --multiplay=in,10,<ホスト名又はIPアドレス>,5000 \ --callsign=<コールサイン> --generic=socket,out,10,127.0.0.1,16661,udp,fgcom \ --prop:/instrumentation/comm/frequencies/selected-mhz=121.950 \
最後の行は省略しても構いません。この場合コクピットのパネルから無線の周波数を(あれば)設定できます。また、--prop:/sim/atc/enabled=false オプションを追加する事で フライトギア組み込みの ATC 音声を無効にできます。
シフト + スペースキーで無線を変更できる事をご存知でしょうか? 機体が対応していれば、COM1, NAV1, COM2, NAV2 という順番で無線を切り替える事ができます。NAV1 又は NAV2 を選択した場合、無線の到達範囲内であればモールス信号が聞こえるはずです。
アイデアがあれば教えてください!
判らない事があれば、FGCOM-FAQ を参照するか、作者迄メールを送信してください。(訳注: FGCOM-FAQ はリンク切れです、また作者へのメールは英語かドイツ語でお願いします)
バグ? 何それ? :-p
fgcom の技術的な説明は Technical description(リンク切れ)を参照してください (英文)
この魅力的なフライトギアのフィーチャーの開発に参加したい方は、作者までメールで連絡してください。このプロジェクトで苦労や喜びを共に分ち合う「戦友」が増えるととても有り難いです。(訳注: んー、combatants って.... ま、こんな感じなんだろうか? でも FlightGear ってば民間機メインじゃ...)
眠くなったので続く...
編集メモ
トラブルシューティングの項を勝手に翻訳して追加 - sambar
使用例~FGCOM の今後までを追加 - Tat
作者のメールアドレスが変更されていたため、本文中のメールアドレスを修正 - sambar
FGComGuiについて追記、サーバ変更など。fgcomguiをLinux(Fedora12)で使う方法はソースからのインストール(Unix編)にあります。 2010/4/14 sambar
名前をFGCom の利用方法からFlightGear2.9.0以前/FGCom の利用方法に変更 2014/03/25 sambar