Micrô không hoạt động trên archlinux


9

Bối cảnh

Tôi đã chạy archlinuxtrên máy tính xách tay của tôi trong nhiều năm và không bao giờ cần micro. Bây giờ tôi cần nó nhưng không thể tìm cách cấu hình nó đúng cách.

Tôi sử dụng alsapulseadio.

Chạy alsamixernhư một người dùng, tôi có hai đồng hồ đo:

  ||      ||
Master  Capture

Tôi có cả hai trong số chúng không được bật và kích hoạt các giá trị hợp lý (~ 50%).

Chạy alsamixerbằng root tôi có vài đồng hồ đo:

  ||        ||        ||      ||      ||       ||
Master  Headphones  Speaker  PCM  Microphone MIC Boot 

 ||      ||       ||        ||       ||
Beep  Loopback Internal  Internal  Capture

Nếu tôi bật Loopbackgốc, tôi có thể nghe thấy micrô qua loa .

Nếu tôi chọn rõ ràng card âm thanh của mình alsamixervới tư cách là người dùng, tôi sẽ nhận được các lệnh tương tự như chạy bằng root (và nếu tôi bật Loopbackở đây, tôi cũng nghe thấy micrô từ loa). Tôi nhận được như sau:

nhập mô tả hình ảnh ở đây

(Bên phải là hai Internalđồng hồ đo nữa , Loopback(bật / tắt) và có thể thay đổi Off-hook)

Tuy nhiên, bất kể tôi làm gì và tôi can thiệp bao nhiêu với đồng hồ đo alsa tôi không bao giờ quản lý để chuyển micrô cho ứng dụng người dùng. Về bản chất, mỗi khi tôi chạy, arecordtôi nhận được kết quả đầu ra như sau:

$ arecord -vv -f dat /dev/null 
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
ALSA <-> PulseAudio PCM I/O Plugin
Its setup is:
  stream       : CAPTURE
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
#+                                                 | 00%

aplaymặt khác, hoạt động hoàn hảo.


Thẻ âm thanh của tôi là ( lspci):

# lspci| grep -i audio
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA)

Tôi đã xem wiki wiki và thử cài đặt phần sau /etc/modprobe.d/modprobe.conf(và khởi động lại máy):

options snd-hda-intel model=dell-m6-dmic

(Tôi không thể nhận micrô để gửi dữ liệu đến ứng dụng người dùng có hoặc không có cấu hình đó.)

Các hdamô-đun hiện tại của tôi là:

# lsmod |grep hda
snd_hda_codec_si3054    16384  1
snd_hda_codec_realtek    69632  1
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
snd_hda_intel          32768  5
snd_hda_codec         106496  4 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           61440  5 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep              16384  1 snd_hda_codec
snd_pcm                86016  4 snd_hda_codec_si3054,snd_hda_codec,snd_hda_intel,snd_hda_core
snd                    65536  18 snd_hda_codec_realtek,snd_hda_codec_si3054,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel

Để hoàn thiện, đây là pulseaudiocấu hình của tôi (Tôi chưa thử can thiệp với nó):

$ pulseaudio --dump-conf
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-9.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = notice
resample-method = auto
enable-remixing = yes
enable-lfe-remixing = no
lfe-crossover-freq = 0
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 4
default-fragment-size-msec = 25
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 200000

Theo nhận xét của Faheem Mitha, tôi tự tin rằng pulseaudio tmpfscó quyền:

# ls -la /run/user/861213/pulse/
total 4
drwx------ 2 grochmal users  80 Jul  4 21:44 .
drwx------ 5 grochmal users 120 Jul  4 21:46 ..
srw-rw-rw- 1 grochmal users   0 Jul  4 21:44 native
-rw------- 1 grochmal users   4 Jul  4 21:44 pid

pavucontrolbị tắt tiếng. Tôi đã không nhận thức được pavucontrolđiều gì dẫn đến vấn đề ở nơi đầu tiên:

nhập mô tả hình ảnh ở đây


Câu hỏi

Tôi hết ý tưởng rồi. Tôi tin rằng Loopbackgiao diện âm thanh tồn tại trong không gian kernel , do đó, vấn đề của tôi là tôi không thể mang dữ liệu micrô vào không gian người dùng . Tuy nhiên, tôi không chắc chắn 100% về nó.

Tôi có thể cung cấp các tùy chọn nào khác cho snd-hda-intel(hoặc các mô-đun khác) có thể phù hợp với micrô hoạt động trên giao diện loopback nhưng không truyền đến lớp ứng dụng?

Tôi có thể làm gì sai với pulseaudio ? Nhưng sau đó, một lần nữa, pulseaudiolàm việc chính xác (cùng với alsa) trong suốt thời gian đó, và tôi sử dụng audacitykhá thường xuyên.


Chào. Bạn không muốn chạy alsamixer với quyền root; bạn sẽ làm hỏng quyền của bạn Xem unix.stackexchange.com/questions/265043 . Bạn có thể cung cấp một ảnh chụp màn hình của alsamixer đang chạy như người dùng không? Hãy chắc chắn rằng bạn chọn card âm thanh của bạn.
Faheem Mitha

Tắt tiếng mọi thứ và đưa mọi thứ lên tối đa alsamixer.
Faheem Mitha

@FaheemMitha - Cảm ơn, tôi nhận được tất cả các máy đo nếu tôi chọn rõ ràng card âm thanh alsamixer. Bây giờ tôi đã thêm ảnh chụp màn hình và xác nhận pulseaudioquyền của mình (tôi thậm chí đã khởi động lại máy để đảm bảo rằng việc can thiệp của tôi là root không ảnh hưởng đến thứ gì đó). Bây giờ tôi đang cố gắng chơi nhiều hơn với pulseaudio.
hóa học

@FaheemMitha - Thậm chí mọi thứ Beep. Không có niềm vui.
hóa học

1
@FaheemMitha - Heh, nó đã bị tắt tiếng bên trong pavucontrol. Điều đó giải quyết nó. Tôi thực sự tự hỏi làm thế nào điều này xảy ra, tôi có một máy khác sử dụng cùng một mô-đun Intel HDA, cùng hệ điều hành (có cùng các bản cập nhật), cùng alsa và cùng pulseaudio; và nó không bị tắt tiếng ở đó. Trước khi bình luận của bạn pavucontrolkhông được cài đặt trên cả hai máy (archlinux có pavucontrolmột gói riêng).
hóa học

Câu trả lời:


9

Dựa trên sự tương ứng với người đăng (xem bình luận), hóa ra card âm thanh đã bị tắt tiếng bên trong pavucontrol.


1
+1 Có cùng một vấn đề, Mở pavucontrolvà nhấp vào mũi tên phải cho đến khi tab "Thiết bị đầu vào" được tô sáng, sau đó nhấp vào biểu tượng âm lượng (Mute Audio) mà theo tôi được kích hoạt theo mặc định.
Justin Bull

Tôi có lẽ nên thêm rằng tôi đang sử dụng Gnome 3 và chỉ bây giờ mới nhận thấy có một nút tắt tiếng trong cài đặt âm thanh cũng có thể được sử dụng (không cần pavucontrol).
Justin Bull

2

Tôi cũng gặp vấn đề micro của tôi không hoạt động trên Arch Linux. Trong trường hợp của tôi, không có thiết bị nào được hiển thị bên dưới "Thiết bị đầu vào" trong pavucontrol(Nó nói "không có thiết bị đầu vào khả dụng"). Theo lời khuyên sau từ Arch Wiki đã sửa nó cho tôi:

  1. Chạy arecord -lđể tìm id của micrô trong hw:CARD,DEVICEký hiệu, ví dụ: nếu đầu ra là

**** List of CAPTURE Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog[ALC269VC Analog] Subdevices: 1/1 Subdevice #0: subdevice #0

Sau đó, id là hw:0,0

  1. Thêm dòng load-module module-alsa-source device=hw:0,0vào/etc/pulse/default.pa

  2. pulseaudio -k; pulseaudio -D để khởi động lại pulseaudio và kích hoạt các thay đổi.

Tôi sẽ để nó ở đây trong trường hợp ai đó gặp phải vấn đề tương tự như của tôi.


1

1.rm -rf ~ / .config / xung

2.rm -rf / etc / xung /

3. Cắm tai nghe usb vào máy tính xách tay

4.pacman -S pulseaudio pavucontrol

  1. Thêm "mô-đun tải mô-đun-loopback latency_msec = 1" trong /etc/pulse/default.pa

6.reboot

6.pavucontrol

ĐỒNG Ý.


Điều này đã làm việc. Tôi chỉ làm theo cho đến bước thứ 4 và khởi động lại. nó làm việc cảm ơn bạn rất nhiều
noone

0

Liên kết này đã sắp xếp tôi ra: Micrô không được phát hiện bởi PulseAudio

Xác định thẻ và số thiết bị của mic của bạn:

$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VC Analog [ALC269VC Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
In hw:CARD,DEVICE notation, you would specify the above device as hw:0,0.

Sau đó, chỉnh sửa /etc/pulse/default.pa và chèn một dòng mô-đun tải chỉ định thiết bị của bạn như sau:

load-module module-alsa-source device=hw:0,0
# the line above should be somewhere before the line below
.ifexists module-udev-detect.so

Cuối cùng, khởi động lại pulseaudio để áp dụng các cài đặt mới:

$ pulseaudio -k ; pulseaudio -D

Nếu mọi thứ hoạt động chính xác, bây giờ bạn sẽ thấy mic của mình hiển thị khi chạy pavucontrol (trong tab Thiết bị đầu vào).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.