« FDMDV・その2 | トップページ | 14MHzでFDMDVを発見 »

2007年12月 7日 (金)

melp_1400.dll について

 FDMDV に必要な melp_1400.dll について、いくつか質問がありましたので、こちらにも記述しておきます。

 melp は TI(テキサスインスツルメント)社が開発した音声用のコーディックで、携帯電話などに使われています。 人間の音声に最適化されている様で、低いビットレートで比較的良質の音声コーディックが可能になっています。 この分野は各社が開発にしのぎを削っており、各社は開発物の権利に非常に神経質になっています。 melp についても、その改変したものも含めてTI社が著作権を主張しており、どんな用途であれ、バイナリでの配布を禁止しています。 melp_1400.dll は melp を改変したもので、TI社の著作権の対象となる様です。

---------------------------------------------------------------------------
(お詫びと訂正)
 2番目の画像とその説明が間違っていました。 うまく行かなかった方は、申し訳ありませんが、訂正(2007.12.08, 16:30)したものに従って、もう一度試して下さい。

---------------------------------------------------------------------------

 従って、現在、melp_1400.dll は、どこのサイトからもダウンロードする事は出来ません。

 DRMDVでmelp_1400.dllを使われていたのなら、それを、そのまま使う事が出来ます。

 WinDRMで使われていたmelp_dll.dllは使う事は出来ません。 これは、melp標準の2400bps対応のものなので、DRMDVやFDMDVのような伝送帯域が1400bpsでは使う事が出来ません。 リネイムして使うと、一見、使えている様に見えますが、デコードした音声はひどい音になっています。 DRMDVやFDMDVは、以下に記述した方法で作成した1400bps対応のmelp_1400.dllが必要となります。

 さて、上に述べた様に、melp_1400.dllはどこからもダウンロード出来ません。 但し、標準のmelpのソースコードは公開されていますので、趣味で使う分にはソースコードを修正してコンパイルすれば作り出す事が出来ます。 FDMDV や DRMDV のダウンロードサイトでは、各自でコンパイルする方法を推奨しています。

 ソースコード及びコンパイラの入手、及び、コンパイル方法は、N1SU のサイトより、リンクが張ってありますこちらのウエブサイトに記述されています。

このサイトには
1.コンパイラ(VC, Visual C++、フリー)の入手方法とインストール方法
2.ソースコードのダウンロード方法
3.ソースコードの修正、及び、コンパイル方法
4.コンパイル結果のロード方法
等が記述されています。

 現在、この方法以外に、合法的に melp_1400.dll を手に入れる方法はありません。

 ところで、上記のサイトで紹介されているのは英語版ですが、日本語版のコンパイラ(VC, Visual C++、フリー)を、マイクロソフトのこちらのサイトより入手できます。

 この、日本語版コンパイラを使って、melp_1400.dll を作成してみましたので、以下に紹介します。 文章で記述すると長いですが、実際にやってみると、意外に簡単にできますので、是非トライして、melp_1400.dll を入手し、デジタル音声を体感して下さい。 なお、デジタル音声でのオンエアにはG1Eの免許が必要です。 取得方法などについては、JH3ECAさんのサイトに詳しく述べられています。

--------------------------------------------------------------------------
 まず、マイクロソフトのサイトよりコンパイラを入手します。 登録などが必要ですが、無料で、簡単にできます。 コンパイラのインストールはウエブサイトから直接出来るようです。 オプションは Graphical IDE を選択します。

 コンパイラのインストールが出来たら、次はソースコードの入手です。 こちらのサイトよりダウンロードし、適当なフォルダに解凍 (unzip) します。

 解凍内容を確認したら、解凍したファイルの中から melp_dll.dsw を探しだし、ダブルクリックします。

【補足】 ダブルクリックで「Visual C++ 2005 Express Edition」が立ち上がらない場合は、拡張子dswの関連づけが出来ていませんので、「Visual C++ 2005 Express Edition」を「スタート」-「すべてのプログラム」から選択して立ち上げから「ファイル」-「開く」で melp_dll.dsw を開いて下さい。

071207_melp_1400_dll01

 上の様な表示が出たら「すべてはい」をクリックします。

071207_melp_1400_dll02

 すると、「melp_dll - Visual C++ 2005 Express Edition」 と言う窓が開きますので、「ビルド」-「構成マネージャ」を選択します。

071207_melp_1400_dll03

 「構成マネージャ」と言う窓が開いたら、「Release」を選択し、「閉じる」をクリックします。

071207_melp_1400_dll04

 次に「ソリューション・エクスプローラ」窓の「melp_dll」をクリックし、「プロジェクト」-「プロパティ」を選択します。

071207_melp_1400_dll05

 「melp_dll プロパティページ」の窓が出たら、「構成」窓の「構成プロパティ」-「リンカ」-「入力」を選択し、右の窓に表示された「追加の依存ファイル」欄の「odbc32.lib odbccp32.lib」を消去します。(マウスで選択して Delete でまとめて消去するか、1文字ごと消去しても良いです) 消去し終えたら「OK」をクリックしておきます。

071207_melp_1400_dll06

 以上が終了したら、「ファイル」-「終了」で「melp_dll - Visual C++ 2005 Express Edition」を終了します。 このとき、上の画像の様に保存を尋ねてきますので「はい」をクリックします。

 次に、先ほど解凍した melp_dll のディレクトリの中から、「melp_dll.sln」を探し出し、ダブルクリックします。

【補足】 ダブルクリックで「Visual C++ 2005 Express Edition」が立ち上がらない場合は、拡張子slnの関連づけが出来ていませんので、「Visual C++ 2005 Express Edition」を「スタート」-「すべてのプログラム」から選択して立ち上げてから「ファイル」-「開く」で melp_dll.sln を開いて下さい。

071207_melp_1400_dll07

 「melp_dll - Visual C++ 2005 Express Edition」窓が開いたら、「ソリューション エクスプローラ」窓の Header Files の中から melp.h を探しだし、ダブルクリックしますと、右の窓に、 melp.h のソースコードが表示されます。 ソースコードの中から「#define FRAME 180」を探しだし「#define FRAME 320」と修正します。

071207_melp_1400_dll08

 ここまで出来たら、コンパイルをし直します。 「ビルド」-「melp_dll のリビルド」をクリックしますと、コンパイルを始めます。 パソコンによっては、少し時間が掛かるかもしれません。 まあ、コーヒーでも一杯と言ったところでしょうか。

071207_melp_1400_dll09

 しばらくして、上の画像の様なメッセージが出れば、コンパイルおよびリンクが成功です(おめでとう!)

071207_melp_1400_dll10

 「release」ディレクトリの中に「melp_dll.dll」が最新の日付で出来上がっているはずです。
このファイルを FDMDV のディレクトリにコピーし「melp_1400.dll」とリネームすれば完了です。

|

« FDMDV・その2 | トップページ | 14MHzでFDMDVを発見 »

アマチュア無線」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/192570/17297204

この記事へのトラックバック一覧です: melp_1400.dll について:

« FDMDV・その2 | トップページ | 14MHzでFDMDVを発見 »