최근에 외부 사운드 카드 / DAC (Fiio E17)를 받았으며 현재 Ubuntu 12.04 설치에서 올바르게 구성하려고합니다. USB를 통해 연결하면 즉시 인식되어 오디오 설정에 새 장치로 표시됩니다. 재생은 대부분 잘 작동합니다 (이 질문의 범위를 벗어난 사소한 볼륨 관련 문제는 제외).
그러나와 같은 오디오 파일을 재생하여 24 비트 / 96 kHz 재생을 테스트하려고 할 때 mplayer
작은 문제가 발생했습니다.
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)
출력에서 볼 수 있듯이 재생 된 파일에 24 비트 / 96kHz 오디오가 포함되어 있어도 재생 전에 16 비트로 다시 샘플링됩니다. 같은 파일을 재생하면 aplay
이유가 표시됩니다.
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
하드웨어가 24 비트를 지원하는지 확인하십시오.
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
이 시점에서 사운드 설정의 하드웨어 탭에서 사운드 카드의 두 가지 프로파일 인 Digital Stereo (IEC958)와 Analog Stereo를 선택할 수 있음을 알았습니다. 내가 알 수있는 한이 두 가지를 전환해도 아무런 변화가 없습니다.
ALSA 장치를 지정하면 도움이됩니다 (즉, 제대로 aplay -Dhw:1,0 sr003-02-2496.wav
작동하고 리샘플링하지 않고 파일을 재생 함). 그러나 Pulseaudio는 사운드 설정에서 하나의 Fiio 장치 / 싱크 만 표시하므로 Pulseaudio에게 ALSA 장치를 사용하도록 지시하는 방법을 잘 모르겠습니다 hw:1,0
. 추가 load-module module-alsa-source device=hw:1,0
로 /etc/pulse/default.pa
로 중단 펄스 오디오의 결과 module.c: Failed to load module "module-alsa-source" (argument: "device=hw:1,0"): initialization failed.
를 시작할 때.
이것이 바로 소개입니다. 실제 질문은 다음과 같습니다.
- 사운드 설정에서 Fiio E17을 선택할 때 Pulseaudio가 실제로 사용하는 ALSA 장치를 어떻게 알 수 있습니까?
- 사운드 설정에서 Fiio E17을 선택할 때 Pulseaudio에서 ALSA 장치 hw : 1,0을 사용하도록하려면 어떻게해야합니까?
좀 더 도움이되는 디버그 정보 :
- 의 출력
aplay -L
- 의 출력
aplay -l
- 의 출력
pacmd list-sinks
- 그리고 마지막으로 관련이있는 경우 내 .asoundrc
mplayer -ao alsa:device=hw=1.0 sr003-02-2496.wav
하고 aplay -Dhw:1,0 sr003-02-2496.wav
사용합니다.
aplay sr003-02-2496.wav
하고 mplayer sr003-02-2496.wav
. 그리고 가능하다면 PulseAudio를 사용하고 싶습니다.
mplayer
및aplay
명령 줄 은 무엇입니까 ?