Wave Replace v1.13

雑誌掲載履歴

アスキー PC Explorer 2003年6月号
定番オンラインソフト激裏活用術(無料で超実用)PC-GIGA 36
Windowsの禁じ手ツール
PC Japan 2003年9月号
iP! 2003年11月号
Windows XP World vol.2
DivX & WMV+α
DiGi/USER 2004年1月号


wreplace113.zip MD5= 782666d23488372008c4b374913babe9





はじめに

開発環境にDelphiを加える一環として、VBで開発したWave ReplaceをDelphiに移植することにしました。

作成のきっかけ

ファイルサイズが100MBを越すようなWAVファイルを、編集ソフトで読み込もうとすると、
搭載メモリー量によっては、編集のたびに、仮想メモリーへのスワップ処理が発生し、
なかなかはかどらないことがあります。
そこで、編集したい部分だけのWAVファイルを作り、それに必要な編集をし、
編集が済んだら、元のWAVファイルに戻すことができれば、必要なメモリーは
少なくて済むし、何かと便利じゃないか?と思い作成してみました。

作者自身、必要に迫られて作ったものです。


機能

・取り出し
WAVファイルの開始位置と取り出し時間を指定し、編集が必要な部分のみのWAVファイルを作ります。
また、同名のINIファイルも作り、そこには、元ファイルの名前や、取り出した位置が記されています。

・置き換え
必要な編集が済んだWAVファイルを、元のWAVの取り出した位置に戻します。


操作

例)1時間のWAVファイル中の、30分あたりにノイズがあるので、それを処理したい。(1h.wav)

1.対象WAV File読み込み
参照ボタンをクリックし、ダイアログ経由。また、エクスプローラからwavファイルをドロップ(フォームのどこか)します。
1h.wavを指定します。
すると、演奏時間とWAV属性(Stereo/Mono 8/16bit 周波数)が表示されます。
読み込めるWAVファイルは、Stereo/Mono 8/16bit 11.025/22.05/44.1kHz 等Windowsで
標準的に扱えるものは大丈夫だと思います。
※作者は専らCD音質のWAVしか扱わないため、他のWAVは少々不安。

2.30分あたりから1分間、取り出したいので、
ラジオボタン ●取り出し開始位置(分)が選択されていることを確認の上、
スライダーをドラッグし、枠内の数字を30にします。
取り出し長さを2分にするので、コンボボックスの選択を2にします。
コンボボックスには、あらかじめ1〜10までの数字が登録されています。
なお、WAVファイルの最後から取り出す場合は、●WAVの最後から を選択すればできます。
取り出し開始位置と取り出し長さを指定したら、WAV保存をクリックします。

すると、対象WAV Fileと同じフォルダに、
1h-30-2.wav というファイルと、1h-30-2.iniというファイルができます。
1h-30-2の命名は、元のファイル名に、取り出し開始位置の数字と取り出し長さを-で
付加しています。WAVの最後から取り出した場合は、-L-??となります。
iniファイルには、対象WAV Fileのフルパス名と、取り出し開始位置と取り出し長さの
値が記されています。
このiniファイルは絶対に変更しないでください。内容が変わってしまうと、
正常に元のWAVファイルに戻せなくなります。

後は、1h-30-2.wavを好きなように編集してください。
ただし、演奏時間が変わってしまうような編集は避けてください。
元のWAVファイルに戻した時にうまくいかない場合があります。

3.置き換え
INIファイルをフォームにドロップします。iniファイルであれば置き換え枠内の白い部分に登録されます。
複数の場合は、一気にドロップしても、複数回のドロップでも構いません。
1h-30-2.iniを選択します。
実行をクリックすると、自動で、対象WAV Fileを開いて、編集したWAVファイルのデータを取り出した
位置に戻し(置き換え)ます。
リストクリアをクリックすると、リストの中身が消えます。

これで、結果的に、特定の位置のWAVを編集したことになります。

対象WAV Fileを取り出し開始位置の少し前から再生してみると、取り出し開始
位置から編集したWAVの内容に置き換わっていることが確認できます。


注意事項

置き換えをクリックし、iniファイルを選択すると、対象WAV Fileは、
取り出したWAVファイルの内容に書き換えられますので、対象WAV Fileは、
適宜、バックアップをとっておいてください。
取り出しWAVを作成した時の、対象WAV Fileのパス名をiniファイルに記録
してあるので、置き換え時に、対象WAV Fileが違うところに移動されていると、
置き換えに失敗します。


インストール・アンインストール

当アーカイブを解凍後、wreplace.exeを実行してください。
レジストリは一切いじりませんので、アンインストールは
wreplace.exeを削除するだけで済みます。

開発環境

Windows2000Pro SP2
Delphi 6 Personal(無償版)

動作環境

動作確認は、Windows2000,XPで行っています。
また、起動確認は、Windows98SE,Meで行っています。

注意
起動確認とは、起動時に何らかのエラーが発生しないことを示します。
実際の処理の確認まではしていません。

なお、上記は、すべて作者環境で確認した結果です。

免責・その他

このソフトは、フリーソフトとして公開します。
著作権は、作者が保有します。
このソフトに起因すると思われるトラブルにより、何らかの損害が生じたとしても
作者は責任を負えません。すべては、自己責任の上、お願いします。
二次配布は自由に行って構いませんが、その際にアーカイブを改変することは禁止します。
なお、パソコン雑誌等のCD−ROMにて、ソフトを収録する場合は、必ず事前にメール
(yakki_@hotmail.com)で連絡ください。
これは、 どの雑誌で紹介されているのか作者として把握したいことが第一の理由です。
Delphi 6 Personalで開発しているので、商用・業務での使用はしないで下さい。

更新履歴

v1.13 2004.2.23
・特定のソフトで出力したWAVEファイルから取り出したWAVEファイルが再生できない不具合を修正
・2分未満のWAVEを読み込んだときに強制終了することがあるのを修正
・1分未満のWAVEを読み込んだときに取り出し開始位置の指定が無効になるようにした

v1.12 2003.11.29
・ファイル名に全角文字が含まれていると正しく処理しない不具合を修正

v1.11 2003.11.19
・1時間超のWAVEファイルの再生時間が正しく取得できなかった不具合を修正

v1.10 2003.10.23
・ファイルオープンモードをfmShareDenyWriteに変更した

v1.10β1 2003.10.19
・開発環境をVBからDelphiに移行しました

v1.02 2003.7.30
・対象WAVファイルの読み込みをD&Dに対応させた。
・置き換えのINI読み込みをリスト化し、複数の置き換えを一括でできるようにした。
※これまでの置き換えは単独実行に移行

v1.01 2003.5.11
・一部のソフトで保存したWAVEファイルのヘッダー情報(演奏時間)を正しく取得するようにした

v1.00 2003.1.31
初版公開