Oxiwi Oxiwi Tools

Why 8 kHz mono 16-bit?

Telephony carries 300–3,400 Hz, no more

The switched telephone network, and the codecs that replaced it over IP, carry voice in a band of roughly 300 to 3,400 Hz. It is an old engineering trade-off: that band is enough for speech intelligibility, and it is cheap.

The G.711 codec, used by default in almost every installation, samples at 8,000 Hz. By the Nyquist-Shannon theorem, sampling at 8,000 Hz can only represent frequencies below 4,000 Hz. Everything above is discarded before transmission.

So a 44.1 kHz file adds nothing

Supplying a 44.1 kHz stereo prompt does not make the voice clearer on the phone: content above 4,000 Hz is removed anyway. The file is simply five times heavier, and 3CX rejects it rather than converting it for you.

Converting up front, with a good resampler, gives a better result than a rushed conversion by some intermediate equipment.

Loudness matters more than resolution

The most audible defect is almost never the sample rate: it is the volume gap between prompts. A menu recorded on a headset followed by hold music ripped from a CD produces a brutal level jump for the caller.

Calibration measures integrated loudness to EBU R128, then aligns every file to a shared target (−16 LUFS for voice, −20 LUFS for hold music), with true peak capped at −2 dBTP so it will not clip after G.711 encoding.

Where these files are used: IVR, call queues, music on hold

In 3CX these files feed four places: the Digital Receptionist (the IVR) for menu greetings; Call Queues, for the intro prompt and the on-hold music; the System Prompts, when localising the PBX messages; and the general Music on Hold.

They all expect the same format, but not the same level. A menu prompt has to be clear and forward; hold music played at that same level becomes tiring within thirty seconds. Hence the two targets: −16 LUFS for voice, −20 LUFS for music on hold.

One detail that trips people up: 3CX asks for file names in a latin character set. An accent or an apostrophe in the name can be enough to fail the import even when the format is right.

Three ways to convert, and what each costs you

By hand, with Audacity: this is the method 3CX documents. Open the file, set the Project Rate to 8000, split stereo to mono and remove the second track, then export as “WAV (Microsoft) signed 16-bit PCM”. Free and reliable, but one file at a time — and loudness is not addressed at all.

The official 3CX online converter: drag and drop, one file at a time, up to 50 MB and 15 minutes. It gets the format right. The file leaves for a server, and levels still are not aligned across your prompts.

This tool: the whole batch at once, loudness measured and aligned to a shared reference on top of the format, and nothing leaving your browser. That is the only thing that genuinely sets it apart — the format itself, everyone can do.

What about 16 kHz?

Some wideband codecs (G.722, Opus) do carry more than 4 kHz. But prompts on a standard 3CX system are still expected at 8 kHz: a 16 kHz file will be rejected on import, even if your trunk is wideband.

Check a file now