質問: 音の出ないwaveファイルの修復 スマホの通話録音アプリで録音したwaveファイルがあるのですが、 通話中に圏外になってしまい、強制的にアプリが終了してしまいました。 そのファイルをpcで再生すると最初から最後まで音が出ませんでした。 通常に通話を終了したときのwaveファイルは音声が出ます。 強制終了したときのwaveファイル自体は残っており、ファイルサイズも300m程度あります。 (1時間程度の通話でした。) このwaveファイルの音声が出るようにする方法は何か無いでしょうか? よろしくお願いします。
回答: まずはそのwaveファイルを、バイナリエディタ等で読み込んでみてください。 正常なwaveファイルならば、多少は文字が読み取れたりするヘッダ情報と、ランダムデータに見えるようなデータがずっと続いているはずです。 もしそのようになっておらず、データも 00 00 00 ...みたいに、同じ値がずっと続いている、あるいは ff ff 00 11 ff ff 00 11 ...みたいに同一パターンの繰り返しであったならば、そのファイルは、ファイルサイズが大きいだけの、空のファイルです。 何もないデータから、音声を取り出すことは、出来ません。 でももし、何らかのグチャグチャに見えるデータが入っていたならば、それは音声データかもしれません。 そのアプリで数秒でも録音して、ファイル結合してみます。 ・壊れたファイル aaaa.wav ・数秒録音したファイル bbbb.wav があるとして、コマンドラインから copy /b bbbb.wav+aaaa.wav cccc.wav と入力すると、bbbb→aaaaの順に結合された、cccc.wav が作成できます。 まあ、bbbb.wavの頭にあるヘッダ情報が欲しいため、強引に結合したわけなのですが、それで再生できるようになるかも、しれません。 例)添付画像は、windowsxp の chord.wav をバイナリエディタで読み込んだ物です。 前半にはヘッダの一部である「riff」や「wavefmt」、「data」という文字が見えますし、後半(以降)に見える一見ランダムなデータが、音声データです。