Подскажите, плиз — уже 13й день головой бьюсь об стену.
Основной алгоритм взял из файла vcnvt.c :
вот тут
Файлы wav уже сделаны в формате 9600, моно, 8 бит. Перед конвертацией несколько wav файлов сливается в один.
То есть часть собственно данных именно в формате PCM без сжатия, который аналогичен VOC файлам. Конвертирую в ADPCM 3 bit для Zyxel 1496.
Конвертация нормально работает только до первой секунды, потом все съезжает черт знает куда.
В модеме все это хрипит. и свистит потом.
Контрольная переконвертация из zvd файла обратно в вав (программой ZyxelWave by Norbert IGL) дает совершенный бред.
Примеры:
входный файл wav :
in.wav
Выходный файл wav:
in.wav
Выходный файл wav:
in.wav
Кусок кода, непосредственно производящий конвертацию:
adpcm.cpp
Выглядит это примерно так:
Вообщем любой блок более 1 секунды при конвертации начинается портиться...