UYOの部屋/特別企画/サウンドカード デジタル入力への道

特別企画

間違いサンプリングレートの直し方

(2000/11/16 追記)
 ようやく、この問題を解決するツールを作りましたので、そちらをご使用になることをお勧めします。従来のバイナリエディタを使った方法は分離しました。どうしてもという方は、下のリンクからどうぞ。
 →古い記事へ

 AudioPCIでデジタル音声を取り込んだときによくやってしまう失敗が、サンプリングレートの設定ミス。取り込み始めて「しまった!」と思ったときにはもう遅いのが現実です(^^;
 そこで、WAVEファイルのヘッダを書き換える拙作のツールを使って、サンプリングレート情報を元に戻す方法を紹介します。

ご注意

 ソフトウェアのデバッグは一応してありますが、完全な保証は致しかねますので、ご心配ならバックアップをお勧めします。

#初版:1999/1/9
#自作ツールによる方法に切り替え:2000/11/16

1.使用するソフトウェアの用意

 当サイトのソフトウェアのページからダウンロードできる、FSCHANGEというツールを使います。Win32のコンソールアプリですが、コンソールアプリが苦手な方にも使えるようにしてありますので、ご安心を。

 ダウンロードしたlzhファイルを解凍し、中身を適当なフォルダにコピーしてください。実行ファイル ( fschange.exe ) のショートカットをデスクトップに作っておくと、楽かもしれません。

2.ヘッダの書き換え

 実行ファイル ( fschange.exe ) あるいはそのショートカットに、サンプリングレート情報を書き換えたいWAVEファイル(1個)をD&D(ドラッグ&ドロップ)します。するとコマンドプロンプトのウィンドウが開き、次のような表示になります。



ここで、書き換えたいサンプリング周波数(Hz)をキーボードから入力し、Enter キーを押します。もしキャンセルしたい時は、何も数字を入れずにEnter キーのみを押します。


48kHzに変更した例

これで終了です。
コマンドプロンプトのウィンドウを閉じます(自動で閉じる場合もあります)。

なお、もちろんコマンドプロンプトから手動で動かすこともできます。詳細は添付のテキストをご覧ください。


3.書き換えの確認

 きちんと書き換えられたかどうか調べるには、ファイルのアイコンを右クリックして、「プロパティ」を選んで表示し、その中の「詳細」を見るのが簡単です。正常に書き換えが行われていれば、以下のようにきちんとフォーマットが表示されるはずです。値が正常でない場合は、サンプリングレートなどの表示がされず空白になってしまいます。


書き換え(44.1kHz→32kHz)に成功した場合


書き換えに失敗した場合

 ここで注意しなければならないのは、32kHzや48kHzのサンプリングレートに対応していないサウンドカードのドライバがある場合(Windowsのサウンドレコーダーなどで、形式の変換先に48kHz等の指定が存在しない場合)、書き換えた値が正常でもプロパティの表示が空白になってしまうことがある、ということです。古いサウンドカードのドライバ、具体的には私が以前使っていたSB AWE32の旧ドライバ等が該当します。大抵の場合、最新のドライバに更新したり、DirectXのインストールなどで解決するようですが、念のため。




目次へ戻る    トップページへ