Merged revisions 282470 via svnmerge from
authorLeif Madsen <leif@leifmadsen.com>
Mon, 16 Aug 2010 18:02:29 +0000 (18:02 +0000)
committerLeif Madsen <leif@leifmadsen.com>
Mon, 16 Aug 2010 18:02:29 +0000 (18:02 +0000)
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: https://origsvn.digium.com/svn/asterisk/trunk@282471 65c4cc65-6c06-0410-ace0-fbb531ad65f3

doc/tex/asterisk.tex
doc/tex/sounds.tex [new file with mode: 0644]

index 4934d14..4cf45df 100644 (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}
diff --git a/doc/tex/sounds.tex b/doc/tex/sounds.tex
new file mode 100644 (file)
index 0000000..5909198
--- /dev/null
@@ -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}