ALSA Audio Playback
Send audio to sound card for playback using ALSA
Add-On Required: This feature requires the Simulink Support Package for Raspberry Pi Hardware add-on.
Libraries:
Simulink Support Package for Raspberry Pi Hardware /
Audio and Video
Description
The ALSA Audio Playback block sends audio data to the audio output devices, such as speakers or headphones, connected to the hardware. The block uses an Advanced Linux Sound Architecture (ALSA) driver framework to send audio data.
The block accepts an N-by-C matrix, where N is the samples per channel, and C is the number of channels supported by the audio. The block determines these values from the input signal.
Note
To use the ALSA Audio Playback block with audio devices that support more than two channels, you must have an Audio Toolbox™ license.
In the Simulink® model, you can set the ALSA Audio Playback block as the source of the scheduler interrupt for the Raspberry Pi® hardware. For more information, see Scheduler options.
Algorithm
Consider a Simulink model that includes a ALSA Audio Capture block and a ALSA Audio Playback block. The ALSA Audio Capture reads stereo audio data from the microphone connected to the audio input connector of the hardware. The block outputs data as a 3-by-2 matrix. At each sample time, the ALSA Audio Playback block accepts the audio matrix and sends audio to the headphones connected to the audio output jack of the hardware.
The ALSA Audio Playback block determines the sample time (Ts) from the samples per audio channel (N) and sampling frequency (Fs).
Ts = N / Fs
For example, if N is 4410 samples and Fs is 44,100 Hz, the block sample time is 4410/44,100 = 0.1 seconds.
N is the number of samples per audio channel. The block determines the value of N from the input data. Fs is the sampling frequency of the input data specified in the Audio sampling frequency (Hz) parameter.
Ports
Input
Parameters
Version History
Introduced in R2013a