Contenu principal

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

ALSA Audio Capture

Capturer l’audio d’une carte son avec ALSA

Produit supplémentaire requis : cette fonctionnalité nécessite le produit supplémentaire MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms.

  • NVIDIA ALSA audio capture block

Bibliothèques :
NVIDIA Jetson and NVIDIA DRIVE / Audio and Video

Description

Add-On Required: Cette fonctionnalité nécessite le

Le bloc ALSA Audio Capture lit les données audio du dispositif d’entrée audio connecté au hardware NVIDIA®. Pour ce faire, il utilise le framework de driver Advanced Linux Sound Architecture (ALSA).

En sortie, le bloc génère les données audio sous forme de matrice N x C, où N est le nombre d’échantillons par canal audio et C le nombre de canaux supportés par le dispositif audio. Les valeurs de N et de C sont à spécifier respectivement dans les paramètres Samples per frame (N) et Number of channels (C).

Remarque

Pour utiliser le bloc ALSA Audio Capture avec des dispositifs audio qui supportent plus de deux canaux, vous devez disposer d’une licence Audio Toolbox™.

Algorithme

Prenons l’exemple d’un modèle Simulink® comprenant un bloc ALSA Audio Capture et un bloc ALSA Audio Playback. À chaque pas d’échantillonnage, le bloc ALSA Audio Capture lit les données audio stéréo du micro connecté au connecteur d’entrée audio du hardware. Il produit des données sous forme de matrice 3 x 2. Le bloc ALSA Audio Playback accepte cette matrice et envoie les données audio au casque connecté au jack de sortie audio du hardware.

Sample workflow diagram for the audio blocks

Le bloc ALSA Audio Capture détermine le pas d’échantillonnage (Ts) en fonction du nombre d’échantillons par canal (N) et de la fréquence d’échantillonnage (Fs).

Ts = N / Fs

Par exemple, si N est égal à 4 410 échantillons et que Fs est égal à 44 100 Hz, le pas d’échantillonnage du bloc est de 4410/44,100 = 0.1 seconde.

N est le nombre d’échantillons par canal audio spécifié dans le paramètre Number of channels (C). Fs est la fréquence d’échantillonnage des données audio spécifiée dans le paramètre Audio sampling frequency (Hz).

Exemples

Ports

Sortie(s)

développer tout

En sortie, le bloc génère les données audio sous forme de matrice N x C, où N est le nombre d’échantillons par canal et C le nombre de canaux supportés par le dispositif audio. Les valeurs de N et de C sont à spécifier respectivement dans les paramètres Samples per frame (N) et Number of channels (C).

Par exemple, si le fichier audio stéréo source contient trois échantillons par canal, le bloc organise les données audio dans une matrice 3 x 2.

Block diagram show data layout from ALSA audio capture block

Le type de données de la matrice en sortie est celui spécifié dans le paramètre Device Bit depth.

Types de données : int8 | int16 | int32

Paramètres

développer tout

Spécifiez le dispositif d’entrée audio ALSA connecté au hardware à partir duquel le bloc lit les données audio.

Il est possible de capturer l’audio d’un dispositif d’entrée audio ALSA connecté au hardware. Pour obtenir la liste des dispositifs d’entrée audio connectés au hardware, utilisez la fonction listAudioDevices comme indiqué dans List Available ALSA Audio Input Devices.

Utilisation programmatique

Paramètre de bloc : deviceStr
Type : vecteur de caractères
Valeurs : valid name|
Par défaut : 'hw:1,0'

Avant leur conversion analogique-numérique, les données audio sont converties dans le type de données spécifié par ce paramètre.

Utilisation programmatique

Paramètre de bloc : DataBitDepth
Type : vecteur de caractères
Valeurs : '16-bit integer'|'8-bit integer''32-bit integer'
Par défaut : '16-bit integer'

Pour connaître le nombre de canaux supportés par le dispositif d’entrée audio, utilisez la fonction listAudioDevices comme indiqué dans List Available ALSA Audio Input Devices.

Utilisation programmatique

Paramètre de bloc : numberofChannels
Type : vecteur de caractères
Valeurs : entier positif
Par défaut : '2'

Spécifiez la fréquence d’échantillonnage (en Hz) utilisée par le dispositif d’entrée audio pour lire les données audio. Les fréquences d’échantillonnage indiquées dans le paramètre Audio sampling frequency (Hz) dépendent du dispositif d’entrée audio. Pour connaître les fréquences d’échantillonnage supportées par le dispositif d’entrée audio, utilisez la fonction listAudioDevices comme indiqué dans List Available ALSA Audio Input Devices.

Utilisation programmatique

Paramètre de bloc : sampleRateEnum
Type : vecteur de caractères
Valeurs : entier positif
Par défaut : '44100'

Ce paramètre spécifie le nombre de lignes de la matrice générée en sortie par le bloc. Cette matrice est de dimension N x C, où N est le nombre d’échantillons par canal et C le nombre de canaux.

Utilisation programmatique

Paramètre de bloc : frameSize
Type : vecteur de caractères
Valeurs : entier positif
Par défaut : '4410'

Historique des versions

Introduit dans R2021a