Ключевые слова:adpcm, wav, sound, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : yuri@killer.cracksoft.kiev.ua 2:463/169 16 Mar 98 23:07:20
Subj : в FAQ: как сконвертить microsoft adpcm в нормальный wav
________________________________________________________________________________
From: yuri@killer.cracksoft.kiev.ua
Reply-To: yuri@killer.cracksoft.kiev.ua
1) С www.4front-tech.com берём oss/linux binaries (не oss/free, а именно
commercial oss).
2) Из этого пакета нам нужен только бинарик play. Он умеет проигрывать ms adpcm
в /dev/dsp. Если указать ему в качестве девайса some_regular_file - обломается,
т.к. ioctl'и бластерные вызываются и естественно обламываются на regular file.
3) Чтобы избежать облома с ioctl'ями, пишем простой play_stub.c:
int ioctl() { return 0; }
Компилируем его:
$ cc --shared -o play_stub.so play_stub.c
4) Конвертируем adpcm в raw data file:
export LD_PRELOAD=./play_stub.so
touch $outfile
/play -d $outfile [options] some_adpcm.wav
unset LD_PRELOAD
Файл с raw-data готов.
5) Берём sox. Есть в поставке redhat, либо берём с
ftp://sunsite.unc.edu/pub/Linux/apps/sound/converters/sox*
Конвертируем raw data в wav, к примеру. Тут очень важно правильно указать все
параметры - разрядность (byte/word), стиль (signed/unsigned), количество
каналов (mono/stereo), частоту (11/22/44/etc). Причём как для входного, так и
для выходного файлов. Подробности в `man sox`.
--
Yuri Kuzmenko
--- tin/pre-1.4-980226 (UNIX) (Linux/2.1.89 (i586)) * Origin: Software is like sex: it's better when it's free (2:463/169@fidonet)