Audio Quality (was Re: [Asterisk-Dev] 16 KHz audio ?)

Steve Kann stevek at stevek.com
Fri Dec 17 10:36:40 MST 2004


Andrew Kohlsmith wrote:

>On December 17, 2004 05:49 am, Eric Bart wrote:
>  
>
>>I've seen nowhere a plan to improve audio quality.
>>    
>>
>
>Possibly because there's no real need to?
>
>  
>
>>It seems that the Skype success is partly due to its
>>16 KHz audio bandwidth. It gives users the feeling that
>>the far party is in the same room.
>>    
>>
>
>I've never heard any complaints about regular telephone quality, and that's 
>8-bit 8kHz (64kbps).  Are you sure that this is something that really needs 
>consideration over perhaps working out a way to get packet loss concealment 
>into *?
>  
>
OK, now here's my 2c:

1) if you have less than perfect connectivity, PLC and a good 
jitterbuffer will help more than using a wideband codec.  I'm working on 
this, and have an implementation of this in iaxclient-cvs.  Once it's 
worked out there, we can port this stuff over into asterisk proper.

One thing I could use help with is coding the actual interpolation 
algorithm for codecs which don't natively support this (i.e. for GSM, 
G711, PCM, etc).   I don't know if G.711 Appendix 1 is patented or not 
(probably not), but someone could probably implement that relatively 
easily (there is sample code, but unfortunately, it has copyright).  See
http://www.fokus.gmd.de/research/cc/glone/employees/henning.sanneck/resource/doc/av/9A170124.pdf

I think I might plug in the sample code just to see how well it sounds 
(and not distribute this, of course).

2) Wideband in asterisk _could_ be implemented solely as a different 
_set_ of codecs.  There's a couple of issues:

  a) The codec "space" in asterisk is limited to 15 voice codecs, and 
these types are all used already, I think.    We'd probably want to have 
support for wideband versions of PCM, uLaw, aLaw, speex, and maybe others..

  b) Presently, "samples" is used in asterisk frames:  If the wideband 
codec uses a sampling rate that is a multiple of 8khz (like 16khz), we 
could just set this parameter to be the number of 8khz-equivalent 
samples in the frame, otherwise the implicit equivalence of 8samples == 
1ms is broken.  A 44.1khz codec, though, wouldn't fit this paradigm.

-SteveK


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20041217/11e7eb8e/attachment.htm


More information about the asterisk-dev mailing list