On 2010-03-02, Christian Jaeger wrote:
Hello
I'm using Ekiga and Twinkle with the Diamondcard.us service as my main
phone service. People are telling me every now and then that the sound
quality is pretty poor, and in fact when I listen to my voice on the
echo service it's always been quite much worse than when using a
normal phone I think. It's regardless of the codec used, all that
are offered by Diamondcard are using 8000 Hz sampling rate. And I'm
using a headset and have checked sound quality locally, which is just
fine, as I can verify for example with (the bfr command is to delay
playback, so you can hear the echo better):
arecord -t raw -f dat -r 22050 -c 1 | bfr -m 33075 | aplay -t raw -f
dat -r 22050 -c 1 -
Now 8000 Hz is of course lower, and in fact when using that rate:
arecord -t raw -f dat -r 8000 -c 1 | bfr -m 12000 | aplay -t raw -f
dat -r 8000 -c 1 -
it sounds exactly as in the echo test. Now one thing I know is that if
you sample a signal, you need a low pass before the quantization, at
half the sample rate or lower, to remove frequencies that are too high
to be represented in the digitalized data. If the low pass is missing,
the high frequencies are turned to noise instead. So what happens when
a program samples data at a low frequency, will it somehow make the
sound card tune a low pass to the correct cut-off frequency when the
sample rate is changed? Sounds rather unlikely, and in fact the echo
test at 8000 Hz sounds exactly like suffering from that problem: you
can't distinguish s from f anymore, which may just be unavoidable
with no frequency spectrum above 4000 Hz, but worse, they sound very
loud and noisy, and for example an combined s and vowel, like they
often appear in french (e.g. bourgeoisie I think, I'm not a native
french speaker), sound really awful. Now there's a way to remedie
this: low-pass filtering can also be done computationally, so we can
digitize at say DAT quality (48000 Hz) and resample down to 8000
samples/second programmatically, which is what the following command
line is doing:
arecord -t raw -f dat -c 1 | bfr -m 36000 | sox -t raw -r 48000 -s -2
-c 1 - -t raw -r 8000 - resample -ql |bfr -m 6000 | aplay -t raw -f
dat -r 8000 -c 1 -
It sounds more hollow/muffled now, but much cleaner. No loud noises
anymore for sharp consonants.
Would doing this in VoIP programs improve perceived sound quality for
the listener? I would expect so, but haven't been able to test. (All I
know is that more often than not I'm using Skype to call people now
(Skype-out service), because people are telling me they hear me
better.)
Note that you can very well say you're wrong, we don't need a
low-pass, just use a higher sampling rate then it sounds just fine,
which is of course partially true, with higher sampling rates the
relevance of a low-pass decreases quickly as the spectrum of
frequencies that are higher than half the sample rate becomes narrower
(and an increasing part of the consonant frequency range is digitized
correctly instead of as noise). But given that at least Diamondcard
only offers 8000 Hz, and there may be valid reasons for this (like
maybe the phone system is still using that frequency), what's your
position on this?
You've discovered aliasing. It sounds pretty bad at 8 kHz sampling
rate, doesn't it?
I suspect you have a poorly engineered sound card. It /should/, as
you suggest, have proper low pass filtering, but apparently it
doesn't. You can often get away with gentle anti-alias filtering
for a 48 kHz sampling rate, but not 8 kHz.
Ideally, the sound card would sample everything at 48 kHz and then
decimate by a factor of 6 using proper low-pass digital filtering.
It sounds as if yours simply sub-samples everything instead, which
aliases almost everything between 4 kHz and 48 kHz and folds it
into the up-to-4 kHz band.
Maybe a better sound card would do what you want. (I'm sorry, I
don't have any recommendation.)
Dave
NICE CTI Systems UK Limited (NICE) is registered in England under company
number, 3403044. The registered office of NICE is at Tollbar Way, Hedge End,
Southampton, Hampshire SO30 2ZP.
Confidentiality: This communication and any attachments are intended for the
above-named persons only and may be confidential and/or legally privileged. Any
opinions expressed in this communication are not necessarily those of NICE. If
this communication has come to you in error you must take no action based on
it, nor must you copy or show it to anyone; please delete/destroy and inform
the sender by e-mail immediately.
Monitoring: NICE may monitor incoming and outgoing e-mails.
Viruses: Although we have taken steps toward ensuring that this e-mail and
attachments are free from any virus, we advise that in keeping with good
computing practice the recipient should ensure they are actually virus free.
___
ekiga-list mailing list