[xiph-commits] r13012 - trunk/speex/doc
jm at svn.xiph.org
jm at svn.xiph.org
Mon Jun 4 17:14:24 PDT 2007
Author: jm
Date: 2007-06-04 17:14:23 -0700 (Mon, 04 Jun 2007)
New Revision: 13012
Modified:
trunk/speex/doc/manual.lyx
Log:
Bringing the manual a bit more in line with the draft. Also switching to LyX
1.5 format.
Modified: trunk/speex/doc/manual.lyx
===================================================================
--- trunk/speex/doc/manual.lyx 2007-06-04 16:35:46 UTC (rev 13011)
+++ trunk/speex/doc/manual.lyx 2007-06-05 00:14:23 UTC (rev 13012)
@@ -1,17 +1,25 @@
-#LyX 1.4.4 created this file. For more info see http://www.lyx.org/
-\lyxformat 245
+#LyX 1.5.0rc1 created this file. For more info see http://www.lyx.org/
+\lyxformat 271
\begin_document
\begin_header
\textclass scrbook
\language english
\inputencoding auto
-\fontscheme pslatex
+\font_roman times
+\font_sans helvet
+\font_typewriter courier
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
\graphics default
\paperfontsize 10
\spacing single
\papersize letterpaper
\use_geometry true
\use_amsmath 2
+\use_esint 0
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
@@ -28,7 +36,8 @@
\papersides 1
\paperpagestyle headings
\tracking_changes false
-\output_changes true
+\output_changes false
+\author "Jean-Marc Valin,,,"
\end_header
\begin_body
@@ -80,7 +89,7 @@
\newpage
-\begin_inset LatexCommand \tableofcontents{}
+\begin_inset LatexCommand tableofcontents
\end_inset
@@ -110,10 +119,10 @@
\family default
) exists because there is a need for a speech codec that is open-source
and free from software patent royalties.
- These are essential conditions for being usable by any open-source software.
+ These are essential conditions for being usable in any open-source software.
In essence, Speex is to speech what Vorbis is to audio/music.
Unlike many other speech codecs, Speex is not designed for mobile phones
- but rather for packet networks and voice over IP (VoIP) application.
+ but rather for packet networks and voice over IP (VoIP) applications.
File-based compression is of course also supported.
\end_layout
@@ -131,13 +140,14 @@
lost packets, but not to corrupted ones.
This is based on the assumption that in VoIP, packets either arrive unaltered
or don't arrive at all.
- Because Speex is targeted at a wide range of devices, it has modest complexity
- (variable) and memory footprint.
+ Because Speex is targeted at a wide range of devices, it has modest (adjustable
+) complexity and a small memory footprint.
\end_layout
\begin_layout Standard
All the design goals led to the choice of CELP
-\begin_inset LatexCommand \index{CELP}
+\begin_inset LatexCommand index
+name "CELP"
\end_inset
@@ -151,7 +161,8 @@
\begin_layout Section
Getting help
-\begin_inset LatexCommand \label{sec:Getting-help}
+\begin_inset LatexCommand label
+name "sec:Getting-help"
\end_inset
@@ -195,7 +206,7 @@
\series bold
it is important to first read this manual
\series default
-.
+ (OK, so if you made it here it's already a good sign).
It is generally considered rude to ask on a mailing list about topics that
are clearly detailed in the documentation.
On the other hand, it's perfectly OK (and encouraged) to ask for clarifications
@@ -211,7 +222,8 @@
Before reporting bugs in Speex to the list, it is strongly recommended
(if possible) to first test whether these bugs can be reproduced using
the speexenc and speexdec (see Section
-\begin_inset LatexCommand \ref{sec:Command-line-encoder/decoder}
+\begin_inset LatexCommand ref
+reference "sec:Command-line-encoder/decoder"
\end_inset
@@ -228,31 +240,36 @@
\begin_layout Standard
This document is divided in the following way.
Section
-\begin_inset LatexCommand \ref{sec:Feature-description}
+\begin_inset LatexCommand ref
+reference "sec:Feature-description"
\end_inset
describes the different Speex features and defines many basic terms that
are used throughout this manual.
Section
-\begin_inset LatexCommand \ref{sec:Command-line-encoder/decoder}
+\begin_inset LatexCommand ref
+reference "sec:Command-line-encoder/decoder"
\end_inset
documents the standard command-line tools provided in the Speex distribution.
Section
-\begin_inset LatexCommand \ref{sec:Programming-with-Speex}
+\begin_inset LatexCommand ref
+reference "sec:Programming-with-Speex"
\end_inset
includes detailed instructions about programming using the libspeex
-\begin_inset LatexCommand \index{libspeex}
+\begin_inset LatexCommand index
+name "libspeex"
\end_inset
API.
Section
-\begin_inset LatexCommand \ref{sec:Formats-and-standards}
+\begin_inset LatexCommand ref
+reference "sec:Formats-and-standards"
\end_inset
@@ -267,17 +284,20 @@
They are intended for people who want to understand how Speex really works
and/or want to do research based on Speex.
Section
-\begin_inset LatexCommand \ref{sec:Introduction-to-CELP}
+\begin_inset LatexCommand ref
+reference "sec:Introduction-to-CELP"
\end_inset
explains the general idea behind CELP, while sections
-\begin_inset LatexCommand \ref{sec:Speex-narrowband-mode}
+\begin_inset LatexCommand ref
+reference "sec:Speex-narrowband-mode"
\end_inset
and
-\begin_inset LatexCommand \ref{sec:Speex-wideband-mode}
+\begin_inset LatexCommand ref
+reference "sec:Speex-wideband-mode"
\end_inset
@@ -292,7 +312,8 @@
\begin_layout Chapter
Codec description
-\begin_inset LatexCommand \label{sec:Feature-description}
+\begin_inset LatexCommand label
+name "sec:Feature-description"
\end_inset
@@ -316,7 +337,8 @@
\begin_layout Subsection*
Sampling rate
-\begin_inset LatexCommand \index{sampling rate}
+\begin_inset LatexCommand index
+name "sampling rate"
\end_inset
@@ -344,17 +366,20 @@
Speex is mainly designed for three different sampling rates: 8 kHz, 16
kHz, and 32 kHz.
These are respectively refered to as narrowband
-\begin_inset LatexCommand \index{narrowband}
+\begin_inset LatexCommand index
+name "narrowband"
\end_inset
, wideband
-\begin_inset LatexCommand \index{wideband}
+\begin_inset LatexCommand index
+name "wideband"
\end_inset
and ultra-wideband
-\begin_inset LatexCommand \index{ultra-wideband}
+\begin_inset LatexCommand index
+name "ultra-wideband"
\end_inset
@@ -384,8 +409,11 @@
\series bold
bits
\series default
- per second
\emph default
+
+\emph on
+per second
+\emph default
(k
\series bold
b
@@ -396,8 +424,11 @@
\series bold
bytes
\series default
- per second
\emph default
+
+\emph on
+per second
+\emph default
(k
\series bold
B
@@ -407,7 +438,8 @@
\begin_layout Subsection*
Quality
-\begin_inset LatexCommand \index{quality}
+\begin_inset LatexCommand index
+name "quality"
\end_inset
@@ -422,7 +454,8 @@
The Speex encoding process is controlled most of the time by a quality
parameter that ranges from 0 to 10.
In constant bit-rate
-\begin_inset LatexCommand \index{constant bit-rate}
+\begin_inset LatexCommand index
+name "constant bit-rate"
\end_inset
@@ -433,7 +466,8 @@
\begin_layout Subsection*
Complexity
-\begin_inset LatexCommand \index{complexity}
+\begin_inset LatexCommand index
+name "complexity"
\end_inset
@@ -458,7 +492,8 @@
5 times higher than for complexity 1.
In practice, the best trade-off is between complexity 2 and 4, though higher
settings are often useful when encoding non-speech sounds like DTMF
-\begin_inset LatexCommand \index{DTMF}
+\begin_inset LatexCommand index
+name "DTMF"
\end_inset
@@ -467,7 +502,8 @@
\begin_layout Subsection*
Variable Bit-Rate
-\begin_inset LatexCommand \index{variable bit-rate}
+\begin_inset LatexCommand index
+name "variable bit-rate"
\end_inset
@@ -499,7 +535,8 @@
\begin_layout Subsection*
Average Bit-Rate
-\begin_inset LatexCommand \index{average bit-rate}
+\begin_inset LatexCommand index
+name "average bit-rate"
\end_inset
@@ -516,7 +553,8 @@
\begin_layout Subsection*
Voice Activity Detection
-\begin_inset LatexCommand \index{voice activity detection}
+\begin_inset LatexCommand index
+name "voice activity detection"
\end_inset
@@ -543,7 +581,8 @@
\begin_layout Subsection*
Discontinuous Transmission
-\begin_inset LatexCommand \index{discontinuous transmission}
+\begin_inset LatexCommand index
+name "discontinuous transmission"
\end_inset
@@ -559,7 +598,8 @@
\begin_layout Subsection*
Perceptual enhancement
-\begin_inset LatexCommand \index{perceptual enhancement}
+\begin_inset LatexCommand index
+name "perceptual enhancement"
\end_inset
@@ -585,7 +625,8 @@
\begin_layout Subsection*
Latency and algorithmic delay
-\begin_inset LatexCommand \index{algorithmic delay}
+\begin_inset LatexCommand index
+name "algorithmic delay"
\end_inset
@@ -619,12 +660,14 @@
\begin_layout Itemize
Free software/open-source
-\begin_inset LatexCommand \index{open-source}
+\begin_inset LatexCommand index
+name "open-source"
\end_inset
, patent
-\begin_inset LatexCommand \index{patent}
+\begin_inset LatexCommand index
+name "patent"
\end_inset
@@ -633,12 +676,14 @@
\begin_layout Itemize
Integration of narrowband
-\begin_inset LatexCommand \index{narrowband}
+\begin_inset LatexCommand index
+name "narrowband"
\end_inset
and wideband
-\begin_inset LatexCommand \index{wideband}
+\begin_inset LatexCommand index
+name "wideband"
\end_inset
@@ -651,7 +696,8 @@
\begin_layout Itemize
Dynamic bit-rate switching (AMR) and Variable Bit-Rate
-\begin_inset LatexCommand \index{variable bit-rate}
+\begin_inset LatexCommand index
+name "variable bit-rate"
\end_inset
@@ -660,7 +706,8 @@
\begin_layout Itemize
Voice Activity Detection
-\begin_inset LatexCommand \index{voice activity detection}
+\begin_inset LatexCommand index
+name "voice activity detection"
\end_inset
@@ -669,7 +716,8 @@
\begin_layout Itemize
Variable complexity
-\begin_inset LatexCommand \index{complexity}
+\begin_inset LatexCommand index
+name "complexity"
\end_inset
@@ -681,7 +729,7 @@
\end_layout
\begin_layout Itemize
-Ultra-wideband mode at 32 kHz
+Ultra-wideband sampling rate at 32 kHz
\end_layout
\begin_layout Itemize
@@ -765,7 +813,8 @@
\begin_layout Standard
In any hands-free communication system (Fig.
-\begin_inset LatexCommand \ref{fig:Acoustic-echo-model}
+\begin_inset LatexCommand ref
+reference "fig:Acoustic-echo-model"
\end_inset
@@ -825,9 +874,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Acoustic echo model
-\begin_inset LatexCommand \label{fig:Acoustic-echo-model}
+\begin_inset LatexCommand label
+name "fig:Acoustic-echo-model"
\end_inset
@@ -839,6 +892,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
\newpage
@@ -900,7 +958,8 @@
\begin_layout Description
--enable-fixed-point
-\begin_inset LatexCommand \index{fixed-point}
+\begin_inset LatexCommand index
+name "fixed-point"
\end_inset
@@ -920,7 +979,8 @@
\begin_layout Description
--enable-fixed-point-debug Use only for debugging the fixed-point
-\begin_inset LatexCommand \index{fixed-point}
+\begin_inset LatexCommand index
+name "fixed-point"
\end_inset
@@ -929,7 +989,7 @@
\begin_layout Description
--enable-epic-48k Enable a special (and non-compatible) 4.8 kbps narrowband
- mode
+ mode (broken in 1.1.x and 1.2beta)
\end_layout
\begin_layout Description
@@ -1040,7 +1100,8 @@
\begin_layout Chapter
Command-line encoder/decoder
-\begin_inset LatexCommand \label{sec:Command-line-encoder/decoder}
+\begin_inset LatexCommand label
+name "sec:Command-line-encoder/decoder"
\end_inset
@@ -1064,7 +1125,8 @@
\emph on
speexenc
-\begin_inset LatexCommand \index{speexenc}
+\begin_inset LatexCommand index
+name "speexenc"
\end_inset
@@ -1219,7 +1281,8 @@
\emph on
speexdec
-\begin_inset LatexCommand \index{speexdec}
+\begin_inset LatexCommand index
+name "speexdec"
\end_inset
@@ -1305,17 +1368,20 @@
\begin_layout Chapter
Programming with Speex (the libspeex
-\begin_inset LatexCommand \index{libspeex}
+\begin_inset LatexCommand index
+name "libspeex"
\end_inset
API
-\begin_inset LatexCommand \index{API}
+\begin_inset LatexCommand index
+name "API"
\end_inset
)
-\begin_inset LatexCommand \label{sec:Programming-with-Speex}
+\begin_inset LatexCommand label
+name "sec:Programming-with-Speex"
\end_inset
@@ -1325,7 +1391,8 @@
\begin_layout Standard
This section explains how to use the Speex API.
Examples of code can also be found in Appendix
-\begin_inset LatexCommand \ref{sec:Sample-code}
+\begin_inset LatexCommand ref
+reference "sec:Sample-code"
\end_inset
@@ -1335,7 +1402,8 @@
\begin_layout Section
Encoding
-\begin_inset LatexCommand \label{sub:Encoding}
+\begin_inset LatexCommand label
+name "sub:Encoding"
\end_inset
@@ -1388,8 +1456,8 @@
speex_wb_mode
\emph default
.
- In most cases, you will need to know the frame size used by the mode you
- are using.
+ In most cases, you will need to know the frame size used at the sampling
+ rate you are using.
You can get that value in the
\emph on
frame_size
@@ -1429,7 +1497,8 @@
is an integer value ranging from 0 to 10 (inclusively).
The mapping between quality and bit-rate is described in Fig.
-\begin_inset LatexCommand \ref{cap:quality_vs_bps}
+\begin_inset LatexCommand ref
+reference "cap:quality_vs_bps"
\end_inset
@@ -1461,9 +1530,9 @@
\emph on
(
\emph default
-short
+short
\emph on
- *)
+*)
\emph default
pointing to the beginning of a speech frame,
\emph on
@@ -1512,11 +1581,11 @@
ARM) more complicated.
Internally,
\emph on
-speex_encode()
+speex_encode()
\emph default
-and
+ and
\emph on
- speex_encode_int()
+speex_encode_int()
\emph default
are processed in the same way.
Whether the encoder uses the fixed-point version is only decided by the
@@ -1542,7 +1611,8 @@
\begin_layout Section
Decoding
-\begin_inset LatexCommand \label{sub:Decoding}
+\begin_inset LatexCommand label
+name "sub:Decoding"
\end_inset
@@ -1692,7 +1762,8 @@
\begin_layout Section
Preprocessor
-\begin_inset LatexCommand \label{sub:Preprocessor}
+\begin_inset LatexCommand label
+name "sub:Preprocessor"
\end_inset
@@ -1701,7 +1772,8 @@
\begin_layout Standard
In order to use the Speex preprocessor
-\begin_inset LatexCommand \index{preprocessor}
+\begin_inset LatexCommand index
+name "preprocessor"
\end_inset
@@ -1786,7 +1858,8 @@
\begin_layout Section
Echo Cancellation
-\begin_inset LatexCommand \label{sub:Echo-Cancellation}
+\begin_inset LatexCommand label
+name "sub:Echo-Cancellation"
\end_inset
@@ -1795,12 +1868,14 @@
\begin_layout Standard
The Speex library now includes an echo cancellation
-\begin_inset LatexCommand \index{echo cancellation}
+\begin_inset LatexCommand index
+name "echo cancellation"
\end_inset
algorithm suitable for Acoustic Echo Cancellation
-\begin_inset LatexCommand \index{acoustic echo cancellation}
+\begin_inset LatexCommand index
+name "acoustic echo cancellation"
\end_inset
@@ -1835,7 +1910,8 @@
tail length
\shape default
-\begin_inset LatexCommand \index{tail length}
+\begin_inset LatexCommand index
+name "tail length"
\end_inset
@@ -1919,7 +1995,8 @@
associating the echo canceller to the preprocessor
\family default
(see Section
-\begin_inset LatexCommand \ref{sub:Preprocessor}
+\begin_inset LatexCommand ref
+reference "sub:Preprocessor"
\end_inset
@@ -2231,7 +2308,8 @@
\begin_layout Section
Codec Options (speex_*_ctl)
-\begin_inset LatexCommand \label{sub:Codec-Options}
+\begin_inset LatexCommand label
+name "sub:Codec-Options"
\end_inset
@@ -2292,45 +2370,39 @@
\begin_layout Description
SPEEX_SET_ENH** Set perceptual enhancer
-\begin_inset LatexCommand \index{perceptual enhancement}
+\begin_inset LatexCommand index
+name "perceptual enhancement"
\end_inset
- to on (1) or off (0) (integer)
+ to on (1) or off (0) (spx_int32_t)
\end_layout
\begin_layout Description
-SPEEX_GET_ENH** Get perceptual enhancer status (integer)
+SPEEX_GET_ENH** Get perceptual enhancer status (spx_int32_t)
\end_layout
\begin_layout Description
SPEEX_GET_FRAME_SIZE Get the number of samples per frame for the current
- mode (integer)
+ mode (spx_int32_t)
\end_layout
\begin_layout Description
-SPEEX_SET_QUALITY* Set the encoder speech quality (integer 0 to 10)
+SPEEX_SET_QUALITY* Set the encoder speech quality (spx_int32_t 0 to 10)
\end_layout
\begin_layout Description
-SPEEX_GET_QUALITY* Get the current encoder speech quality (integer 0 to
- 10)
+SPEEX_GET_QUALITY* Get the current encoder speech quality (spx_int32_t 0
+ to 10)
\end_layout
\begin_layout Description
-SPEEX_SET_MODE*
-\begin_inset Formula $\dagger$
-\end_inset
-
- Use the source, Luke!
+SPEEX_SET_MODE* Set the mode number, as specified in the RTP spec (spx_int32_t)
\end_layout
\begin_layout Description
-SPEEX_GET_MODE*
-\begin_inset Formula $\dagger$
-\end_inset
-
- Use the source, Luke!
+SPEEX_GET_MODE* Get the current mode number, as specified in the RTP spec
+ (spx_int32_t)
\end_layout
\begin_layout Description
@@ -2366,16 +2438,17 @@
\end_layout
\begin_layout Description
-SPEEX_SET_VBR* Set variable bit-rate (VBR) to on (1) or off (0) (integer)
+SPEEX_SET_VBR* Set variable bit-rate (VBR) to on (1) or off (0) (spx_int32_t)
\end_layout
\begin_layout Description
SPEEX_GET_VBR* Get variable bit-rate
-\begin_inset LatexCommand \index{variable bit-rate}
+\begin_inset LatexCommand index
+name "variable bit-rate"
\end_inset
- (VBR) status (integer)
+ (VBR) status (spx_int32_t)
\end_layout
\begin_layout Description
@@ -2388,87 +2461,108 @@
\end_layout
\begin_layout Description
-SPEEX_SET_COMPLEXITY* Set the CPU resources allowed for the encoder (integer
+SPEEX_SET_COMPLEXITY* Set the CPU resources allowed for the encoder (spx_int32_t
1 to 10)
\end_layout
\begin_layout Description
-SPEEX_GET_COMPLEXITY* Get the CPU resources allowed for the encoder (integer
+SPEEX_GET_COMPLEXITY* Get the CPU resources allowed for the encoder (spx_int32_t
1 to 10)
\end_layout
\begin_layout Description
SPEEX_SET_BITRATE* Set the bit-rate to use to the closest value not exceeding
- the parameter (integer in bps)
+ the parameter (spx_int32_t in bps)
\end_layout
\begin_layout Description
-SPEEX_GET_BITRATE Get the current bit-rate in use (integer in bps)
+SPEEX_GET_BITRATE Get the current bit-rate in use (spx_int32_t in bps)
\end_layout
\begin_layout Description
-SPEEX_SET_SAMPLING_RATE Set real sampling rate (integer in Hz)
+SPEEX_SET_SAMPLING_RATE Set real sampling rate (spx_int32_t in Hz)
\end_layout
\begin_layout Description
-SPEEX_GET_SAMPLING_RATE Get real sampling rate (integer in Hz)
+SPEEX_GET_SAMPLING_RATE Get real sampling rate (spx_int32_t in Hz)
\end_layout
\begin_layout Description
-SPEEX_RESET_STATE Reset the encoder/decoder state to its original state
- (zeros all memories)
+SPEEX_RESET_STATE Reset the encoder/decoder state to its original state,
+ clearing all memories (no argument)
\end_layout
\begin_layout Description
SPEEX_SET_VAD* Set voice activity detection
-\begin_inset LatexCommand \index{voice activity detection}
+\begin_inset LatexCommand index
+name "voice activity detection"
\end_inset
- (VAD) to on (1) or off (0) (integer)
+ (VAD) to on (1) or off (0) (spx_int32_t)
\end_layout
\begin_layout Description
-SPEEX_GET_VAD* Get voice activity detection (VAD) status (integer)
+SPEEX_GET_VAD* Get voice activity detection (VAD) status (spx_int32_t)
\end_layout
\begin_layout Description
SPEEX_SET_DTX* Set discontinuous transmission
-\begin_inset LatexCommand \index{discontinuous transmission}
+\begin_inset LatexCommand index
+name "discontinuous transmission"
\end_inset
- (DTX) to on (1) or off (0) (integer)
+ (DTX) to on (1) or off (0) (spx_int32_t)
\end_layout
\begin_layout Description
-SPEEX_GET_DTX* Get discontinuous transmission (DTX) status (integer)
+SPEEX_GET_DTX* Get discontinuous transmission (DTX) status (spx_int32_t)
\end_layout
\begin_layout Description
SPEEX_SET_ABR* Set average bit-rate
-\begin_inset LatexCommand \index{average bit-rate}
+\begin_inset LatexCommand index
+name "average bit-rate"
\end_inset
- (ABR) to a value n in bits per second (integer in bps)
+ (ABR) to a value n in bits per second (spx_int32_t in bps)
\end_layout
\begin_layout Description
-SPEEX_GET_ABR* Get average bit-rate (ABR) setting (integer in bps)
+SPEEX_GET_ABR* Get average bit-rate (ABR) setting (spx_int32_t in bps)
\end_layout
\begin_layout Description
SPEEX_SET_PLC_TUNING* Tell the encoder to optimize encoding for a certain
- percentage of packet loss (integer in percent)
+ percentage of packet loss (spx_int32_t in percent)
\end_layout
\begin_layout Description
-SPEEX_GET_PLC_TUNING* Get the current tuning of the encoder for PLC (integer
+SPEEX_GET_PLC_TUNING* Get the current tuning of the encoder for PLC (spx_int32_t
in percent)
\end_layout
\begin_layout Description
+SPEEX_SET_VBR_MAX_BITRATE* Set the maximum bit-rate allowed in VBR operation
+ (spx_int32_t in bps)
+\end_layout
+
+\begin_layout Description
+SPEEX_GET_VBR_MAX_BITRATE* Get the current maximum bit-rate allowed in VBR
+ operation (spx_int32_t in bps)
+\end_layout
+
+\begin_layout Description
+SPEEX_SET_HIGHPASS Set the high-pass filter on (1) or off (0) (spx_int32_t)
+\end_layout
+
+\begin_layout Description
+SPEEX_TET_HIGHPASS Get the current high-pass filter status (spx_int32_t)
+\end_layout
+
+\begin_layout Description
* applies only to the encoder
\end_layout
@@ -2485,7 +2579,8 @@
\begin_layout Section
Mode queries
-\begin_inset LatexCommand \label{sub:Mode-queries}
+\begin_inset LatexCommand label
+name "sub:Mode-queries"
\end_inset
@@ -2529,7 +2624,8 @@
\begin_layout Section
Preprocessor options
-\begin_inset LatexCommand \label{sub:Preprocessor-options}
+\begin_inset LatexCommand label
+name "sub:Preprocessor-options"
\end_inset
@@ -2652,7 +2748,8 @@
\begin_layout Section
Packing and in-band signalling
-\begin_inset LatexCommand \index{in-band signalling}
+\begin_inset LatexCommand index
+name "in-band signalling"
\end_inset
@@ -2671,7 +2768,8 @@
mechanism, it is possible to include a terminator code.
That terminator consists of the code 15 (decimal) encoded with 5 bits,
as shown in Table
-\begin_inset LatexCommand \ref{cap:quality_vs_bps}
+\begin_inset LatexCommand ref
+reference "cap:quality_vs_bps"
\end_inset
@@ -2702,7 +2800,8 @@
of mode 14 which contain a 4-bit message type code, followed by the message.
Table
-\begin_inset LatexCommand \ref{cap:In-band-signalling-codes}
+\begin_inset LatexCommand ref
+reference "cap:In-band-signalling-codes"
\end_inset
@@ -3261,9 +3360,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
In-band signalling codes
-\begin_inset LatexCommand \label{cap:In-band-signalling-codes}
+\begin_inset LatexCommand label
+name "cap:In-band-signalling-codes"
\end_inset
@@ -3275,6 +3378,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
Finally, applications may define custom in-band messages using mode 13.
The size of the message in bytes is encoded with 5 bits, so that the decoder
@@ -3289,12 +3397,14 @@
\begin_layout Chapter
Formats and standards
-\begin_inset LatexCommand \index{standards}
+\begin_inset LatexCommand index
+name "standards"
\end_inset
-\begin_inset LatexCommand \label{sec:Formats-and-standards}
+\begin_inset LatexCommand label
+name "sec:Formats-and-standards"
\end_inset
@@ -3348,7 +3458,8 @@
\begin_layout Section
RTP
-\begin_inset LatexCommand \index{RTP}
+\begin_inset LatexCommand index
+name "RTP"
\end_inset
@@ -3357,12 +3468,14 @@
\begin_layout Standard
The RTP payload draft is included in appendix
-\begin_inset LatexCommand \ref{sec:IETF-draft}
+\begin_inset LatexCommand ref
+reference "sec:IETF-draft"
\end_inset
and the latest version is available at
-\begin_inset LatexCommand \url{http://www.speex.org/drafts/latest}
+\begin_inset LatexCommand url
+target "http://www.speex.org/drafts/latest"
\end_inset
@@ -3387,7 +3500,8 @@
\begin_layout Section
Ogg
-\begin_inset LatexCommand \index{Ogg}
+\begin_inset LatexCommand index
+name "Ogg"
\end_inset
@@ -3398,7 +3512,8 @@
Speex bit-streams can be stored in Ogg files.
In this case, the first packet of the Ogg file contains the Speex header
described in table
-\begin_inset LatexCommand \ref{cap:ogg_speex_header}
+\begin_inset LatexCommand ref
+reference "cap:ogg_speex_header"
\end_inset
@@ -3999,9 +4114,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Ogg/Speex header packet
-\begin_inset LatexCommand \label{cap:ogg_speex_header}
+\begin_inset LatexCommand label
+name "cap:ogg_speex_header"
\end_inset
@@ -4013,6 +4132,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
\begin_inset ERT
status collapsed
@@ -4031,12 +4155,14 @@
\begin_layout Chapter
Introduction to CELP Coding
-\begin_inset LatexCommand \index{CELP}
+\begin_inset LatexCommand index
+name "CELP"
\end_inset
-\begin_inset LatexCommand \label{sec:Introduction-to-CELP}
+\begin_inset LatexCommand label
+name "sec:Introduction-to-CELP"
\end_inset
@@ -4055,7 +4181,8 @@
Speex is based on CELP, which stands for Code Excited Linear Prediction.
This section attempts to introduce the principles behind CELP, so if you
are already familiar with CELP, you can safely skip to section
-\begin_inset LatexCommand \ref{sec:Speex-narrowband-mode}
+\begin_inset LatexCommand ref
+reference "sec:Speex-narrowband-mode"
\end_inset
@@ -4117,7 +4244,8 @@
The source-filter model is usually tied with the use of Linear prediction.
The CELP model is based on source-filter model, as can be seen from the
CELP decoder illustrated in Figure
-\begin_inset LatexCommand \ref{fig:The-CELP-model}
+\begin_inset LatexCommand ref
+reference "fig:The-CELP-model"
\end_inset
@@ -4168,9 +4296,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
The CELP model of speech synthesis (decoder)
-\begin_inset LatexCommand \label{fig:The-CELP-model}
+\begin_inset LatexCommand label
+name "fig:The-CELP-model"
\end_inset
@@ -4182,9 +4314,15 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Section
Linear Prediction (LPC)
-\begin_inset LatexCommand \index{linear prediction}
+\begin_inset LatexCommand index
+name "linear prediction"
\end_inset
@@ -4292,7 +4430,8 @@
\end_inset
, the auto-correlation
-\begin_inset LatexCommand \index{auto-correlation}
+\begin_inset LatexCommand index
+name "auto-correlation"
\end_inset
@@ -4318,7 +4457,8 @@
\end_inset
is toeplitz hermitian, the Levinson-Durbin
-\begin_inset LatexCommand \index{Levinson-Durbin}
+\begin_inset LatexCommand index
+name "Levinson-Durbin"
\end_inset
@@ -4354,7 +4494,8 @@
\begin_layout Section
Pitch Prediction
-\begin_inset LatexCommand \index{pitch}
+\begin_inset LatexCommand index
+name "pitch"
\end_inset
@@ -4459,12 +4600,14 @@
\begin_layout Section
Noise Weighting
-\begin_inset LatexCommand \index{error weighting}
+\begin_inset LatexCommand index
+name "error weighting"
\end_inset
-\begin_inset LatexCommand \index{analysis-by-synthesis}
+\begin_inset LatexCommand index
+name "analysis-by-synthesis"
\end_inset
@@ -4564,13 +4707,15 @@
function.
Fig.
-\begin_inset LatexCommand \ref{cap:Standard-noise-shaping}
+\begin_inset LatexCommand ref
+reference "cap:Standard-noise-shaping"
\end_inset
illustrates the noise shaping that results from Eq.
-\begin_inset LatexCommand \ref{eq:gamma-weighting}
+\begin_inset LatexCommand ref
+reference "eq:gamma-weighting"
\end_inset
@@ -4629,10 +4774,14 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Standard noise shaping in CELP.
Arbitrary y-axis offset.
-\begin_inset LatexCommand \label{cap:Standard-noise-shaping}
+\begin_inset LatexCommand label
+name "cap:Standard-noise-shaping"
\end_inset
@@ -4644,6 +4793,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Section
Analysis-by-Synthesis
\end_layout
@@ -4682,12 +4836,14 @@
\begin_layout Chapter
Speex narrowband mode
-\begin_inset LatexCommand \label{sec:Speex-narrowband-mode}
+\begin_inset LatexCommand label
+name "sec:Speex-narrowband-mode"
\end_inset
-\begin_inset LatexCommand \index{narrowband}
+\begin_inset LatexCommand index
+name "narrowband"
\end_inset
@@ -4727,7 +4883,8 @@
\begin_layout Section
Whole-Frame Analysis
-\begin_inset LatexCommand \index{linear prediction}
+\begin_inset LatexCommand index
+name "linear prediction"
\end_inset
@@ -4745,7 +4902,8 @@
, as shown in Fig.
-\begin_inset LatexCommand \ref{cap:Frame-open-loop-analysis}
+\begin_inset LatexCommand ref
+reference "cap:Frame-open-loop-analysis"
\end_inset
@@ -4758,7 +4916,8 @@
Hamming window centered on the fourth sub-frame.
Because linear prediction coefficients (LPC) are not robust to quantization,
they are first are converted to line spectral pairs (LSP)
-\begin_inset LatexCommand \index{line spectral pair}
+\begin_inset LatexCommand index
+name "line spectral pair"
\end_inset
@@ -4835,9 +4994,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Frame open-loop analysis
-\begin_inset LatexCommand \label{cap:Frame-open-loop-analysis}
+\begin_inset LatexCommand label
+name "cap:Frame-open-loop-analysis"
\end_inset
@@ -4849,6 +5012,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Section
Sub-Frame Analysis-by-Synthesis
\end_layout
@@ -4896,9 +5064,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Analysis-by-synthesis closed-loop optimization on a sub-frame.
-\begin_inset LatexCommand \label{cap:Sub-frame-AbS}
+\begin_inset LatexCommand label
+name "cap:Sub-frame-AbS"
\end_inset
@@ -4910,10 +5082,16 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
The analysis-by-synthesis (AbS) encoder loop is described in Fig.
-\begin_inset LatexCommand \ref{cap:Sub-frame-AbS}
+\begin_inset LatexCommand ref
+reference "cap:Sub-frame-AbS"
\end_inset
@@ -5026,7 +5204,8 @@
250 bps to 24.6 kbps, although the modes below 5.9 kbps should not be used
for speech.
The bit-allocation for each mode is detailed in table
-\begin_inset LatexCommand \ref{cap:bits-narrowband}
+\begin_inset LatexCommand ref
+reference "cap:bits-narrowband"
\end_inset
@@ -6317,9 +6496,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Bit allocation for narrowband modes
-\begin_inset LatexCommand \label{cap:bits-narrowband}
+\begin_inset LatexCommand label
+name "cap:bits-narrowband"
\end_inset
@@ -6331,15 +6514,22 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
So far, no MOS (Mean Opinion Score
-\begin_inset LatexCommand \index{mean opinion score}
+\begin_inset LatexCommand index
+name "mean opinion score"
\end_inset
) subjective evaluation has been performed for Speex.
In order to give an idea of the quality achievable with it, table
-\begin_inset LatexCommand \ref{cap:quality_vs_bps}
+\begin_inset LatexCommand ref
+reference "cap:quality_vs_bps"
\end_inset
@@ -6352,7 +6542,8 @@
Note that the complexity is only approximate (within 0.5 mflops and using
the lowest complexity setting).
Decoding requires approximately 0.5 mflops
-\begin_inset LatexCommand \index{complexity}
+\begin_inset LatexCommand index
+name "complexity"
\end_inset
@@ -6412,7 +6603,8 @@
\begin_layout Standard
Bit-rate
-\begin_inset LatexCommand \index{bit-rate}
+\begin_inset LatexCommand index
+name "bit-rate"
\end_inset
@@ -6426,7 +6618,8 @@
\begin_layout Standard
mflops
-\begin_inset LatexCommand \index{complexity}
+\begin_inset LatexCommand index
+name "complexity"
\end_inset
@@ -7217,9 +7410,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Quality versus bit-rate
-\begin_inset LatexCommand \label{cap:quality_vs_bps}
+\begin_inset LatexCommand label
+name "cap:quality_vs_bps"
\end_inset
@@ -7231,9 +7428,15 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Section
Perceptual enhancement
-\begin_inset LatexCommand \index{perceptual enhancement}
+\begin_inset LatexCommand index
+name "perceptual enhancement"
\end_inset
@@ -7294,12 +7497,14 @@
\begin_layout Chapter
Speex wideband mode (sub-band CELP)
-\begin_inset LatexCommand \index{wideband}
+\begin_inset LatexCommand index
+name "wideband"
\end_inset
-\begin_inset LatexCommand \label{sec:Speex-wideband-mode}
+\begin_inset LatexCommand label
+name "sec:Speex-wideband-mode"
\end_inset
@@ -7320,7 +7525,8 @@
f
\emph default
ilter
-\begin_inset LatexCommand \index{quadrature mirror filter}
+\begin_inset LatexCommand index
+name "quadrature mirror filter"
\end_inset
@@ -7328,7 +7534,8 @@
The 16 kHz signal is thus divided into two 8 kHz signals, one representing
the low band (0-4 kHz), the other the high band (4-8 kHz).
The low band is encoded with the narrowband mode described in section
-\begin_inset LatexCommand \ref{sec:Speex-narrowband-mode}
+\begin_inset LatexCommand ref
+reference "sec:Speex-narrowband-mode"
\end_inset
@@ -7390,20 +7597,23 @@
For the wideband mode, the entire narrowband frame is packed before the
high-band is encoded.
The narrowband part of the bit-stream is as defined in table
-\begin_inset LatexCommand \ref{cap:bits-narrowband}
+\begin_inset LatexCommand ref
+reference "cap:bits-narrowband"
\end_inset
.
The high-band follows, as described in table
-\begin_inset LatexCommand \ref{cap:bits-wideband}
+\begin_inset LatexCommand ref
+reference "cap:bits-wideband"
\end_inset
.
For wideband, the mode ID is the same as the Speex quality setting and
is defined in table
-\begin_inset LatexCommand \ref{tab:wideband-quality}
+\begin_inset LatexCommand ref
+reference "tab:wideband-quality"
\end_inset
@@ -7920,9 +8130,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Bit allocation for high-band in wideband mode
-\begin_inset LatexCommand \label{cap:bits-wideband}
+\begin_inset LatexCommand label
+name "cap:bits-wideband"
\end_inset
@@ -7934,6 +8148,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
\begin_inset Float table
placement h
@@ -7976,7 +8195,8 @@
\begin_layout Standard
Bit-rate
-\begin_inset LatexCommand \index{bit-rate}
+\begin_inset LatexCommand index
+name "bit-rate"
\end_inset
@@ -8334,9 +8554,13 @@
\end_layout
-\begin_layout Caption
+\begin_layout Standard
+\begin_inset Caption
+
+\begin_layout Standard
Quality versus bit-rate for the wideband encoder
-\begin_inset LatexCommand \label{tab:wideband-quality}
+\begin_inset LatexCommand label
+name "tab:wideband-quality"
\end_inset
@@ -8348,6 +8572,11 @@
\end_layout
+\end_inset
+
+
+\end_layout
+
\begin_layout Standard
\begin_inset ERT
status open
@@ -8387,12 +8616,14 @@
\begin_layout Subsection*
Vorbis is open-source
-\begin_inset LatexCommand \index{open-source}
+\begin_inset LatexCommand index
+name "open-source"
\end_inset
and patent-free
-\begin_inset LatexCommand \index{patent}
+\begin_inset LatexCommand index
+name "patent"
\end_inset
@@ -8428,7 +8659,8 @@
\begin_layout Standard
As of version 1.0 beta 1, Speex is released under Xiph's version of the (revised)
BSD license (see Appendix
-\begin_inset LatexCommand \ref{sec:Speex-License}
+\begin_inset LatexCommand ref
+reference "sec:Speex-License"
\end_inset
@@ -8446,7 +8678,8 @@
This basically means you have to keep the copyright notice and you can't
use our name to promote your product without authorization.
For more details, see license in Appendix
-\begin_inset LatexCommand \ref{sec:Speex-License}
+\begin_inset LatexCommand ref
+reference "sec:Speex-License"
\end_inset
@@ -8455,12 +8688,14 @@
\begin_layout Subsection*
Ogg
-\begin_inset LatexCommand \index{Ogg}
+\begin_inset LatexCommand index
+name "Ogg"
\end_inset
, Speex, Vorbis
-\begin_inset LatexCommand \index{Vorbis}
+\begin_inset LatexCommand index
+name "Vorbis"
\end_inset
@@ -8497,7 +8732,8 @@
\begin_layout Subsection*
Can I use Speex for compressing music
-\begin_inset LatexCommand \index{music}
+\begin_inset LatexCommand index
+name "music"
\end_inset
@@ -8627,7 +8863,8 @@
\begin_layout Subsection*
Can Speex pass DTMF
-\begin_inset LatexCommand \index{DTMF}
+\begin_inset LatexCommand index
+name "DTMF"
\end_inset
@@ -8679,7 +8916,8 @@
\begin_layout Subsection*
CELP, ACELP
-\begin_inset LatexCommand \index{ACELP}
+\begin_inset LatexCommand index
+name "ACELP"
\end_inset
@@ -8723,7 +8961,8 @@
\begin_layout Chapter
Sample code
-\begin_inset LatexCommand \label{sec:Sample-code}
+\begin_inset LatexCommand label
+name "sec:Sample-code"
\end_inset
@@ -8791,7 +9030,8 @@
\begin_layout Chapter
IETF RTP Profile
-\begin_inset LatexCommand \label{sec:IETF-draft}
+\begin_inset LatexCommand label
+name "sec:IETF-draft"
\end_inset
@@ -8815,7 +9055,8 @@
\begin_layout Chapter
Speex License
-\begin_inset LatexCommand \label{sec:Speex-License}
+\begin_inset LatexCommand label
+name "sec:Speex-License"
\end_inset
@@ -9354,7 +9595,7 @@
\end_layout
\begin_layout Standard
-\begin_inset LatexCommand \printindex{}
+\begin_inset LatexCommand printindex
\end_inset
More information about the commits
mailing list