I just stumbled across this article, discussing the issues behind digital voice encoding at low bitrates. The use of AMBE in the D-Star protocol really does get up my nose, at best it’s distasteful, at worst, harmful.
I’ve been doing some experimentation with Speex… so far my experimentations have been with bitrates above 12Kbps. Above this, it is quite intelligible. This is helped with pre and post filtering with the following filter:
It’s not ideal… it means things do sound rather flat, but it’s similar to existing filters employed on existing SSB and FM transmission systems. On SSB, around 2.2kHz is the maximum upper frequency… and it tends to drop out around 300Hz, give or take a little bit. That filter could do with some fine tuning, but I find for low-bitrate Speex, using it to filter the audio before encoding, and after decoding, helps to reduce the distortion of the codec. Some fine-tuning could allow for better fidelity.
It is interesting to hear though, that DVSI even cuts corners though in an effort to lift perceived clarity by trying to reproduce the bottom end.
A good low-bitrate encoder benefits everyone… VoIP becomes even cheaper when you can send the same quality audio in fewer bits, and the benefits for HF radio communications would be immeasurable.
I guess though, it comes back to the old saying:
The superior man understands what is right; the inferior man understands what will sell. — Confucius
ITU G.729 is really good at 8Kbps but unfortunately you need a (fairly cheap) license to use it. Many hardware VoIP phones come with a license though. Not many of those phones support Speex but I did once use it to connect two Asterisk servers – one in London and one in Shanghai. The connection was pretty bad but the results were okay.