忍者ブログ

あやの

NゲージをベースとしたDCCについての日記を 書いています。 ある程度貯まりましたら、鉄道模型のDCCのまとめサイトに まとめています。 借りている容量が最大に達しましたので、移転します。 ★移転先:http://maison-dcc.sblo.jp/

2025/02    01« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  »03
ちょっとググったら、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資料の読み込みが甘かったですね(^^;

拍手[0回]

PR
どうやら、512ポイント毎にscale値が最大の8になることで、PCM変換値が大きくずれていそうな
感じであった。
デコーダープログラムになんらかの補正を入れる必要があるのでしょうか・・・


今日調べた内容を追加しました。
http://1st.geocities.jp/dcc_digital/ima_adpcm.html

拍手[0回]

PCMとIMA ADPCMの音質の比較ですが、私の耳では気になりませんでした(^^;
しかし、下図のようなSIN波では、振幅の変動が入り、音質が低下したことが
わかってしまいます。

Audacity での波形プレビューでは、IMA ADPCM波形で急変するような所は
無いんですよねぇ・・・


1kHzのSIN波を8倍の8kHzでサンプリングしているから、1周期8ポイントしか
無いので、仕方が無いですけどね?
(本当か?!)

拍手[2回]

WindowsXPのサウンドサウンドレコーダーが必要ですが、
IMA ADPCMに変換することができます。




でも、0xFFが作られるので、同じ感じなので、IMA ADPCMエンコーダ側に
処理だ足りないのかな。

拍手[0回]

さて、IMA ADPCMを使っているのですが、再生時に「プチ」音が入り込むので、
今日は1kHzのサイン波をIMA ADPCM変換して、スマイルデコーダーを使って、
PCMへデコードさせてみた。

そのデータを使って波形を作ると以下のように、途中波形が崩れてしまうことがわかった。
赤:PCMデータ
青:IMA ADPCMデータ(極性bit+振幅data)なので、波形にするには適しませんが・・・
 
IMA ADPCMデータを眺めると「,0xc1,0xff,0x51,」のように、0xff が入っていると、おかしくなってしまうのは、わかってきたのですが、
Audacityの波形表示ではちゃんと表示されているようですし・・・
デコーダプログラムに足りないアルゴリズムがあるのか?

手っ取り早く、エンコーダーを変えてみようかなーと考え中。

拍手[0回]

ブログ内検索

プロフィール

HN:
あやのすけ
性別:
非公開
<< Back  | HOME Next >>
Copyright ©  -- あやの --  All Rights Reserved
Design by CriCri / Material by もずねこ / powered by NINJA TOOLS / 忍者ブログ / [PR]