Audio handling in Embedded Systems

3 Day course covering all aspects of Audio handling in Embedded System - From hardware to applications

Linux is a very popular technology that is being used around in embedded systems for many years. It is the best example of how open source can impact the ecosystem positively. Right from the first version, Linus Torvalds has kept the focus on making it clean and open with active contributions from a large number of developer communities. Each version of Linux goes through a rigorous process of validation and features added/removed based on needs at that point of time. Though there are mailing lists and IRC channels that discuss the rationale behind the changes/evolution between each version of Linux, still a major part of it is not well documented. Many parts of Linux has little to virtually nil documentation that the developers working on that needs to go through the code to get a deep understanding and develop drivers/applications on top of that. The same can be said of Android, where even the design choices are not discussed in open.

One such sub-system in Linux is the Audio. Though ALSA is the default sound system in Linux, it is a huge piece of work involving a lot of layers and modules. With very little documentation available, even veteran engineers working on it need to spend a lot of time to understand it before doing some serious work on it. The learning and development cell of one of a leading technology company based out of Europe approached us for providing training on Audio System for its engineers working on developing drivers for new codecs, controllers, and applications in their ultra low power systems. Embien, a leading embedded multimedia technology-focused company, successfully developed and delivered the training at the customer premises.

Learning and Development Requirements

Based on our Multimedia on Embedded Course, the customer wanted a more specialized course covering the Audio subsystem in detail. As new codecs and SoC, will be used in different iterations of their platforms, a complete flow right from the underlying hardware to the top-most applications is needed. Apart from Linux, the customer wanted to understand the inner layers of the Android Audio subsystem. Since the engineers will be working on battery-powered embedded devices, low power consumption will be the main focus. Further the training must have hands-on experiments on their platform which is powered by an SoC that is not available in the open market. Our experienced team took a specialist approach and created the training contents and materials. The overview of modules covered in the training is depicted below.

Embedded audio training

Audio handling in Embedded Systems

Embien prepared the training and delivered it successfully at the Customer premises in Europe. Spanning three days the training, starting from basic concepts to the advanced techniques in the Audio subsystem and embedded audio processing. Each day is split into two sessions. The first session covered basic Audio concepts including the human auditory system, Controllers and Codecs, interface techniques - SLIMBus, I2C, PCM, AC97, HD Audio, McASP, USB, codec selection criteria etc. The second session covered the ALSA applications in depth enabling the application developers to work with the Audio subsystem along with ALSA Plug-Ins, UCMs (Use Case Manager), Sound servers etc. The third session on Day 2 covered ALSA driver concepts in detail. ALSA for SoC (ASoC) is explained in detail - Platform, Codec, Machine Drivers, Dynamic Audio Power Management (DAPM), Dynamic PCM (DPCM)- as it is most important for an embedded developer perspective. Audio encoding process (Loss-less & Lossy) and libraries along with Speech encoding are covered in the fourth session. Android Audio is covered on the third day with a focus on the Audio Subsystem in a fifth session covering Android HAL, Policies, etc, and Android Multimedia in sixth session detailing Stagefright, OpenMAX codec integration, and App development.

GStreamer, SALSA, OpenSL,tinyALSA, Jack Detection, FFMPEG, Optimization and performance characterizations and many other topics were discussed. Tips and tricks for faster development and debugging are discussed in detail. Each session had a hands-on exercise covering important aspects of that session. Done on the customer's platform, it enabled the engineers to understand the platform well and helped them in better audio handling in Embedded Systems.

Always having a finger on the pulse of emerging technologies and trends, Embien has successfully delivered many such customized trainings for Corporate worldwide and on time for the benefit of their engineers. Ready to cater to different client needs, check out with the best corporate training company for your training requirements and development support as well...