[[FrontPage]]

このページでは、FlightGear のアドオンである FGCOM の利用方法について説明します。基本的には[[FGCOM>http://squonk.abacab.org/dokuwiki/fgcom]]の和訳ですが、少し加筆しておきます。

* FGCOM とは [#g098fbcb]
FGCOM は リアルタイムなVOIP コミュニケーションを実現する為のFlightGear のアドオンプログラムです。FGCOM を使用する事により、FlightGear で飛行中に 同じ COM1 の周波数を持つユーザ同士が会話する事ができます。FGCOM は音声伝達手段として Asterisk というオープンソースの VOIP エンジンを利用しており、各周波数は (多分Asterisk の)カンファレンスルームにリンクする形で実現されています。VOIP と FlightGear との連携には iaxclient というライブラリを利用しています。これにより比較的簡単にフライトギア上での VOIP コミュニケーションが実現できるようになりました。

FGCOM を利用する事で、フライトギア上の機体にある ATC と mpmap との組み合わせは素晴らしい航空管制の場となる事でしょう。

現在のところ、FGCOM は Linux 上で開発されていますが、他の環境への移植はさほど難しくはないでしょう。

* システム条件 [#vbddaa06]
現在の所、ソースコードは Linux (Debian testing  - Lenny)上で開発されています。ソースコードは移植可能なはずですが、Mac OS や Windows 上への移植方法については判りません。(訳注: 2008/1/28現在 Mac OS 上で無理矢理構築しました。只今動作テスト中です)

Debin 上では、FGCOM のソースコードをコンパイルする為に、以下のパッケージが必要となります。
- libopenal
- libasound
- libplibul
- libplibnet
-libpthread

更に、GCC 開発環境が必要になります。他の Linux ディストリビューションでも、これらのパッケージは利用可能なはずです。もしかしたら若干違った名前になっているかもしれませんが。

また、ALSA が利用可能なサウンドカードがあり、ALSA が正しく設定されている必要があります。もちろんのことですが、ヘッドセットかそれに代わるデバイスは必須です。

* Download [#e47501b6]
** Debian 用安定板バイナリパッケージ [#td6c3e76]
次期安定板(version 1.2)がもうすぐリリースされます。暫くお待ち頂くか、svn のリポジトリから開発版のソースを取得してください。

** Mac OS 用安定板バイナリパッケージ [#tfbbb82e]
Debian 用のリリースに間に合わせるようにテストとパッチ作成を行っています。暫定的なパッチは作者に送付したのでそのうち反映されるでしょう。テストが上手く行くようであれば近々公開したいと思いますので暫くお待ちください。どうしても自分で構築したい場合は tat まで連絡ください。

** 開発版ソースコード [#vdfad4ca]
開発版ソースコードは以下から取得できます。
 svn checkout svn://svn.dfn.de:/fgcom/trunk

* マニュアル [#af86da2a]
** はじめに [#n553235b]
- エラーメッセージが出た時はバグ報告をする前に、FAQ とトラブルシューティングを一読ください
- このマニュアルは FGCOM クライアントに関する説明であり、サーバに関する説明ではありません。

** 構築方法 [#b6645b6a]
FGCOM は tar.gz 形式のソースパッケージで配布されています。パッケージを解凍後、fgcom/src ディレクトリに移動し、バイナリを構築します。構築には GCC の開発環境が必要となります。
iaxclient library のバージョン 2.0 以上をお持ちでないなら、HAVE_IAX12 を undef しなければなりません (fgcom.h を参照してください)。
もしも他のディストリビューションで動作するコードや、他のOSに移植した場合は、作者に連絡してください。

*** Debian 上での構築 [#if907aec]
このソースコードは Debian (lenny) 用に書かれています。以下に作者がバイナリを構築する際の簡単な方法を示します。パッケージに含まれているバイナリは多分動作するでしょうが、オーディオバックエンドに何らかの問題がある可能性があることに留意してください。
 $ tar xvzf fgcom-latest.tar.gz
 $ cd fgcom/src
 $ make
 $ make install

バイナリは /usr/local/bin/fgcom にインストールされ、データファイルは /usr/local/fgcom にインストールされます。他のインストール先にする場合は Makefile を変更してください。

*** Mac OS 上での構築 (訳注: 加筆 by Tat) [#fc259016]
フライトギアがインストールされている場合、Mac OS 上では特に追加パッケージ無しで FGCOM を構築可能です。但し、Makefile やソースファイルに若干手を入れる必要があります。ソースへのパッチは現在作成中ですので、暫くお待ちください。

** 設定 [#m79cb717]
現時点では FGCOM はコマンドラインから必要なパラメタを指定します。将来的には設定ファイルにオプションを記述できるようになるかもしれません。FlightGear 上で動作させるには、FlightGear/Protocol/fgcom.xml を $FGROOT/data/Protocol にコピーしてください。(訳注: 原文には FlightGear/keyboard.xml をインストールしろとありますが、1.0.0 の keyboard.xml には既に PTT スイッチの設定(スペースキー)が含まれていますので、コピーする必要はありません)

** 起動方法 [#b3ffc97b]
*** オプション [#qb9d9f4d]
アカウント関連のオプション:
 --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     デバッグ情報を表示

** アカウント [#lcf49a5c]
FGCOM の全ての機能を利用するにはアカウントが必要です。取得方法は ''アカウントの取得方法" を参照してください。FGCOM をテストするだけであればデフォルトのゲストアカウントが利用可能ですので、アカウントの取得は不要です。ゲストアカウントからは以下の周波数のみしか利用できません。
- 911.000 MHz (ATC-ヘルプ)
- 910.000 MHz (エコーボックス; テスト用)
- 123.450 MHz (Air2Air 1) 
- 122.750 MHz (Air2Air 2) 
''訳注: 2008/1/28現在、Air2Air の周波数は2つとも利用不能です)

** 利用方法 [#tf561844]
FGCOM にはフライトギアモードと ATC モードの2種類の利用方法があります。ここではこれらの利用方法について説明します。

*** フライトギアモード [#fa86fdf0]
フライトギアモードは非常に便利です。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 モード [#yd3aa665]
ATC モード(又はスタンドアローンモード)では、フライトギアを起動する必要はありません。その代わりに、どの空港のどの周波数を利用するかを指定する必要があります。ATC モードでの FGCOM の起動例は以下の通りです。
 $ fgcom -Udemo -Pdemo -aKSFO -f120.500

** トラブルシューティング [#k0be9540]
***テスト [#m894445a]
-マイクとスピーカーをテストする
マイクとスピーカーの簡単なテストと確認は、以下のコマンドで行えます。
 $ fgcom -f910.000
サウンドの構成に異常が無ければ、マイクに向かって話した声は少し遅れてスピーカーから再生されます。

-スピーカーをテストする
また、別のテストを行えます(アカウントの取得が必要です)
 $ fgcom -U<username> -P<password> -aKSFO -f115.800
この例だと、VOR SFOに115.800MHzで接続します。S-F-O(・・・  ・・−・  −−− )というモールス信号が聞こえるでしょう。正常にモールス信号が聞こえればOK - しかし、マイクから音が出ませんか?もしそうなら、別の録音ソフトで正常に録音できるか試したり、alsamixerなど、マイク/スピーカーの音量をチェックできるソフトを起動してみてください。

//Operating system issues
//Missing Libraries
*** 音声関係のトラブル [#a2b70ee8]
- --list-audio のオプションを指定して2つ以上のデバイスが見つかった場合は、どのデバイスがどの番号に割り当てられているかを閲覧する事ができます。--set-audio-in と --set-audio-out オプションに利用したいデバイスの番号を指定すれば、そのデバイスを選択できます。
- 何も聞こえない場合は、--mic、--speaker 及び --mic-boost オプションを指定してボリュームを調整してみてください。
- FlightGear のオプションに --disable-sound を指定してフライトギアのサウンドを無効にしてみると良いかもしれません。

* FGCOM の使用例 [#uab6c898]
ここでは、手動又はスクリプトを利用した FGCOM の使用例を示します。(訳注:スクリプトはありません)

** 管制塔から辺りを見渡しながら無線通信を行う [#h10b0173]
''この例は FlightGear CVS/OSG のみで利用可能です。''

あなたは EDDI (ベルリン テンペルホフ空港)の管制官です。これから示す方法でフライトギア上で航空管制を行いましょう。

まず、mpmap 上で [[EDDT の管制塔>http://mpmap02.flightgear.org/?ll=52.43215291193842,13.405380249023438&z=11&t=s&fg_server=mpserver02:5000,mpserver02.flightgear.org,5001&pilot_label=always&icon_mode=normal]] 付近のマップをブラウザで開きます。次にターミナルから fgcom を起動します。

 $ fgcom -U<username> -P<password>

ここで、(別のターミナルから)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)

** EDDI 周辺を飛行中に無線通信を行う [#xef59129]
この例では、前述した管制官の例とは逆に管制官にコンタクトして管制指示を受けることとなります。まずは先ほどと同じように fgcom をターミナルから起動します。

 $ fgcom -U<username> -P<password>

次に、お好みの航空機と空港を指定してフライトギアを起動します。この時、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 音声を無効にできます。

** 無線を切り替える [#e6da1035]
シフト + スペースキーで無線を変更できる事をご存知でしょうか? 機体が対応していれば、COM1, NAV1, COM2, NAV2 という順番で無線を切り替える事ができます。NAV1 又は NAV2 を選択した場合、無線の到達範囲内であればモールス信号が聞こえるはずです。

** 他の利用方法 [#i2fe8efa]
アイデアがあれば教えてください!

* FAQ [#re172cec]
判らない事があれば、FGCOM-FAQ を参照するか、[[作者迄メール>mailto:wirtz@dfn.de]]を送信してください。(訳注: FGCOM-FAQ はリンク切れです、また作者へのメールは英語かドイツ語でお願いします)
判らない事があれば、FGCOM-FAQ を参照するか、[[作者迄メール>mailto:dcoredump@gmail.com]]を送信してください。(訳注: FGCOM-FAQ はリンク切れです、また作者へのメールは英語かドイツ語でお願いします)

* バグ、制限事項 [#p13cbf4f]
バグ? 何それ? :-p

* 技術情報 [#v23897b0]
fgcom の技術的な説明は [[Technical description>http://squonk.abacab.org/dokuwiki/technical_description]]を参照してください (英文)

* アカウントの取得方法 [#d488601a]
現時点ではオンラインでアカウントを取得することはできません。[[作者迄メール>mailto:wirtz@dfn.d]]してアカウントを取得してください。(訳注: 作者へのメールは英語かドイツ語でお願いします)
現時点ではオンラインでアカウントを取得することはできません。[[作者迄メール>mailto:dcoredump@gmail.com]してアカウントを取得してください。(訳注: 作者へのメールは英語かドイツ語でお願いします)

* FGCOM の今後 [#m51bf5c5]
- iaxclient2 及び Lo-Fi フィルタのようなものを利用した、無線通信らしい音声の実現
- クライアントの現在位置に応じて、同一周波数上の音声をミッスクする Asterisk 用アプリケーション
- &#160;同一マシン上のパイロット間のインターコム
- ATIS の作成に METAR 情報を使用

この魅力的なフライトギアのフィーチャーの開発に参加したい方は、作者までメールで連絡してください。このプロジェクトで苦労や喜びを共に分ち合う「戦友」が増えるととても有り難いです。(訳注: んー、combatants って.... ま、こんな感じなんだろうか? でも FlightGear ってば民間機メインじゃ...)

** Credit [#m071927b]

眠くなったので続く...

----
編集メモ~
トラブルシューティングの項を勝手に翻訳して追加 - sambar~
//cygwinでsvn版をビルドしようと試みたのですが、libiax2/src/iax.cで大量の警告(left-hand operand of comma expression has ho effectとstatement with no effect)が出ました。コンパイルオプションが不適正だったのでしょうか? 
// あれ、trunk の fgcom って iaxclient 1 ベースだった気がしますね....

使用例〜FGCOM の今後までを追加 - Tat~
作者のメールアドレスが変更されていたため、本文中のメールアドレスを修正 - sambar~


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS