Skip to content

Commit

Permalink
agenda: use commands to refactor the audio agenda
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Bonnefille <[email protected]>
  • Loading branch information
Taumille committed Nov 30, 2024
1 parent 18a66f4 commit 5cd3aac
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 818 deletions.
205 changes: 1 addition & 204 deletions agenda/audio-agenda.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,209 +13,6 @@

\feshowinfo

\section{Day 1 - Morning}

\feagendatwocolumn
{Lecture - Digital Audio Representation}
{
\begin{itemize}
\item What is sound?
\item Sampling theory
\item Sample size, sample rate
\item Audio formats: I2S, LJ, RJ, DSPA, DSPB
\item AC97
\item IEC 61937 (S/PDIF and HDMI)
\item PDM
\end{itemize}
\vspace{0.5em}
{\em Introducing the basic notions used for representing audio waveforms.}
}
{Lecture - Hardware}
{
\begin{itemize}
\item Signals
\item CPU Digital Audio Interfaces
\item CODEC Digital Audio Interfaces
\item Amplifiers
\item Clocks and clock providers
\end{itemize}
\vspace{0.5em}
{\em Presenting the hardware involved in the audio playback or capture.}
}

\feagendaonecolumn
{Lecture - Linux kernel ASoC subsystem}
{
\begin{itemize}
\item ASoC: the ALSA System-on-Chip subsystem in the Linux kernel
\item Describing audio cards with Device Tree: {\em
audio-graph-card}, {\em simple-audio-card}
\item Linux kernel drivers for audio cards
\item Linux kernel drivers for audio codecs
\item Controls
\item Linux kernel drivers for CPU audio interfaces
\end{itemize}
\vspace{0.5em}
{\em Introducing the Linux kernel subsystem for audio on embedded systems.}
}

\section{Day 1 - Afternoon}

\feagendatwocolumn
{Lecture - Linux kernel helpers}
{
\begin{itemize}
\item {\em regmap}, {\em regcache}
\item DMA handling
\end{itemize}
\vspace{0.5em}
{\em Presenting the common helper APIs.}
}
{Lecture - More audio components}
{
\begin{itemize}
\item Auxiliary devices, amplifiers, muxing
\item Jack detection
\item Asynchronous Sample Rate Converter
\end{itemize}
\vspace{0.5em}
{\em Presenting more components of the sound cards.}
}

\feagendaonecolumn
{Lecture - Routing}
{
\begin{itemize}
\item Routing audio
\item DAPM: Dynamic Audio Power Management
\end{itemize}
\vspace{0.5em}
{\em Presenting the audio routes and power management.}
}

\section{Day 2 - Morning}

\feagendatwocolumn
{Lecture - Userspace, hardware configuration}
{
\begin{itemize}
\item ALSA plugins
\item \code{asound.conf}
\item Sound card configuration
\end{itemize}
\vspace{0.5em}
{\em Configuring the userspace audio paths and effects.}
}
{Demo - Card configuration examples}
{
\begin{itemize}
\item Reordering channels
\item Splitting channels
\item Resampling
\item Mixing
\item LADSPA
\end{itemize}
\vspace{0.5em}
{\em Exercising the ALSA plugins.}
}

\feagendatwocolumn
{Lecture - Userspace, controls configuration}
{
\begin{itemize}
\item {\em amixer}
\item {\em alsamixer}
\item Userspace API
\item Saving state: {\em alsactl}, \code{asound.state}
\end{itemize}
\vspace{0.5em}
{\em Configuring the userspace audio paths and effects.}
}
{Demo - Configuring controls}
{
\begin{itemize}
\item {\em alsamixer} demonstration
\item \code{asound.state} examples
\item Custom application
\end{itemize}
\vspace{0.5em}
{\em Configuring the sound card controls.}
}

\feagendaonecolumn
{Lecture - Userspace, playing and capturing audio}
{
\begin{itemize}
\item Userspace ALSA API
\end{itemize}
\vspace{0.5em}
{\em Playing and capturing audio samples.}
}

\section{Day 2 - Afternoon}

\feagendatwocolumn
{Lecture - Troubleshooting}
{
\begin{itemize}
\item Debugging
\item {\em vizdapm}
\end{itemize}
\vspace{0.5em}
{\em Presenting how to debug common issues.}
}
{Demo - Debugging}
{
\begin{itemize}
\item Examples of common issues and their resolutions
\end{itemize}
}

\feagendatwocolumn
{Lecture - Pipewire}
{
\begin{itemize}
\item Pipewire introduction
\item Pipewire configuration
\item Pipewire tools (pwdump, pw-cli, ...)
\item Pipewire session and policy management
\item Pipewire modules and filtering
\item {\em WirePlumber}
\end{itemize}
\vspace{0.5em}
{\em Using Pipewire as the sound server.}
}
{Demo - Pipewire}
{
\begin{itemize}
\item Running pipewire on the target
\item Inspecting the configuration and setting properties
\item Dynamic routing and patchbay
\item Using modules and Filter-Chain
\end{itemize}
\vspace{0.5em}
{\em Running Pipewire and exercising advanced configuration.}
}

\feagendatwocolumn
{Lecture - The GStreamer multimedia framework}
{
\begin{itemize}
\item {\em GStreamer}
\item GStreamer pipelines
\item GStreamer plugins
\end{itemize}
\vspace{0.5em}
{\em Using Gstreamer for audio capture and playback.}
}
{Demo - GStreamer}
{
\begin{itemize}
\item Running gstreamer on the target
\item Creating multiple pipelines
\end{itemize}
\vspace{0.5em}
{\em Running Gstreamer using different audio pipelines.}
}
\onsiteagenda

\end{document}
Loading

0 comments on commit 5cd3aac

Please sign in to comment.