Mikrofon tidak berfungsi di archlinux

9

Konteks

Saya telah menjalankan archlinuxlaptop saya selama bertahun-tahun dan tidak pernah membutuhkan mikrofon. Sekarang saya membutuhkannya tetapi tidak dapat menemukan cara untuk mengkonfigurasinya dengan benar.

Saya menggunakan alsadan pulseadio.

Berjalan alsamixersebagai pengguna, saya memiliki dua alat ukur:

  ||      ||
Master  Capture

Saya memiliki keduanya tidak bersuara dan diaktifkan untuk nilai yang masuk akal (~ 50%).

Berjalan alsamixersebagai root, saya memiliki beberapa alat ukur:

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

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

Jika saya mengaktifkan Loopbackroot sebagai saya bisa mendengar mikrofon kembali melalui speaker .

Jika saya secara eksplisit memilih kartu suara saya alsamixersebagai pengguna, saya mendapatkan perintah yang sama seperti menjalankan sebagai root (dan jika saya mengaktifkan di Loopbacksini saya juga mendengar mikrofon dari speaker). Saya mendapatkan yang berikut ini:

masukkan deskripsi gambar di sini

(Ke kanan adalah dua Internalalat pengukur lagi , Loopback(aktifkan / nonaktifkan) dan bisa berubah-ubah Off-hook)

Namun, tidak peduli apa yang saya lakukan dan seberapa banyak saya ikut campur dengan alat pengukur alsa saya tidak pernah berhasil melewati mikrofon ke aplikasi pengguna. Intinya, setiap kali saya menjalankan arecordsaya mendapatkan output berikut:

$ 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%

aplaySebaliknya, bekerja dengan sempurna.


Kartu suara saya adalah ( lspci):

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

Saya melihat wiki lengkung dan mencoba mengatur yang berikut ini /etc/modprobe.d/modprobe.conf(dan me-reboot mesin):

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

(Saya tidak bisa mendapatkan mikrofon untuk mengirim data ke aplikasi pengguna dengan atau tanpa konfigurasi itu.)

hdaModul saya saat ini adalah:

# 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

Untuk kelengkapan, ini adalah pulseaudiokonfigurasi saya (saya belum mencoba ikut campur):

$ 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

Sesuai komentar Faheem Mitha, saya yakin pulseaudio tmpfshaknya memiliki hak:

# 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

Dan pavucontroldiredam. Saya tidak tahu pavucontrolyang mengakibatkan masalah di tempat pertama:

masukkan deskripsi gambar di sini


Pertanyaan

Saya kehabisan ide. Saya percaya bahwa Loopbackantarmuka audio ada di ruang kernel , oleh karena itu masalah saya adalah saya tidak bisa membawa data mikrofon ke ruang pengguna . Namun, saya tidak 100% yakin akan hal itu.

Opsi apa lagi yang bisa saya berikan snd-hda-intel(atau modul lain) yang mungkin relevan untuk mikrofon yang bekerja pada antarmuka loopback tetapi tidak merambat ke lapisan aplikasi?

Mungkinkah saya melakukan sesuatu yang salah pulseaudio? Tetapi sekali lagi, pulseaudiobekerja dengan benar (bersama-sama dengan alsa) untuk semua waktu itu, dan saya audacitycukup sering menggunakan .

grochmal
sumber
Hai. Anda tidak ingin menjalankan alsamixer sebagai root; Anda akan mengacaukan izin Anda. Lihat unix.stackexchange.com/questions/265043 . Bisakah Anda memberikan tangkapan layar alsamixer yang berjalan sebagai pengguna? Pastikan Anda memilih kartu suara Anda.
Faheem Mitha
Suarakan segalanya, dan bawa semuanya ke tingkat maksimum alsamixer.
Faheem Mitha
@FaheemMitha - Terima kasih, saya mendapatkan semua alat ukur jika saya secara eksplisit memilih kartu suara alsamixer. Untuk sekarang saya menambahkan tangkapan layar dan mengkonfirmasi pulseaudioizin saya (saya bahkan me-reboot mesin untuk memastikan bahwa campur tangan saya sebagai root tidak mempengaruhi sesuatu). Sekarang saya mencoba bermain lebih banyak pulseaudio.
grochmal
@FaheemMitha - Meratakan semuanya, bahkan Beep. Tidak ada sukacita
grochmal
1
@FaheemMitha - Heh, itu dibisukan di dalam pavucontrol. Itu menyelesaikannya. Saya benar-benar bertanya-tanya bagaimana ini terjadi, saya memiliki komputer lain yang menggunakan modul Intel HDA yang sama persis, OS yang sama (dengan pembaruan yang sama), alsa yang sama dan pulseaudio yang sama; dan itu tidak diredam di sana. Sebelum komentar Anda pavucontroltidak diinstal pada kedua mesin (archlinux memiliki pavucontrolsebagai paket terpisah).
grochmal

Jawaban:

9

Berdasarkan korespondensi dengan poster (lihat komentar), ternyata kartu suara dibisukan di dalam pavucontrol.

Faheem Mitha
sumber
1
+1 Mengalami masalah yang sama, Buka pavucontroldan klik panah kanan hingga tab "Perangkat Input" disorot, lalu klik ikon volume (Bungkam Audio) yang bagi saya diaktifkan secara default.
Justin Bull
Saya mungkin harus menambahkan bahwa saya menggunakan GNOME 3 dan hanya sekarang baru menyadari ada toggle bisu dalam pengaturan suara yang juga dapat digunakan (tidak perlu untuk pavucontrol).
Justin Bull
2

Saya juga menemui masalah pada mikrofon saya yang tidak berfungsi di Arch Linux. Dalam kasus saya tidak ada perangkat yang ditampilkan di bawah "Perangkat Input" di pavucontrol(Dikatakan "tidak ada perangkat input yang tersedia"). Mengikuti saran berikut dari Arch Wiki memperbaikinya untuk saya:

  1. Jalankan arecord -luntuk mencari tahu id mikrofon dalam hw:CARD,DEVICEnotasi, misalnya jika outputnya adalah

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

Maka id adalah hw:0,0

  1. Tambahkan baris load-module module-alsa-source device=hw:0,0di/etc/pulse/default.pa

  2. pulseaudio -k; pulseaudio -D untuk me-restart pulseaudio dan mengaktifkan perubahan.

Saya akan meninggalkannya di sini kalau-kalau ada yang mengalami masalah yang sama dengan saya.

xji
sumber
1

1.rm -rf ~ / .config / pulsa

2.rm -rf / etc / pulse /

3. Masukkan colokan headphone usb ke laptop

4.pacman -S pulseaudio pavucontrol

  1. Tambahkan "load-module module-loopback latency_msec = 1" di /etc/pulse/default.pa

6. boot

6.pavucontrol

BAIK.

Nguyen Van Minh Hieu
sumber
Ini berhasil. Saya hanya mengikuti sampai langkah ke-4 dan reboot. sialan itu berhasil. terima kasih banyak
noone
0

Tautan ini menyortir saya: Mikrofon tidak terdeteksi oleh PulseAudio

Tentukan nomor kartu dan perangkat mikrofon Anda:

$ 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.

Kemudian, edit /etc/pulse/default.pa dan masukkan baris modul memuat yang menetapkan perangkat Anda sebagai berikut:

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

Terakhir, restart pulseaudio untuk menerapkan pengaturan baru:

$ pulseaudio -k ; pulseaudio -D

Jika semuanya berfungsi dengan benar, Anda sekarang akan melihat mikrofon Anda muncul ketika menjalankan pavucontrol (di bawah tab Input Devices).

otentikasi tinggi
sumber