Ich habe kürzlich eine externe Soundkarte / einen externen DAC (Fiio E17) erhalten und versuche derzeit, diese in meiner Ubuntu 12.04-Installation ordnungsgemäß zu konfigurieren. Wenn Sie es über USB anschließen, wird es sofort erkannt und in den Audioeinstellungen als neues Gerät angezeigt. Die Wiedergabe funktioniert größtenteils auch einwandfrei (mit Ausnahme einiger kleinerer Probleme im Zusammenhang mit der Lautstärke, die über den Rahmen dieser Frage hinausgehen).
Beim Versuch, die 24-Bit / 96-kHz-Wiedergabe durch Abspielen einer solchen Audiodatei zu testen mplayer
, ist jedoch ein kleines Problem aufgetreten:
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 96000 Hz, 2 ch, s24le, 4608.0 kbit/100.00% (ratio: 576000->576000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [pulse] 96000Hz 2ch s16le (2 bytes per sample)
Wie aus der Ausgabe ersichtlich ist, wird die abgespielte Datei, obwohl sie 24 Bit / 96 kHz Audio enthält, vor der Wiedergabe auf 16 Bit neu abgetastet. Das Abspielen derselben Datei mit aplay
zeigt den Grund:
Playing WAVE 'sr003-02-2496.wav' : Signed 24 bit Little Endian in 3bytes, Rate 96000 Hz, Stereo
aplay: set_params:1081: Sample format non available
Available formats:
- U8
- S16_LE
- S16_BE
- S32_LE
- S32_BE
- FLOAT_LE
- FLOAT_BE
- MU_LAW
- A_LAW
/proc/asound/card1/stream0
Bestätigt jedoch, dass die Hardware 24 Bit unterstützt:
FiiO FiiO USB DAC-E17 at usb-0000:00:1a.0-1.1, full speed : USB Audio
Playback:
Status: Running
Interface = 3
Altset = 1
Packet Size = 388
Momentary freq = 44100 Hz (0x2c.199a)
Interface 3
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 3 OUT (ADAPTIVE)
Rates: 32000, 44100, 48000, 96000
Interface 3
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 3 OUT (ADAPTIVE)
Rates: 32000, 44100, 48000, 96000
Zu diesem Zeitpunkt habe ich festgestellt, dass ich auf der Registerkarte Hardware der Soundeinstellungen zwei verschiedene Profile für die Soundkarte auswählen kann: Digital Stereo (IEC958) und Analog Stereo. Der Wechsel zwischen diesen beiden führt jedoch, soweit ich das beurteilen kann, zu keinen Änderungen.
Die Angabe des ALSA-Geräts hilft jedoch (das heißt, es aplay -Dhw:1,0 sr003-02-2496.wav
funktioniert einwandfrei und spielt die Datei ohne erneutes Abtasten ab). Da Pulseaudio in den Soundeinstellungen nur ein Fiio-Gerät / eine Senke anzeigt, bin ich mir nicht sicher, wie ich Pulseaudio anweisen soll, ein ALSA-Gerät zu verwenden hw:1,0
. Das Hinzufügen load-module module-alsa-source device=hw:1,0
zu /etc/pulse/default.pa
führt dazu, dass Pulseaudio module.c: Failed to load module "module-alsa-source" (argument: "device=hw:1,0"): initialization failed.
während des Startvorgangs abgebrochen wird .
Das ist also die Einführung, hier sind meine eigentlichen Fragen :
- Wie finde ich heraus, welches ALSA-Gerät Pulseaudio tatsächlich verwendet, wenn ich den Fiio E17 in den Soundeinstellungen auswähle?
- Wie kann ich Pulseaudio anweisen, das ALSA-Gerät hw: 1,0 zu verwenden, wenn ich den Fiio E17 in meinen Soundeinstellungen auswähle?
Weitere (hoffentlich hilfreiche) Debug-Informationen:
- Die Ausgabe von
aplay -L
- Die Ausgabe von
aplay -l
- Die Ausgabe von
pacmd list-sinks
- Und schließlich, falls es relevant ist, meine .asoundrc
mplayer -ao alsa:device=hw=1.0 sr003-02-2496.wav
und aplay -Dhw:1,0 sr003-02-2496.wav
benutze das richtige Gerät, wenn du das fragst.
aplay sr003-02-2496.wav
und mplayer sr003-02-2496.wav
. Und ja, wenn möglich möchte ich PulseAudio verwenden.
mplayer
undaplay
Befehlszeilen?