[リストへもどる]
一括表示
タイトルIMA ADPCM形式WAVEからのエンコードの際の問題と修正
記事No612
投稿日: 2002/08/16(Fri) 04:22
投稿者ふわふわ
始めまして。ふわふわと申します。IMA ADPCMでエンコードされたWAVEファイルからmp3にエンコードする際に発生する問題を発見しましたので、報告させていただきます。

午後のこ〜だ本体の問題ではないと思われますので、こちらに書き込んでよいものか迷いましたが、もしよろしければ対応いただけたら幸いです。

症状としましては、読み込んだIMA ADPCM形式のファイルの中で、隣接するサンプルA,B間に32768以上大きさの差があると、サンプルBおよびその後続値が異常な値として出力され、ノイズとして聞こえてしまうというものです。

原因を調べましたところ、 petit310pl3\file_io\libsnd\wav_ima_adpcm.c の219行目 で変数diffがshort型として定義されているのが問題のようです。このために、286行目付近でdiffに32768以上の値をセットすると負の値になってしまい、上記症状を起こしているようです。

修正として、diffをint型で定義し直したところ、正常に出力されるようになりました。

サンプルとして、以下のファイルを置いておきました。

午後のこ〜だへの入力ファイル
http://www.aq.wakwak.com/~nishida/snd/ima.wav
修正前の出力ファイル
http://www.aq.wakwak.com/~nishida/snd/err.mp3
修正後の出力ファイル
http://www.aq.wakwak.com/~nishida/snd/ok.mp3

以上、あまり本体と関係のないところで恐縮ですが、修正いただければ幸いです。

http://www.aq.wakwak.com/~nishida/


タイトル IMA ADPCM形式WAVEからのエンコードの際の問題と修正
記事No613
投稿日: 2002/08/17(Sat) 02:18
投稿者PEN@海猫
 サポート担当です。

> 修正として、diffをint型で定義し直したところ、正常に出力されるようになりました。
> サンプルとして、以下のファイルを置いておきました。

 ご報告ありがとうございますm(__)m
 早速修正を取り込ませて頂きます。