Если WAV содержит несжатые (необработанные) образцы, восстановление должно быть простым. Вам нужно знать формат образца. Например: 16 бит, два канала, 44100 Гц (это качество CD). Поскольку один из сегментов в порядке, вы можете посмотреть на это, чтобы выяснить, каковы правильные значения.
Затем просто откройте WAV, используя эти значения, например, в Adobe Audition (ранее Cool Edit) или в любом другом волновом редакторе, который поддерживает импорт необработанных данных.
Редактировать : Хорошо, теперь ответим на ваш вопрос. Некоторые сегменты понятны, потому что тогда выравнивание правильное. Возьмите качество CD снова, как я описал ранее. Байты одного образца выглядят так:
left_channel_high | left_channel_low | right_channel_high | right_channel_low
(Я не уверен насчет порядка здесь! Но это только пример.) Таким образом, первый байт данных должен быть самым старшим байтом левого канала, иначе вы получите фрагменты двух выборок. интерпретируется как единый образец:
left_channel_low | right_channel_high | right_channel_low || left_channel_high
-------------------part of first sample------------------ || --second sample--
Вы можете видеть, что здесь все «смещено», что происходит потому, что размер ваших файловых фрагментов не кратен размеру выборки в байтах.
Если вам повезет, это просто приведет к замене каналов. Если вам не повезло, старшие и младшие байты меняются местами. Интересно, что это приводит к узнаваемому, но сильно искаженному звуку.
Что меня озадачивает, так это то, что шаблон, о котором вы сообщаете, повторяется в блоках three . Из вышесказанного, я бы ожидал, два или четыре. Возможно, вы используете необычный формат семпла, например 24-битный (3 байта)?