Device mit aplay angeben

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
wckl
Beiträge: 788
Registriert: 10.08.2007 15:26:28
Lizenz eigener Beiträge: GNU General Public License
Wohnort: St. Georges de Didonne

Device mit aplay angeben

Beitrag von wckl » 31.01.2018 11:04:40

Hallo,

ich möchte mit

Code: Alles auswählen

aplay --device=
das Gerät für die Ausgabe angeben.
Folgende Geräte sind verfügbar:

Code: Alles auswählen

aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC892 Analog [ALC892 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: ALC892 Digital [ALC892 Digital]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 3: HDMI 0 [HDMI 0]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Bzw.

Code: Alles auswählen

aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct sample mixing device
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct sample mixing device
dmix:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct sample snooping device
dsnoop:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Direct hardware device without any conversions
hw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC892 Digital
    Hardware device with all software conversions
plughw:CARD=PCH,DEV=3
    HDA Intel PCH, HDMI 0
    Hardware device with all software conversions
Ich begreife nicht, wie ich nun mit aplay das Gerät definieren muß.

Hat jemand Hinweise?
Vielen Dank.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Device mit aplay angeben

Beitrag von smutbert » 31.01.2018 11:22:14

Das ist nicht weiter schwierig, zB für den analogen Teil des Onboardsounds:

Code: Alles auswählen

Karte 0: PCH [HDA Intel PCH], Gerät 0: ALC892 Analog [ALC892 Analog]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
entweder für card 0, device 0

Code: Alles auswählen

aplay --device="plughw:0,0" meine_wav-Datei.wav
oder besser noch mit dem Namen der Soundkarte, weil die Nummer sich von Systemstart zu Systemstart ändern kann und diesmal ohne Nummer des Geräts, weil 0 ohnehin das Defaultgerät ist

Code: Alles auswählen

aplay --device="plughw:PCH" meine_wav-Datei.wav
Das plug kann man auch weglassen. also "hw:0" oder "hw:PCH", aber dann werden notwendige Konvertierungen nicht von Alsa durchgeführt, das heißt die Audiohardware und -treiber müssen Kanalzahl, Samplerate und -format der Audiodatei direkt unterstützen.

Die Ausgabe von »aplay -L« liefert dagegen bereits definierte Namen, hier braucht es weder hw noch plughw

Code: Alles auswählen

aplay --device="default" meine_wav-Datei.wav
wobei der default im Normalfall entweder Pulseaudio ist, oder über plug nach dmix geht, also sowohl Formatkonvertierungen macht wie auch die Ausgabe mehrerer Anwendungen mischen kann.

Oder mit zusätzlichen Optionen

Code: Alles auswählen

$ aplay --device="front:PCH" -c 2 -f S16_LE -r 48000 /dev/zero
(Samplerate, -format und Kanalzahl habe ich nur angegebeben, damit die Wiedergabe von /dev/zero funktioniert, weil es hier wieder keine Formatkonvertierung oder ähnliches gibt – /dev/zero liefert aber natürlich nur Stille.)

Antworten