Recentemente, recebi uma placa de som externa / DAC (Fiio E17) e atualmente estou tentando configurá-la corretamente na minha instalação do Ubuntu 12.04. Ao conectá-lo via USB, ele é imediatamente reconhecido e aparece como um novo dispositivo nas configurações de áudio. A reprodução também funciona muito bem (exceto alguns problemas menores relacionados ao volume, que estão além do escopo desta pergunta).
No entanto, ao tentar testar a reprodução de 24 bits / 96 kHz, reproduzindo um arquivo de áudio mplayer
, encontrei um pequeno problema:
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)
Como pode ser visto na saída, mesmo que o arquivo reproduzido contenha áudio de 24 bits / 96 kHz, ele é reamostrado para 16 bits antes da reprodução. Tocar o mesmo arquivo com aplay
mostra o motivo:
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
No entanto, /proc/asound/card1/stream0
confirma que o hardware suporta 24 bits:
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
Nesse ponto, notei que, na guia hardware das configurações de som, posso selecionar dois perfis diferentes para a placa de som: Digital Stereo (IEC958) e Analog Stereo. Alternar entre esses dois não resulta em nenhuma alteração, até onde eu sei.
Porém, a especificação do dispositivo ALSA ajuda (ou seja, aplay -Dhw:1,0 sr003-02-2496.wav
funciona bem e reproduz o arquivo sem reamostragem). Mas como o Pulseaudio mostra apenas um dispositivo Fiio / coletor nas configurações de som, não sei como diria ao Pulseaudio para usar o dispositivo ALSA hw:1,0
. Adicionando load-module module-alsa-source device=hw:1,0
aos /etc/pulse/default.pa
resultados o cancelamento do Pulseaudio module.c: Failed to load module "module-alsa-source" (argument: "device=hw:1,0"): initialization failed.
durante a inicialização.
Então, essa é a introdução, aqui estão minhas perguntas reais :
- Como descobrir qual dispositivo ALSA o Pulseaudio realmente usa quando seleciono o Fiio E17 nas configurações de som?
- Como digo ao Pulseaudio para usar o dispositivo ALSA hw: 1,0 ao selecionar o Fiio E17 nas minhas configurações de som?
Um pouco mais (espero que útil) de informações de depuração:
- A saída de
aplay -L
- A saída de
aplay -l
- A saída de
pacmd list-sinks
- E, finalmente, caso seja relevante, meu .asoundrc
mplayer -ao alsa:device=hw=1.0 sr003-02-2496.wav
e aplay -Dhw:1,0 sr003-02-2496.wav
para usar o dispositivo correto, se é isso que você está perguntando.
aplay sr003-02-2496.wav
e mplayer sr003-02-2496.wav
. E sim, eu gostaria de usar o PulseAudio, se possível.
mplayer
eaplay
?