0

データを回復しようとしている破損したWAVファイルがある状況があります。

私の同僚は、大きなWAVファイルを適切なヘッダーを持つ小さなWAVファイルにスライスしました。これはいくつかの興味深い結果を生み出しました。

1MBのセグメントにスライスすると、次の結果が得られます。

  • 最初のWaveファイルセグメントはすべてノイズです。
  • 2番目のWaveファイルセグメントが歪んでいます。
  • 3番目のWaveファイルセグメントは明確です。

このパターンは、ファイルの長さ全体にわたって繰り返されます(小さなファイルに分割された後)。

20MBスライスの場合:

  • 最初のWaveファイルセグメントはすべてノイズです。
  • 2番目のWaveファイルセグメントは明確です。
  • 3番目のWaveファイルセグメントが歪んでいます。

この場合も、このパターンはファイルの長さ全体にわたって繰り返されます(小さなファイルに分割された後)。

なぜこれが起こっているのか誰かが知っていますか?

4

1 に答える 1

2

WAVに非圧縮(生)サンプルが含まれていると仮定すると、回復は簡単です。サンプルフォーマットを知る必要があります。例:16ビット、2チャンネル、44100 Hz(CD品質)。セグメントの1つは問題ないので、これを見て、正しい値が何であるかを理解できます。

次に、Adobe Audition(以前のCool Edit)、または生データのインポートをサポートするその他のWaveエディターで、これらの値を使用してWAVを開きます。

編集:さて、あなたの質問に答えましょう。一部のセグメントは明確です。これは、位置合わせが正しいためです。前に説明したように、CDの品質をもう一度取得します。1つのサンプルのバイトは次のようになります。

left_channel_high | left_channel_low | right_channel_high | right_channel_low

(ここでの順序はわかりませんが、これは単なる例です。)したがって、最初のデータバイトは左チャネルの最上位バイトである必要があります。そうしないと、2つのサンプルのフラグメントが次のように解釈されてしまいます。 1つのサンプル全体:

left_channel_low | right_channel_high | right_channel_low || left_channel_high
-------------------part of first sample------------------ || --second sample--

ここですべてが「シフト」していることがわかります。これは、ファイルスライスのサイズがサンプルサイズ(バイト単位)の倍数ではないために発生します。

運が良ければ、これはチャネルが交換される原因になります。運が悪ければ、上位バイトと下位バイトが入れ替わります。興味深いことに、これは一種の認識可能な、しかしひどく歪んだオーディオにつながります。

私を困惑させるのは、あなたが報告するパターンが3つのブロックで繰り返されることです。上記から、私は2つまたは4つのいずれかを期待します。おそらく、24ビット(3バイト)などの通常とは異なるサンプル形式を使用していますか?

于 2009-11-12T19:12:50.713 に答える