Vox Audio File Conversion
Vox and devox is a program I wrote in 1997 when I worked at Sprint to
convert audio files between OKI ADPCM (Dialogic vox) file format
and linear audio files, which work with PC audio hardware.
Originally, I posted the code to
ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/vox.tar.gz.
I now maintain it on my own web page.
Conversions to/from other formats can be accomplished with
sox.
No current development work is going on with
the vox program. It is believed to do its intended job.
I am no longer working in the voice processing industry.
Vox works on all known versions of Unix including Linux. I believe it can
also be compiled with the Cygwin environment for Windows, although I've not
tried it.
The Standard
I originally wrote the program based on a description of the algorithm
found in the book "PC Telephony - The complete guide to designing,
building and programming systems using Dialogic and Related Hardware"
by Bob Edgar, pg 272-276, third edition, 1995, Flatiron Publishing,
Inc., New York.
Relavent pages are shown here (scanned). I think the book is out of
print, so hopefully listing a few pages from the book is okay.
Page 272,
Page 273,
Page 274,
Page 275,
Page 276.
Since then I found that Dialogic published a standard
for the ADPCM algorithm. Here is the standard,
as once posted on Dialogic's web
page. I don't know if they still post the standard.
Disclaimer: (dated 6/26/2003)
A few people have pointed out to me that there is a minor difference
between my program and the Dialogic standard. The difference relates
to how the step size is calculated. The difference is also
reflected in Edgar's text, which my code is based on. I don't how or
why the difference arouse. I have a few comments about said
difference:
- I wrote the program to a published algorithm available to me at the
time.
- I might be able work on a new version of the program which will
match the Dialogic standard; however, since I am not in the voice
processing industry, I don't have any hardware to use to test the new
code. If you have some hardware and are willing to help with testing,
let me know. I don't get the impression that there is much demand for
a new version of it.
- The differences seem to be fairly minor. If you just want to be
able to do simple conversions for listening purposes, my code as it is
will work for you. If you require exact conversion, then my code may
not be what you want.
Zip file
Copyright 2003, Tim Bower
tim@ksu.edu