Удалить первые 0,5 секунды из файла Wav

Как я могу удалить первые 0,5 секунды из файла Wav?


person gen-217    schedule 24.01.2011    source источник
comment
Вместо того, чтобы кодировать это самостоятельно, я бы рекомендовал искать библиотеки обработки WAV с открытым исходным кодом, если вы можете их найти.   -  person Juliet    schedule 24.01.2011


Ответы (3)


Вот формат. Вам нужно открыть файл, найти размер заголовка, затем удалить необходимое количество образцов. Вы можете найти количество битов на выборку в заголовке. Для 16-битного WAV-файла с частотой дискретизации 44 100 Гц вам потребуется удалить (16/8) * 44100 * 0.5 = 44100 bytes

person driis    schedule 24.01.2011

Быстрый поиск в Google обнаружил библиотеку, которая может это сделать.

person David    schedule 24.01.2011

Если вам нужно сделать это программно, вам нужен анализатор файлов wav. Общий алгоритм будет

A) open the file
b) find the fmt chunk
c) parse to calculate X =  bytes per sample * samples per second.
d) find the data chunk
e) remove the first X bytes
f) adjust the size of the data chunk
g) adjust the size of the initial RIFF chunk.
h) write the new file.
person AShelly    schedule 24.01.2011