[asterisk-dev] default format for sounds

John Todd jtodd at digium.com
Mon Sep 22 12:54:16 CDT 2008


At 8:34 AM +0000 2008/9/22, Tony Mountifield wrote:
>In article <48D6D487.6030109 at evaristesys.com>,
>Alex Balashov <abalashov at evaristesys.com> wrote:
>>  I would say ulaw is the most common denominator, as it seems to me that
>>  G.711u is the most parsimonious and ubiquitous use case and G.711u is
>>  the standard-bearer of native PCM.  A-law could also work.
>>
>>  Everything else is overly specialised.  There should definitely not be
>>  much, if any transcoding involved for default scenarios.
>>
>>  The other thing is that if someone does want to convert all their
>>  prompts and recordings to some other format more compatible with their
>>  configuration, the prompts need to be of the highest quality possible as
>>  a departure point for any conversion or transcoding.  G.711u/A are
>>  uncompressed 64 kbps / 8 KHz streams.  Everything else is varying
>>  degrees of lossy compression.  I definitely would not distribute those
>>  recordings using a CELP or other intensely approximated codec.
>
>There is already a degree of quantization loss in G.711. The highest
>quality departure point would be 16-bit PCM with a higher sample rate,
>ideally a multiple of 8kHz (or 16kHz for G.722).
>
>I keep the masters of my own sound set as high-sample-rate WAVs, and
>have a simple script that uses sox to produce 8kHz .wav, .al, .ul and
>.gsm versions. Disk space to store them is plentiful nowadays.
>
>It would be great if the same approach could become the default in the
>makefiles.
>
>Cheers
>Tony
>--
>Tony Mountifield
>Work: tony at softins.co.uk - http://www.softins.co.uk
>Play: tony at mountifield.org - http://tony.mountifield.org


I agree that "highest quality" should be distributed, then allow each 
site to descide what other versions to create as  pre-encoded 
libraries of sounds.

However, that has to be weighed against download size for "default" configs.

We have the "menuselect" process now which allows better control of 
first-time installation and soundfile installation processes.  How 
about this?

If the user doesn't choose anything, then it downloads GSM, meaning 
there is no change in the current behavior.

However, another option might exist, which is "Download master files" 
and then a sub-list of encodings is provided that allows the user to 
select which codecs they'd like to have the "master" files converted 
to, and then the "make install" process converts the master files 
into those various codecs and sticks them in the right directories. 
G729, ilbc, speex - whatever they happen to have installed on the 
system would be available - should this use sox, or should it be a 
module in Asterisk?

The only possible fly in that ointment is that G.729 and/or G.723 
(and other future codecs?) need to have the proprietary modules 
installed in order to do the format translations, so maybe the 
complexity of these exception cases makes this not easily workable.

But still... having a single download and then having the "make 
install" process churn out all the possible iterations of converted 
files seems like a good idea instead of downloading 4 different 
versions of the encoded soundfiles if you expect to be using a number 
of codec choices.

JT


-- 
John Todd
jtodd at digium.com        +1-256-428-6083
Asterisk Open Source Community Director



More information about the asterisk-dev mailing list