あやの
NゲージをベースとしたDCCについての日記を 書いています。 ある程度貯まりましたら、鉄道模型のDCCのまとめサイトに まとめています。 借りている容量が最大に達しましたので、移転します。 ★移転先:http://maison-dcc.sblo.jp/
ちょっとググったら、Lynx-EyEDの電音鍵盤 新館さんのWebサイトで
ADPCMブロック
http://lynxeyed.hatenablog.com/entry/20081115/1226753422
サンプリング周波数によってブロック長は違う
http://lynxeyed.hatenablog.com/entry/20081130/1228044994
を見つけました。
どうやら、先頭から20,21Byte目のnBlockAlign で設定されている 0x0100 が重要で 256Byte毎に
最初のサンプル値と、ステップ(量子化テーブル)が来るようです。
これを取り込む処理を追加する必要がありますね。
カメラ映像機器工業会
CIPA DC-008-2012 デジタルスチルカメラ用画像ファイルフォーマット規格 Exif2.3 (本体+正誤表)
この資料がすごく役に立ちました。117ページの【5.5.4 IMA-ADPCM Audio dataの基本構造】
マイクロソフトのRIFF資料の読み込みが甘かったですね(^^;
PR
さて、IMA ADPCMを使っているのですが、再生時に「プチ」音が入り込むので、
今日は1kHzのサイン波をIMA ADPCM変換して、スマイルデコーダーを使って、
PCMへデコードさせてみた。
そのデータを使って波形を作ると以下のように、途中波形が崩れてしまうことがわかった。
赤:PCMデータ
青:IMA ADPCMデータ(極性bit+振幅data)なので、波形にするには適しませんが・・・
IMA ADPCMデータを眺めると「,0xc1,0xff,0x51,」のように、0xff が入っていると、おかしくなってしまうのは、わかってきたのですが、
Audacityの波形表示ではちゃんと表示されているようですし・・・
デコーダプログラムに足りないアルゴリズムがあるのか?
手っ取り早く、エンコーダーを変えてみようかなーと考え中。
今日は1kHzのサイン波をIMA ADPCM変換して、スマイルデコーダーを使って、
PCMへデコードさせてみた。
そのデータを使って波形を作ると以下のように、途中波形が崩れてしまうことがわかった。
赤:PCMデータ
青:IMA ADPCMデータ(極性bit+振幅data)なので、波形にするには適しませんが・・・
IMA ADPCMデータを眺めると「,0xc1,0xff,0x51,」のように、0xff が入っていると、おかしくなってしまうのは、わかってきたのですが、
Audacityの波形表示ではちゃんと表示されているようですし・・・
デコーダプログラムに足りないアルゴリズムがあるのか?
手っ取り早く、エンコーダーを変えてみようかなーと考え中。
ブログ内検索
カテゴリー
最新記事
(12/31)
(12/31)
(12/29)
(12/23)
(12/18)
リンク
プロフィール
HN:
あやのすけ
性別:
非公開