DC offset in Audacity?

I am working with ADPCM 8k .vox files.

When I load it into Audacity 1.3.12 I am getting obvious DC Offset issues where the waveform drops lower and lower off of the x axis and digital artifacts become greater.

When we load it into 1.2.6 we have no issue.

I have opened it in Adobe Audition with no issue. I have also put a high pass filter in the audio and resaved as a AMCPDM .vox and imported into Audacity without issue. Which makes me pretty sure this is a DC offset problem.

Can anyone clarify what exactly is happening here? I am not very knowledgeable of DC offset.

.VOX files can be tricky. It’s also a very old (obsolete) format that is rarely used these days, but I presume that you got the files from some old system? What are the files, and roughly how big are they?


They are used by my company to support a telecom media service. We provide them to another company that actually converts them to g.711.

Here is the process.

We receive an 8k .wav that we encode into a 32k .vox. We give this to a hosting company that converts it to g.711. They are getting quality issues that are similar to what happens when we open up the .vox in Audacity 1.3.12.

I am just unsure exactly why this DC offset is happening for them and us when we open it in Audacity.

The files are very small 30 seconds data size of 192kb. Would it be helpful if I posted one here?

Yes please do.
If the forum software will not accept the .VOX extension you could try adding “.wav” onto the end of the file name. (filename.vox.wav)


The forum wouldn’t allow vox, like you asked I changed file extension to .wav

Any thoughts?

I am able to correct if I take this file and put a pretty heavy highpass filter on it.

I can’t open it.

What happens when you run Effect > Normalize > Remove DC?


I’ve tried a couple of other programs to decode the .vox file and I’m getting exactly the same result with all of them, so it looks to me as if the problem is with the files rather than with Audacity. Curiously, the only program I’ve tried that doesn’t produce the DC off-set is Audacity 1.2.6, which leads me to assume that the converter in Audacity 1.2.6 is automatically high-pass filtering the output data.

I can produce a very similar output to Audacity 1.2.6 by applying a high-pass filter to the converted audio. There’s no real audio data in the file much below 100 Hz, so a simple first order high-pass filter at 60 Hz will do a good job.

You have to import it as “Raw Data” and specify that the encoding is “VOX ADPCM”, channels = 1 and the sample rate = 8000.

It just shifts the wave-form so that half of it has a positive off-set and half has a negative off-set.
Strictly speaking this is not “DC” off-set. It is subsonic amplitude modulation. This is one case where high pass filtering wins.

How would the subsonic amplitude modulation slowly pull the waveform off of x axis and create the distortions and artifacts over time?

Sorry for the n00b questions. I am trying understand this properly.

Also, thanks again for your time.

Sorry about the delay replying.
What I meant about “subsonic amplitude modulation” was that the problem waveform is not like normal DC offset, but looks more like the waveform was being “modulated” by a very low frequency. To be precise “modulation” is the wrong word, it’s actually just an addition of a very low frequency component.

Here’s some pictures to explain:
The first track shows DC offset. Note how the entire waveform is shifted up a bit. If the waveform is “off-set” either up or down from the centre line, then it is called “DV offset”.

The second track shows the same waveform, but rather than a DC (direct current) offset, it has a low frequency waveform added to it. Some parts of this wave show greater similarity to your waveform than the simple DC offset, but it still does not look quite right.

The third track shows a gradually increasing (negative) drift. This looks a lot more like your example.

I’ve not got much experience with ADPC as it’s rarely used outside of telecommunications (which is not my field), but it appears that this is not an uncommon problem. It is generally referred to as “cumulative DC offset”.
ADPCM looks like a very messy format to me - an inelegant workaround for the technological limitations of a bygone era.
There’s some information about “Cumulative DC offset” with ADPCM on Wikipedia: http://en.wikipedia.org/wiki/Pulse-code_modulation#Encoding_for_transmission