kbmad.kpi Version 0.10

MAD - MPEG audio decoder をベースにした MP3 デコードプラグインです。対応する拡
張子は MP1/MP2/MP3/RMP です。KbMedia Player に標準で同梱されている kbmp3.kpi 
よりも音質が良いらしいですが、私にはよくわからないです。再生時の CPU 負荷は 
kbmp3.kpi よりも高いです。

MAD については

http://www.mars.org/home/rob/proj/mpeg/

を参照して下さい。

kbmad.kpi は標準では kbmp3.kpi よりも優先度が低いため、プラグインフォルダに置
いただけでは使用されません。kbmad.kpi を使用して MP3 を再生したい場合は、
「ヘルプ」→「プラグイン情報」で kbmp3.kpi を使用しないように設定して下さい。

上の方に表示されているものほど優先順位が高いです。kbmad.kpi より上に表示されて
いるプラグインのうち、対応拡張子が MP3 のものはすべて無効にして下さい。

なお、kbmad.ini ファイルを書き換えることによって、24bit/32bit での出力等ができ
るようになります。kbmad.ini は初回ロード時に自動的に作成されます。

「BitsPerSample」は 8/16/24/32 のいずれかを指定します。初期設定は 16 bit です。
24 や 32 を指定すると、少しだけ音質が向上しますが、その分再生負荷が高くなりま
す。使用する waveOut/DirectSound デバイスが対応していないと意味がありません。
（デバイスが対応していない場合は KbMedia Player 本体が 16bit に変換して再生し
ます）

KbMedia Player 本体の 24bit/32bit 出力の設定が有効になっている場合は、INI ファ
イルの内容は無視します。本体から適切なビット数が要求されるためです。

KbMedia Player 本体の 24bit/32bit 出力の設定が無効な場合、24bit/32bit は 
KbMedia Player が内部的に 16bit に変換します。なので、実質的にはこの設定は8bit
出力したいときしか意味を持ちません。8bit 出力するメリットはほとんどありません
ので、「BitsPerSample」の設定は限りなく無意味に近いと言えます。（ぉぃ


「EnableDither」は 0 で無効、1 で有効です。1 を指定すると音質が少し変わります。
8bit で再生している場合は音質が多少改善されるかもしれません。

設定の変更は、ファイルを開き直したときに反映されます。KbMedia Player を起動し
直す必要はありません。



kbmad.kpi には Robert Leslie 氏作の libmad 0.14.2 beta のソースコードが組み込
まれています。元ソースは GPL ですので、kbmad.kpi も GPL に従います。
一部ですが、柴田氏、Yunasoft 氏、Moka 氏、おたちゃん氏制作の 

in_mpg123.dll(otmpg123.kpi)

のソースコードが組み込まれています。（演奏情報取得の部分）


kbmad.kpi のソースが欲しい方は、2004/08/16 現在

http://hp.vector.co.jp/authors/VA015058/source/

に置いてあるのでダウンロードして下さい。KbMedia Player のプラグインを作ってみ
たい方は参考にして下さい。

万が一削除されている場合や、ソースが古い場合は作者(Kobarin) までメールを下され
ば、最新のソースをお送りします。


更新履歴

Version 0.10(2005/07/10)

・モノラルのデータを 32bit 以外で再生すると落ちるバグを修正

Version 0.09(2005/01/31)

・シークすると再生位置がずれてノンストップ再生が出来ないのを修正
・LAME Tag がついたデータを再生すると落ちることがあるバグを修正

Version 0.08(2004/08/16)

・エラーチェックを強化（nekonin さんによる改良）
・ギャップレス再生に対応（LAME でエンコードしたもの）

Version 0.07(2004/07/18)

・データによっては 0 による除算で落ちるのを修正
・ディザの有効・無効の設定変更を監視し、変更されてたらすぐに反映されるように
  するための隠し機能を kbmad.ini に記述

Version 0.06(2003/02/26)

・不本意ながら（ぉぃ）、無圧縮 ZIP.MP3 への対応を強化
  ・ZIP.MP3 の ZIP ヘッダ部分を無視することにより、１曲目が再生される可能性が
    高くなった（２曲目以降が再生されるかどうかは保証出来ない）
  ・VBR な無圧縮 zip.mp3 の曲長計算の方法を修正（１曲目の曲長とファイルサイズ
    を元に概算値を求める）

Version 0.05(2003/02/24)

・本体からのビット数要求が 32bit/64bit float の場合は 32bit int で出力するよう
  に修正（今までは 16bit int で出力していた）

Version 0.04(2002/06/10)

・エラーが見つかっても出来るだけ再生するように修正

Version 0.03(2002/05/28)

・KbMedia Player 本体からのビット数の要求に対応
・INI の BitsPerSample の指定よりも本体からの要求を優先するため、INI での設定は
  事実上無意味になった（ぉ

Version 0.02(2002/05/19)

・デフォルトではディザを無効にするようにした
・8/16/24/32bit 再生とディザの有効・無効を ini で設定出来るようにした
  （設定はファイルを開く度に読み込まれます）

Version 0.01(2002/05/13)

・初版

-------------------------------------------------------------------------------
Kobarin(hidkob@pb.highway.ne.jp)
http://home7.highway.ne.jp/Kobarin/
