[bootlin/training-materials updates] master: agenda: new online audio training (aeace4ac)

Alexandre Belloni alexandre.belloni at bootlin.com
Wed Jan 27 23:35:14 CET 2021


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/aeace4ac6b1ffac7ec03766e30f7ab8e9a6e8319

>---------------------------------------------------------------

commit aeace4ac6b1ffac7ec03766e30f7ab8e9a6e8319
Author: Alexandre Belloni <alexandre.belloni at bootlin.com>
Date:   Mon Jan 25 11:29:46 2021 +0100

    agenda: new online audio training
    
    Signed-off-by: Alexandre Belloni <alexandre.belloni at bootlin.com>


>---------------------------------------------------------------

aeace4ac6b1ffac7ec03766e30f7ab8e9a6e8319
 agenda/audio-online-agenda.tex | 297 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 297 insertions(+)

diff --git a/agenda/audio-online-agenda.tex b/agenda/audio-online-agenda.tex
new file mode 100644
index 00000000..2033c199
--- /dev/null
+++ b/agenda/audio-online-agenda.tex
@@ -0,0 +1,297 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\usepackage{agenda}
+\usepackage{colortbl}
+\usepackage{xcolor}
+\usepackage{calc}
+
+\hypersetup{pdftitle={Training - Playing and capturing sound under Linux with ALSA},
+  pdfauthor={Bootlin}}
+
+\renewcommand{\arraystretch}{2.0}
+
+\begin{document}
+
+\thispagestyle{fancy}
+
+\setlength{\arrayrulewidth}{0.8pt}
+
+\begin{center}
+\LARGE
+Training - Playing and capturing sound under Linux with ALSA \\
+\large
+On-line seminar
+\end{center}
+
+\vspace{1cm}
+\small
+\newcolumntype{g}{>{\columncolor{fedarkblue}}m{4cm}}
+\newcolumntype{h}{>{\columncolor{felightblue}}X}
+
+\arrayrulecolor{lightgray} {
+  \setlist[1]{itemsep=-5pt}
+  \begin{tabularx}{\textwidth}{|g|h|}
+    {\bf Title} & {\bf Training - Playing and capturing sound under Linux with ALSA} \\
+    \hline
+
+    {\bf Overview} &
+    Digital audio representation \par
+    CPU and CODEC interfaces \par
+    Sound card components \par
+    ALSA kernel API \par
+    Device tree description \par
+    Regmap \par
+    Userspace configuration \par
+    Playing and recording audio \\
+    \hline
+    {\bf Materials} &
+    Check that the course contents correspond to your needs:
+    \newline \url{https://bootlin.com/doc/training/audio}. \\
+    \hline
+
+    {\bf Duration} & {\bf Three} half days - 12 hours (4 hours per half day).
+    \newline 80\% of lectures, 20\% of practical demos. \\
+    \hline
+
+    {\bf Trainer} & One of the engineers listed on:
+    \newline \url{https://bootlin.com/training/trainers/}\\
+    \hline
+
+    {\bf Language} & Oral lectures: English
+    \newline Materials: English.\\
+    \hline
+
+    {\bf Audience} & People developing multimedia devices using the Linux kernel\\
+    \hline
+
+    {\bf Prerequisites} &
+    {\bf C programming language, basic knowledge of concepts related to low-level
+    hardware interaction (e.g. registers, interrupts),
+    kernel-level system management (e.g. virtual memory mappings) and
+    userspace syscalls (e.g. ioctl, mmap).
+    Basic knowledge of concepts related to hardware interfaces
+    (e.g. clocks, busses).}\\
+    \hline
+
+  \end{tabularx}
+
+  \begin{tabularx}{\textwidth}{|g|h|}
+    {\bf Required equipment} &
+    \begin{itemize}
+    \item Computer with the operating system of your choice, with the
+          Google Chrome or Chromium browser for videoconferencing.
+    \item Webcam and microphone (preferably from an audio headset)
+    \item High speed access to the Internet
+    \end{itemize}\\
+    \hline
+
+    {\bf Materials} & Electronic copies of presentations slides\\
+    \hline
+
+\end{tabularx}}
+\normalsize
+
+\section{Half day 1}
+
+\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 Slimbus
+  \item Soundwire
+  \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 master
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting the hardware involved in the audio playback or capture.}
+}
+\\
+\feagendatwocolumn
+{Lecture - ASoC}
+{
+  \begin{itemize}
+  \item CODEC driver API
+  \item CPU DAI driver API
+  \item Card driver API
+  \item Widgets
+  \item {\em audio-graph-card}, {\em simple-audio-card}
+  \item Components
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Introducing the kernel software support.}
+}
+{Demo - audio card examples}
+{
+  \begin{itemize}
+  \item Examples of DT only audio cards
+  \item Examples of card drivers
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting existing sound card support.}
+}
+
+\section{Half day 2}
+
+\feagendatwocolumn
+{Lecture - Helpers}
+{
+  \begin{itemize}
+  \item {\em regmap}, {\em regcache}
+  \item DMA handling
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting the common helper APIs.}
+}
+{Lecture - Routing}
+{
+  \begin{itemize}
+  \item Routing audio
+  \item DAPM
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting the audio routes and power managment.}
+}
+\\
+
+\feagendatwocolumn
+{Lecture - More 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.}
+}
+{Demo - complex audio card examples}
+{
+  \begin{itemize}
+  \item Examples of DT only complex audio cards
+  \item Examples of complex card drivers
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting existing advanced sound card support.}
+}
+
+\section{Half day 3}
+
+\feagendatwocolumn
+{Lecture - Troubleshooting}
+{
+  \begin{itemize}
+  \item Debugging
+  \item {\em vizdapm}
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting how to debug common issues.}
+}
+{Demo - Debbuging}
+{
+  \begin{itemize}
+  \item Examples of common issues and their resolutions
+  \end{itemize}
+}
+\\
+
+\feagendatwocolumn
+{Lecture - Userspace, hardware configuration}
+{
+  \begin{itemize}
+  \item ALSA plugins
+  \item asound.conf
+  \item 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, widget configuration}
+{
+  \begin{itemize}
+  \item {\em amixer}
+  \item {\em alsamixer}
+  \item Userspace API
+  \item Saving state: {\em alsactl}, asound.state
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Configuring the userspace audio paths and effects.}
+}
+{Demo - Configuring widgets}
+{
+  \begin{itemize}
+  \item {\em alsamixer} demonstration
+  \item asound.state examples
+  \item Custom application
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Configuring the sound card widgets.}
+}
+\\
+
+\feagendatwocolumn
+{Lecture - Userspace, playing and capturing audio}
+{
+  \begin{itemize}
+  \item Userspace API
+  \item {\em pulseaudio}
+  \item {\em jack}
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Playing and capturing audio samples.}
+}
+{Lecture - advanced features}
+{
+  \begin{itemize}
+  \item Compressed streams
+  \item Topology
+  \item CODEC to CODEC link
+  \end{itemize}
+  \vspace{0.5em}
+  {\em Presenting some very advanced features.}
+}
+\\
+
+\feagendaonecolumn
+{Questions and Answers}
+{
+  \begin{itemize}
+  \item Questions and answers with the audience about the course topics
+  \item Extra presentations if time is left, according what most
+        participants are interested in.
+  \end{itemize}
+}
+
+\end{document}
+




More information about the training-materials-updates mailing list