Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

ALSA Audio Capture

Aufnahme von Audio über die Soundkarte mit ALSA

Erforderliche Add-Ons: Für diese Funktion ist das Add-On MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms erforderlich.

  • NVIDIA ALSA audio capture block

Bibliotheken:
NVIDIA Jetson and NVIDIA DRIVE / Audio and Video

Beschreibung

Add-On Required: Diese Funktion erfordert das

Der ALSA Audio Capture-Block liest Audiodaten von dem an die NVIDIA®-Hardware angeschlossenen Audioeingabegerät. Der Block verwendet das Treiber-Framework Advanced Linux Sound Architecture (ALSA) zum Lesen von Audiodaten.

Der Block gibt die Audiodaten als Matrix mit N-mal-C aus, wobei N die Anzahl der Samples pro Audiokanal und C die Anzahl der vom Audiogerät unterstützten Kanäle angibt. Geben Sie die Werte für N und C in den Parametern Samples per frame (N) und Number of channels (C) an.

Hinweis

Um den ALSA Audio Capture-Block mit Audiogeräten zu verwenden, die mehr als zwei Kanäle unterstützen, benötigen Sie eine Audio Toolbox™-Lizenz.

Algorithmus

Stellen Sie sich ein Simulink®-Modell vor, das einen ALSA Audio Capture-Block und einen ALSA Audio Playback-Block enthält. Zu jedem Abtastzeitpunkt liest das ALSA Audio Capture Stereo-Audiodaten von dem Mikrofon, das an den Audioeingang der Hardware angeschlossen ist. Der Block gibt Daten als 3-mal-2-Matrix aus. Der ALSA Audio Playback-Block empfängt die Audiomatrix und sendet den Ton an die Kopfhörer, die an die Audioausgangsbuchse der Hardware angeschlossen sind.

Sample workflow diagram for the audio blocks

Der ALSA Audio Capture-Block bestimmt die Abtastzeit (Ts) aus den Abtastwerten pro Audiokanal (N) und der Abtastfrequenz (Fs).

Ts = N / Fs

Wenn beispielsweise N für 4410 Samples und Fs für 44.100 Hz steht, beträgt die Blocksamplingzeit 4410/44,100 = 0.1 Sekunden.

N ist die Anzahl der Samples pro Audiokanal, die im Parameter Number of channels (C) angegeben ist. Fs ist die Abtastfrequenz der Audiodaten, die im Parameter Audio sampling frequency (Hz) angegeben ist.

Beispiele

Ports

Ausgabe

alle erweitern

Der Block gibt die Audiodaten als N-mal-C-Matrix aus, wobei N die Anzahl der Samples pro Kanal und C die Anzahl der vom Audio unterstützten Kanäle angibt. Geben Sie die Werte N und C in den Parametern Samples per frame (N) und Number of channels (C) an.

Beispielsweise organisiert der Block bei einer Stereo-Audioquelldatei mit drei Samples pro Kanal die Audiodaten in einer 3-mal-2-Matrix.

Block diagram show data layout from ALSA audio capture block

Der Datentyp der Ausgabematrix entspricht dem im Parameter Device Bit depth angegebenen Typ.

Datentypen: int8 | int16 | int32

Parameter

alle erweitern

Geben Sie das ALSA-Audioeingabegerät an, das mit der Hardware verbunden ist, von der der Block Audiodaten liest.

Sie können Audiodaten von einem ALSA-Audioeingabegerät empfangen, das an die Hardware angeschlossen ist. Um eine Liste der an die Hardware angeschlossenen Audioeingabegeräte zu erhalten, verwenden Sie die Funktion listAudioDevices wie unter List Available ALSA Audio Input Devices beschrieben.

Programmatische Verwendung

Blockparameter: deviceStr
Typ: Zeichenvektor
Werte: valid name|
Standard: 'hw:1,0'

Vor der Analog-Digital-Wandlung werden die Audiodaten in den in diesem Parameter angegebenen Datentyp umgewandelt.

Programmatische Verwendung

Blockparameter: DataBitDepth
Typ: Zeichenvektor
Werte: '16-bit integer'|'8-bit integer''32-bit integer'
Standard: '16-bit integer'

Um die Anzahl der vom Audioeingabegerät unterstützten Kanäle zu ermitteln, verwenden Sie die Funktion listAudioDevices wie unter List Available ALSA Audio Input Devices beschrieben.

Programmatische Verwendung

Blockparameter: numberofChannels
Typ: Zeichenvektor
Werte: positive Ganzzahl
Standard: '2'

Geben Sie die Abtastrate in Hz an, die vom Audioeingabegerät zum Lesen von Audiodaten verwendet wird. Die im Parameter Audio sampling frequency (Hz) aufgeführten Abtastraten hängen vom Audioeingabegerät ab. Um die vom Audioeingabegerät unterstützten Abtastraten zu ermitteln, verwenden Sie die Funktion listAudioDevices, wie unter List Available ALSA Audio Input Devices beschrieben.

Programmatische Verwendung

Blockparameter: sampleRateEnum
Typ: Zeichenvektor
Werte: positive Ganzzahl
Standard: '44100'

Dieser Parameter gibt die Anzahl der Zeilen der Ausgabematrix an, die der Block ausgibt. Die Ausgabematrix hat die Dimensionen N-mal-C, wobei N die Anzahl der Samples pro Kanal und C die Anzahl der Kanäle ist.

Programmatische Verwendung

Blockparameter: frameSize
Typ: Zeichenvektor
Werte: positive Ganzzahl
Standard: '4410'

Versionsverlauf

Eingeführt in R2021a