2. Audio Overview
●Sound is a mechanical wave that is an oscillation of pressure transmitted through a solid, liquid, or gas.
●The perception of sound in any organism is limited to a certain range of frequencies(20Hz~20000Hz for humans)
3. Audio Overview
●When you create a new audio file in a digital audio
processing program, you are asked to choose:
• Sampling rate: The sampling rate, sample rate, or sampling
frequency defines the number of samples per unit of time (usually
seconds) taken from a continuous signal to make a discrete
signal.
• Bit depth: Bit depth describes the number of bits of information
recorded for each sample.
●Nyquist Sampling Theory:
"When restoring the sampled analog signal, its highest frequency is only half of the sampling frequency."
Commonly used audio sampling frequencies are: 8kHz, 11.025kHz, 22.05kHz, 16kHz, 37.8kHz, 44.1kHz, 48kHz, 96kHz, 192kHz, etc.
4. Audio Dithering
Adding a random noise(dither) to the original wave eliminates
the sharp stair-step effect in the quantized signal
6. Frequency Analysis
A complex waveform is equal to an infinite sum of simple
sinusoidal waves, beginning with a fundamental frequency
and going through frequencies that are integer multiples of
the fundamental frequency – harmonic frequencies
Time domain
• Input: time (x-axis)
• Output: amplitude(y-axis)
8. Dynamic Processing
Dynamics processing is the process of adjusting the dynamic range of an audio selection, either to reduce
We introduce 4 digital dynamics processing tools here: limiting, normalization, compression, and expans
12. Normalization
Often, normalization is used to increase the
perceived loudness of a piece after the dynamic
range of the piece has been compressed.
• Normalization steps:
1. Find the highest amplitude sample in the audio selection.
2. Determine the gain needed in the amplitude to raise the
highest amplitude to maximum amplitude.
3. Raise all samples in the selection by this amount.
13. Audio Restoration
In this section, we introduce two basic types
of audio restoration to alleviate the background
noise that arises from the microphone, air,
disk …etc.
• Noise gating
• Noise reduction
14. Noise Gating
A noise gate allows a signal to pass through only
when it is above a set threshold.
It is used when the level of the signal is above the
level of the noise. It does not remove noise from the
signal. When the gate is open, both the signal and
the noise will pass through
15. Noise Reduction
Steps for noise reduction:
1. Get a profile of the background noise. This can be
done by selecting an area that should be silent, but
that contains a hum or buzz.
2. Determine the frequencies in the noise and their
corresponding amplitude levels.
3. The entire signal is processed in sections(FFT). The
frequencies in each section are analyzed and
compared to the profile, and if these sections
contain frequency components similar to the noise,
these can be eliminated below certain amplitudes.
17. Linux ALSA
• ALSA Application: providing tinyplay / tinycap / tinymix, these user programs directly call the alsa user library interface to realize playback, recording, and control
• ALSA Library API: alsa user library interface, common are tinyalsa, alsa-lib
• ALSA CORE: providing up logic device (PCM / CTL / MIDI / TIMER / ...) system call, driving down the hardware device (Machine / the I2S / the DMA / the CODEC)
• ASoC CORE: is built on a standard basis, in order a set of software systems that better support embedded systems and audio codec applied to mobile devices
• Hardware Driver: audio hardware device driver, consisting of three major parts, namely Machine, Platform, and Codec
19. Linux ALSA
• ALSA Application: providing tinyplay / tinycap / tinymix, these user programs directly call the alsa user library interface to realize playback, recording, and control
• ALSA Library API: alsa user library interface, common are tinyalsa, alsa-lib
• ALSA CORE: providing up logic device (PCM / CTL / MIDI / TIMER / ...) system call, driving down the hardware device (Machine / the I2S / the DMA / the CODEC)
• ASoC CORE: is built on a standard basis, in order a set of software systems that better support embedded systems and audio codec applied to mobile devices
• Hardware Driver: audio hardware device driver, consisting of three major parts, namely Machine, Platform, and Codec
20. Android Audio Framework
• Audio Flinger: is the core and the entire audio system. It is also a system service and plays the role of starting up (providing an access interface for the upper layer) and starting down (thro
• AudioPolicyService: is the policy maker, such as when to open the audio interface device, what kind of device corresponds to a certain stream type of audio, etc. AudioPolicyService instru