aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--interfaces.tex15
-rw-r--r--introduction.tex30
-rw-r--r--scenarios.tex6
3 files changed, 24 insertions, 27 deletions
diff --git a/interfaces.tex b/interfaces.tex
index 512bde2..7d45c32 100644
--- a/interfaces.tex
+++ b/interfaces.tex
@@ -8,15 +8,15 @@ generate all files separately, one after the other.
Here is an example to generate a two-minute ETI file for a multiplex containing
two programmes:
\begin{itemize}
- \item one DAB programme at 128kbps, encoded with Toolame-DAB
- \item one \dabplus{} programme at 88kbps, encoded with FDK-AAC-DABplus
+ \item one DAB programme at 128kbps
+ \item one \dabplus{} programme at 88kbps
\end{itemize}
We assume that the audio data for the two programmes is located in uncompressed
48kHz WAV in the files \filename{prog1.wav} and \filename{prog2.wav}. The first step
is to encode the audio. The DAB programme is encoded to \filename{prog1.mp2} using:
\begin{lstlisting}
-toolame -b 128 prog1.wav prog1.mp2
+odr-audioenc --dab -b 128 prog1.wav prog1.mp2
\end{lstlisting}
The DAB+ programme is encoded to \filename{prog2.dabp}. The extension
@@ -24,7 +24,7 @@ The DAB+ programme is encoded to \filename{prog2.dabp}. The extension
other AAC encoded audio, it makes sense to use a special extension. The command
is:
\begin{lstlisting}
-dabplus-enc -i prog2.wav -b 88 -o prog2.dabp
+odr-audioencenc -i prog2.wav -b 88 -o prog2.dabp
\end{lstlisting}
These resulting files can then be used with ODR-DabMux to create an ETI file.
@@ -124,15 +124,12 @@ use this interconnection locally on the same machine.
\subsubsection{Between Encoder and Multiplexer}
\label{sec:between_encoder_and_multiplexer}
-Between FDK-AAC-DABplus and ODR-DabMux, the ZeroMQ connection transmits AAC
+Between ODR-AudioEnc and ODR-DabMux, the ZeroMQ connection transmits AAC
superframes, with additional metadata that contains the audio level indication
for monitoring purposes. The multiplexer cannot easily derive the audio level
from the AAC bitstream without decoding it, so it makes more sense to calculate
this in the encoder.
-The Toolame-DAB encoder also can send MPEG frames over ZeroMQ, but is not yet
-able to calculate and transmit audio level metadata yet.
-
On the multiplexer, the subchannel must be configured for ZeroMQ as follows:
\begin{lstlisting}
sub-fb {
@@ -199,7 +196,7 @@ behaviour in intervals that are not acceptable, e.g. more than once per hour.
Both situations are suboptimal, because they lead to audio glitches, and also
degrade the ability to compensate for network latency changes. It is preferable
-to use the drift compensation feature available in FDK-AAC-DABplus, which
+to use the drift compensation feature available in ODR-AudioEnc, which
insures that the encoder outputs the AAC bitstream at the nominal rate, aligned
to the NTP-synchronised system time, and not to the sound card clock. The sound
card clock error is compensated for inside the encoder.
diff --git a/introduction.tex b/introduction.tex
index 6e7c441..7a06bfa 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -74,12 +74,13 @@ become very difficult, if not impossible to acquire licences for the
available, which was part of Google's Android sources. This encoder has been
extended with the necessary \dabplus{}-specific requirements (960-transform,
error correction, framing, etc.), and now exists under the name
-\mbox{FDK-AAC-DABplus}.
+\mbox{fdk-aac}. The encoder \mbox{ODR-AudioEnc} can use this library to encoder
+\dabplus{}.
\subsection{Included Tools}
The \mmbtools are composed of several software projects:
\mbox{ODR-DabMux}, \mbox{ODR-DabMod},
-\mbox{Toolame-DAB}, \mbox{FDK-AAC-DABplus}, and other scripts, bits and pieces
+\mbox{ODR-AudioEnc}, \mbox{ODR-PadEnc}, and other scripts, bits and pieces
that are useful for the setup of a transmission chain.
\subsubsection{ODR-DabMux}
@@ -110,23 +111,24 @@ output. Other SDR platforms can be used if they are able to accept the I/Q data.
The output of the modulator can also be used in GNURadio if format conversion or
graphical analysis (spectrum) is to be done.
-\subsubsection{Toolame-DAB}
-TooLAME is a MPEG-1 Layer II audio encoder that is used to encode audio for the
-DAB standard. The original project has been unmaintained since 2003, but the
-twolame fork that pursues the development removed the DAB framing. Because of
-this, twolame is not suitable for DAB.
+\subsubsection{ODR-AudioEnc}
+The ODR-AudioEnc encoder can be used to encode for DAB and \dabplus. It includes
+a toolame-based MPEG encoder, and uses the \mbox{fdk-aac} library as an external
+dependency to encode \dabplus{}.
-The Toolame-DAB fork includes the ZeroMQ output and PAD insertion support, but
-the audio coder is the same as the one in tooLAME.
+The integrated TooLAME library is a MPEG-1 Layer II audio encoder that is used
+to encode audio for the DAB standard. The original project has been unmaintained
+since 2003, but the twolame fork that pursues the development removed the DAB
+framing. Because of this, twolame is not suitable for DAB.
-\subsubsection{FDK-AAC-DABplus}
-The FDK-AAC-DABplus encoder can be used to encode for \dabplus. The encoder
-itself comes from the Android sources, and was written by Fraunhofer.
-
-The necessary framing and error-correction that \dabplus mandates, the PAD
+The necessary framing and error-correction that \dabplus{} mandates, the PAD
insertion, the ZeroMQ output and the ALSA input were then added by different
parties.
+\subsubsection{ODR-PadEnc}
+This encoder is able to generate programme associated data that can be injected
+into ODR-AudioEnc. It supports DLS, reading from a file, and MOT Slideshow,
+where the slides are read from a folder.
% vim: spl=en spell tw=80 et
diff --git a/scenarios.tex b/scenarios.tex
index eeb3c55..f55ee4d 100644
--- a/scenarios.tex
+++ b/scenarios.tex
@@ -263,7 +263,7 @@ to carry the audio data to the encoder.
\subsubsection{Local Audio Card}
It is possible to use an audio card connected to the computer as source. For
-very simple scenarios, the ALSA input for FDK-AAC-DABplus is easiest to set up.
+very simple scenarios, the ALSA input for ODR-AudioEnc is easiest to set up.
This however limits the usage of a single encoder per sound-card, and will not
scale well if more than one programme has to be encoded on the machine. It is
however ideal for dedicated encoding machines that can contribute the encoded
@@ -277,8 +277,6 @@ The input channels can be freely connected to the encoders thanks to the virtual
JACK patch panel.
\sidenote{It might be possible to use the libVLC input too, to be defined.}
-FDK-AAC-DABplus supports JACK and ALSA input, but Toolame-dab supports only the
-JACK input.
\subsubsection{Using Existing Web-Streams}
\label{usingexistingwebstreams}
@@ -298,7 +296,7 @@ necessary in the stream decoder.
There are many different stream decoders, and gstreamer, mpg123 and mplayer have
been tested. By far the easiest way is to use the libVLC binding that can be
-compiled for Toolame-dab and FDK-AAC-DABplus. This library has
+compiled for ODR-AudioEnc. This library has
the same features as the VLC audio player, but the audio data is directly passed
to the encoding routines. This allows the encoder to receive all network
sources VLC supports, not only HTTP web-streams but also less common setups