dect
/
asterisk
Archived
13
0
Fork 0

Merged revisions 282470 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282470 | lmadsen | 2010-08-16 13:01:00 -0500 (Mon, 16 Aug 2010) | 15 lines
  
  Merged revisions 282469 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r282469 | lmadsen | 2010-08-16 13:00:09 -0500 (Mon, 16 Aug 2010) | 7 lines
    
    Add information about creating sounds files using
    the sounds tools publically available so that others can create their
    own sounds prompts using the same tools we use to generate sounds releases.
    This allows people creating their own prompts to sound consistent with
    the prompts available from the open source project.
    
    SWP-595
  ........
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@282471 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
lmadsen 2010-08-16 18:02:29 +00:00
parent fa5c861170
commit bbf9a4d33d
2 changed files with 83 additions and 0 deletions

View File

@ -157,6 +157,9 @@ reference purposes.
\chapter{Packet Loss Concealment}
\input{plc.tex}
\chapter{Sounds Packages}
\input{sounds.tex}
\chapter{Development}
\section{Backtrace}
\input{backtrace.tex}

80
doc/tex/sounds.tex Normal file
View File

@ -0,0 +1,80 @@
\section{Introduction}
Asterisk utilizes a variety of sound prompts that are available in several file
formats and languages. Multiple languages and formats can be installed on the
same system, and Asterisk will utilize prompts from languages installed, and
will automatically pick the least CPU intensive format that is available on the
system (based on codecs in use, in additional to the codec and format modules
installed and available).
In addition to the prompts available with Asterisk, you can create your own sets
of prompts and utilize them as well. This document will tell you how the prompts
available for Asterisk are created so that the prompts you create can be as close
and consistent in the quality and volume levels as those shipped with Asterisk.
\section{Getting The Sounds Tools}
The sounds tools are available in the publicly accessible repotools repository.
You can check these tools out with Subversion via the following command:
\begin{astlisting}
\begin{verbatim}
# svn co http://svn.asterisk.org/svn/repotools
\end{verbatim}
\end{astlisting}
The sound tools are available in the subdirectory sound_tools/ which contains the
following directories:
\begin{itemize}
\item audiofilter
\item makeg722
\item scripts
\end{itemize}
\section{About The Sounds Tools}
The following sections will describe the sound tools in more detail and explain what
they are used for in the sounds package creation process.
\subsection{audiofilter}
The audiofilter application is used to "tune" the sound files in such a way that
they sound good when being used while in a compressed format. The values in the
scripts for creating the sound files supplied in repotools is essentially a
high-pass filter that drops out audio below 100Hz (or so).
(There is an ITU specification that states for 8KHz audio that is being compressed
frequencies below a certain threshold should be removed because they make the
resulting compressed audio sound worse than it should.)
The audiofilter application is used by the 'converter' script located in the
scripts subdirectory of repotools/sound_tools. The values being passed to the
audiofilter application is as follows:
\begin{astlisting}
\begin{verbatim}
audiofilter -n 0.86916 -1.73829 0.86916 -d 1.00000 -1.74152 0.77536
\end{verbatim}
\end{astlisting}
The two options -n and -d are 'numerator' and 'denominator'. Per the author,
Jean-Marc Valin, "These values are filter coefficients (-n means numerator, -d is
denominator) expressed in the z-transform domain. There represent an elliptic filter
that I designed with Octave such that 'the result sounds good'."
\subsection{makeg722}
The makeg722 application is used by the 'converters' script to generate the G.722
sound files that are shipped with Asterisk. It starts with the RAW sound files and
then converts them to G.722.
\subsection{scripts}
The scripts folder is where all the magic happens. These are the scripts that the
Asterisk open source team use to build the packaged audio files for the various
formats that are distributed with Asterisk.
\begin{itemize}
\item chkcore - used to check that the contents of core-sounds-$<$lang$>$.txt are in sync
\item chkextra - same as above, but checks the extra sound files
\item mkcore - script used to generate the core sounds packages
\item mkextra - script used to generate the extra sounds packages
\item mkmoh - script used to generate the music on hold packages
\item converters - script used to convert the master files to various formats
\end{itemize}