Gần đây tôi đã có một soundcard / DAC bên ngoài (Fiio E17) và hiện đang cố gắng định cấu hình chính xác nó trên bản cài đặt Ubuntu 12.04 của tôi. Khi cắm nó qua USB, nó ngay lập tức được nhận ra và hiển thị dưới dạng một thiết bị mới trong cài đặt âm thanh. Phát lại cũng hoạt động tốt (ngoại trừ một số vấn đề nhỏ liên quan đến khối lượng, nằm ngoài phạm vi của câu hỏi này).
Tuy nhiên, khi thử kiểm tra phát lại 24 bit / 96 kHz bằng cách phát một tệp âm thanh như vậy mplayer
, tôi đã gặp một vấn đề nhỏ:
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)
Như có thể thấy từ đầu ra, mặc dù tệp đã phát không chứa âm thanh 24 bit / 96 kHz, nhưng nó được ghép lại thành 16 bit trước khi phát lại. Chơi cùng một tệp với aplay
cho thấy lý do:
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
Tuy nhiên, /proc/asound/card1/stream0
xác nhận rằng phần cứng không hỗ trợ 24 bit:
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
Tại thời điểm này, tôi nhận thấy rằng trong tab phần cứng của cài đặt âm thanh, tôi có thể chọn hai cấu hình khác nhau cho card âm thanh: Digital Stereo (IEC958) và Analog Stereo. Chuyển đổi giữa hai điều này không dẫn đến bất kỳ thay đổi nào, theo như tôi có thể nói.
Việc chỉ định thiết bị ALSA sẽ giúp ích (nghĩa là, aplay -Dhw:1,0 sr003-02-2496.wav
chỉ hoạt động tốt và phát tệp mà không cần lấy mẫu lại). Nhưng vì Pulseaudio chỉ hiển thị một thiết bị Fiio / chìm trong cài đặt âm thanh, tôi không chắc chắn làm thế nào tôi bảo Pulseaudio sử dụng thiết bị ALSA hw:1,0
. Thêm load-module module-alsa-source device=hw:1,0
vào /etc/pulse/default.pa
kết quả trong Pulseaudio hủy bỏ module.c: Failed to load module "module-alsa-source" (argument: "device=hw:1,0"): initialization failed.
trong khi khởi động.
Vì vậy, đó là phần giới thiệu, đây là câu hỏi thực tế của tôi :
- Làm cách nào để tìm ra thiết bị ALSA Pulseaudio thực sự sử dụng khi tôi chọn Fiio E17 trong cài đặt âm thanh?
- Làm cách nào để tôi bảo Pulseaudio sử dụng thiết bị ALSA hw: 1,0 khi chọn Fiio E17 trong cài đặt âm thanh của tôi?
Một số thông tin gỡ lỗi (hy vọng hữu ích):
- Đầu ra của
aplay -L
- Đầu ra của
aplay -l
- Đầu ra của
pacmd list-sinks
- Và cuối cùng, trong trường hợp có liên quan, .asoundrc của tôi
mplayer -ao alsa:device=hw=1.0 sr003-02-2496.wav
và aplay -Dhw:1,0 sr003-02-2496.wav
sử dụng đúng thiết bị, nếu đó là những gì bạn đang hỏi.
aplay sr003-02-2496.wav
và mplayer sr003-02-2496.wav
. Và vâng, tôi muốn sử dụng PulseAudio nếu có thể.
mplayer
và làaplay
gì?