Eu recentemente tenho uma placa de som externa / DAC (Fiio E17) e atualmente estou tentando configurá-lo corretamente na minha instalação do Ubuntu 12.04. Ao conectá-lo via USB, ele é reconhecido imediatamente e aparece como um novo dispositivo nas configurações de áudio. A reprodução funciona bem também (exceto por alguns pequenos problemas relacionados ao volume, que estão além do escopo desta questão).
No entanto, ao tentar testar a reprodução de 24 bits / 96 kHz ao reproduzir um arquivo de áudio com 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. A reprodução do 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
Neste ponto, notei que na guia hardware das configurações de som, posso selecionar dois perfis diferentes para a placa de som: Estéreo Digital (IEC958) e Estéreo Analógico. Alternar entre esses dois não resulta em nenhuma mudança, pelo que eu saiba.
Especificar o dispositivo ALSA ajuda (isto é, aplay -Dhw:1,0 sr003-02-2496.wav
funciona muito bem e reproduz o arquivo sem redefinir a resolução). Mas como o Pulseaudio só exibe um dispositivo / dissipador Fiio nas configurações de som, não sei como dizer ao Pulseaudio para usar o dispositivo ALSA hw:1,0
. Adicionar load-module module-alsa-source device=hw:1,0
a /etc/pulse/default.pa
resulta no Pulseaudio abortando com 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 faço para descobrir qual dispositivo ALSA o Pulseaudio realmente usa quando seleciono o Fiio E17 nas configurações de som?
- Como eu digo ao Pulseaudio para usar o dispositivo ALSA hw: 1,0 quando selecionar o Fiio E17 nas minhas configurações de som?
Mais algumas informações (esperamos que úteis) de depuração: