The programs vox and devox are C programs developed 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. 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, and I am longer work in the voice processing industry.
Vox works on all known versions of Unix, including Linux.
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.
Edgar-pg272.jpg, Edgar-pg273.jpg, Edgar-pg274.jpg, Edgar-pg275.jpg, Edgar-pg276.jpg.
Since developing the program, 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: