GNU/Linux >> Belajar Linux >  >> Linux

Audio Linux - hanya speaker atau mikrofon yang tersedia, tidak keduanya

Inilah masalah yang agak menarik yang saya temui baru-baru ini. Saya membeli sendiri laptop baru, Lenovo IdeaPad 3, yang utama untuk menguji berbagai distribusi Linux. Sebagai bagian dari pengaturan awal saya, saya mengalami masalah aneh dengan sistem audio di Kubuntu. Yaitu, saya bisa memutar suara, tapi tidak ada mikrofon - atau saya bisa merekam suara dengan mikrofon tapi tidak ada output, baik melalui speaker atau headphone.

Ini membuat saya sedikit marah - karena tidak ada masalah seperti itu di Windows 10 dalam konfigurasi triple-boot sementara laptop. Jadi saya memulai pengejaran yang panjang dan tampaknya liar, mencoba menyelesaikan ini. Perburuan membawa saya ke lusinan forum, membahas masalah serupa dan terkait. Kebanyakan dari mereka tampaknya fokus pada model laptop Lenovo yang lebih baru. Saya ingin menggunakan kesempatan ini untuk menulis sedikit tutorial, yang mudah-mudahan akan membantu Anda, jika Anda mengalami masalah ini, dapatkan pemutaran simultan dan mikrofon di sesi desktop Linux Anda. Setelah saya, Tuxers.

Masalah lebih detail

Bagaimanapun. Saya menjalankan Kubuntu, sejauh ini bagus. Saya dapat memutar musik dan video, juga tidak ada masalah. Kemudian, saya mengklik ikon volume di area sistem, dan saya perhatikan hanya satu perangkat yang terdaftar - Speaker. Tidak ada penggeser mikrofon, seperti yang biasa saya lihat di desktop Linux ini atau itu, terlepas dari pilihan lingkungan kerja tertentu.

Memang, ini bukan kebetulan. Tidak ada mikrofon (sepertinya). Saya menginstal dan meluncurkan Audacity, dan kemudian mencoba merekam diri saya sendiri. Tidak ada apa-apa. Sepintas, laptop tidak memiliki mikrofon, perangkat keras rusak, atau distro Linux menggunakan driver yang salah, yang tidak mendukung semua fitur kartu suara yang diperlukan.

Ternyata - tidak ada yang benar.

Konfigurasi PulseAudio

Saya segera menghilangkan masalah perangkat keras - audio semuanya bagus di Windows 10. Jadi saya merasa, mungkin drivernya salah. Untuk memeriksa ini, saya meluncurkan utilitas PulseAudio, dan memeriksa konfigurasi. Dan kemudian saya melihat sesuatu yang agak menarik. Untuk perangkat keras yang terdaftar, hanya ada dua profil yang tersedia:Output Stereo dan Input Stereo Analog. Jika saya menggantinya, saya akan memiliki pemutaran atau mikrofon tetapi tidak keduanya secara bersamaan.

Apa yang tidak berhasil

Pada titik ini, saya menghabiskan banyak waktu untuk mencari dan mencari lagi. Demi Anda, berikut adalah daftar beberapa hal yang saya coba - sehingga Anda dapat mempertimbangkannya, dan jika perlu, buang saja:

  • Saya mencoba mengubah parameter boot driver audio (melalui file konfigurasi modprobe.d).
  • Saya mencoba mengubah level volume di file konfigurasi PulseAudio/ALSA yang berbeda.

Solusi

Pengalaman di atas saya mengajari saya satu hal utama - betapa liar dan kompleksnya subsistem audio di Linux, dan tanpa alasan yang bagus. Ada banyak sekali file konfigurasi dan opsi, dan semuanya benar-benar kutu buku. Akhirnya, saya menemukan sumber yang bagus di Archlinux Wiki, yang akhirnya membantu saya membuka blokir masalah saya. Jadi di satu sisi, pujian besar untuk pengguna forum atas pekerjaan mereka.

Idenya adalah untuk membuat profil PulseAudio baru, yang memungkinkan input dan output simultan.

Langkah 1:periksa daftar perangkat audio Anda

Ada beberapa cara yang bisa Anda lakukan. Anda dapat membuat daftar perangkat keras Anda dengan lspci, dan juga menggunakan utilitas baris perintah PulseAudio pacmd:

sudo lspci -knn | grep Audio -A3
03:00.1 Perangkat audio [0403]:Advanced Micro Devices, Inc. [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP Audio Controller [1002:15de]
Subsistem:Lenovo Raven/Raven2/Fenghuang HDMI/DP Audio Controller [17aa:3805]
Driver kernel sedang digunakan:snd_hda_intel
Modul kernel:snd_hda_intel
03:00.2 Encryption controller [1080]:Advanced Micro Devices, Inc. [AMD] Keluarga 17h (Model 10h-1fh) Prosesor Keamanan Platform [1022:15df]
--
03:00.5 Pengontrol multimedia [0480]:Advanced Micro Devices, Inc. [AMD] Raven /Raven2/FireFlight/Renoir Audio Processor [1022:15e2]
Subsistem:Lenovo Raven/Raven2/FireFlight/Renoir Audio Processor [17aa:3807]
Modul kernel:snd_pci_acp3x, snd_rn_pci_acp3x
03:00.6 Perangkat audio [0403]:Advanced Micro Devices, Inc. [AMD] Family 17h (Model 10h-1fh) HD Audio Controller [1022:15e3]
Subsistem:Lenovo Family 17h (Model 10h-1fh) HD Audio Controller [17aa:3809]
Kernel dr ver digunakan:snd_hda_intel
Modul kernel:snd_hda_intel

pacmd list-sink | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
nama:
alsa.subdevice ="0 "
alsa.device ="0"

Kedua perintah tersebut dapat membantu Anda mengidentifikasi nomor bus PCI yang tepat dan nomor perangkat yang diserang ke bus. Kami akan membutuhkan informasi ini untuk profil PulseAudio baru. Di laptop saya, perangkat audio yang kami inginkan - HD Audio Controller (bukan HDMI/DP Audio Controller) terletak di domain 0000, bus 03, slot 00, function 6.

Langkah 2:Ubah konfigurasi audio

Buka /etc/Pulse/default.pa dalam editor teks, sebagai root atau sudo. Buat cadangan file ini terlebih dahulu. Di awal file, di bawah komentar deskripsi file umum, tempelkan potongan kode berikut, sehingga berada di atas arahan konfigurasi lainnya:

### Memuat perangkat analog
load-module module-alsa-sink device=hw:X,Y
load-module module-combine-sink sink_name=combined
set-default-sink combine

Dimana X adalah kartu dan Y adalah perangkat. Dalam kasus saya, ini memetakan ke X =0, Y =3.

### Memuat perangkat analog
load-module module-alsa-sink device=hw:0,3
load-module module-combine-sink sink_name=combined
set-default-sink combine

Pada titik ini, hal termudah adalah dengan me-reboot sistem.

Langkah 3:Periksa konfigurasi dan pilih profil baru

Setelah mesin restart, di distribusi Linux Anda, luncurkan alat konfigurasi PulseAudio, dan pilih tab (Konfigurasi) terakhir. Perluas daftar drop-down profil. Anda sekarang akan melihat bahwa ada lebih banyak profil yang tersedia, selain dua profil default. Pilih Output Stereo + Input Stereo Analog.

Luncurkan aplikasi yang dapat memutar suara dan merekam audio - Audacity adalah contoh yang bagus. Dan sekarang, Anda akan melihat bahwa Anda memiliki kedua fungsi yang tersedia secara bersamaan, dan masalah Anda teratasi.

Kesimpulan

Ini dia. Saya senang telah memperbaiki masalah ini, tetapi saya sangat kecewa karena masalah seperti ini dapat atau harus terjadi pada tahun 2021. Anda mungkin cenderung menyalahkan perangkat keras, dan Anda bahkan mungkin mencari masalah audio tertentu dengan Audio AMD Raven/Raven2 Prosesor, yang bisa menjadi titik awal indikatif yang baik. Tetapi pada akhirnya, bukan perangkat keras yang harus kita salahkan. Saya tidak tahu mengapa konfigurasi PulseAudio harus berbeda untuk kartu khusus ini di distro ini, tetapi bagaimanapun juga, Anda memiliki tutorial ini, jadi semoga semuanya akan menyenangkan mulai sekarang.

Jika Anda menghadapi masalah audio di laptop Linux Anda, cobalah untuk men-debug masalah Anda secara metodis. Apakah audio berfungsi dengan benar di sistem operasi lain? Apakah audio bekerja secara selektif di distro Anda? Jika demikian, apakah Anda memiliki jenis konfigurasi yang tepat? Gunakan perintah lspci dan pacmd untuk mencoba mencari tahu apa yang salah, dan kemudian, Anda kemungkinan besar akan membidik perubahan konfigurasi yang tepat untuk subsistem audio. Dalam kasus saya, itu adalah masalah "sederhana" untuk membuat profil PulseAudio baru. Sekali lagi, terima kasih banyak kepada orang-orang ArchLinux Wiki. Pesta, teman-teman.


Linux
  1. Cara menyalin gambar secara massal hanya dengan ukuran tertentu di Linux

  2. Microsoft Teams Sekarang Tersedia di Linux

  3. Cara Setup Chroot SFTP di Linux (Izinkan Hanya SFTP, bukan SSH)

  1. Dasar-dasar perintah Linux:printf

  2. Hapus hanya file dalam direktori di direktori BUKAN linux

  3. fflush() tidak berfungsi di Linux

  1. Mikrofon Skype Tidak Berfungsi di Linux Mint 17 [Kiat Singkat]

  2. Perintah Linux 'akan' tidak berfungsi

  3. Dalam kasus apa CLOCK_MONOTONIC mungkin tidak tersedia