GNU/Linux >> Znalost Linux >  >> Linux

Linux audio – k dispozici jsou pouze reproduktory nebo mikrofon, nikoli obojí

Zde je docela zajímavý problém, se kterým jsem se nedávno setkal. Koupil jsem si nový notebook Lenovo IdeaPad 3, primárně pro testování různých distribucí Linuxu. V rámci mého počátečního nastavení jsem narazil na podivný problém s audio systémem v Kubuntu. Totiž, mohl jsem přehrávat zvuk, ale nebyl tam žádný mikrofon – nebo jsem mohl nahrávat zvuk pomocí mikrofonu, ale neměl bych žádný výstup, ať už přes reproduktory nebo sluchátka.

To mě docela rozzuřilo – protože ve Windows 10 v dočasné konfiguraci trojitého spouštění notebooku žádný takový problém nebyl. Začal jsem tedy dlouhou a zdánlivě divokou honičku a snažil jsem se to vyřešit. Tento hon mě zavedl na desítky fór, kde se diskutovalo o podobných a souvisejících problémech. Zdá se, že většina z nich se zaměřuje na novější modely notebooků Lenovo. Chtěl jsem využít této příležitosti k sepsání malého tutoriálu, který vám snad pomůže, pokud se setkáte s tímto problémem, získejte simultánní přehrávání a mikrofon v relacích na ploše Linuxu. Po mně, Tuxeři.

Problém podrobněji

Tak jako tak. Měl jsem spuštěné Kubuntu, zatím to jde. Byl jsem schopen přehrávat hudbu a videa, také žádný problém. Poté jsem kliknul na ikonu hlasitosti v systémové oblasti a všiml jsem si, že je uvedeno pouze jedno zařízení - Reproduktory. Nebyl tam žádný posuvník mikrofonu, jak jsem obvykle zvyklý vidět na té či oné ploše Linuxu, bez ohledu na konkrétní volbu pracovního prostředí.

Ve skutečnosti to nebyla žádná náhoda. Nebyl tam žádný mikrofon (zdánlivě). Nainstaloval jsem a spustil jsem Audacity a pak jsem se pokusil nahrát sám sebe. Nic nebylo. Na první pohled notebook buď neměl mikrofon, hardware byl vybitý, nebo linuxové distro používalo špatný ovladač, který nepodporoval všechny potřebné funkce zvukové karty.

Ukázalo se – žádná z nich nebyla správná.

Konfigurace PulseAudio

Okamžitě jsem odstranil problémy s hardwarem - zvuk byl ve Windows 10 v pořádku. Takže jsem cítil, že možná je ovladač špatně. Abych to ověřil, spustil jsem nástroj PulseAudio a zkontroloval konfiguraci. A pak jsem si všiml něčeho docela zajímavého. Pro uvedený hardware byly k dispozici pouze dva profily:Stereo Output a Analogue Stereo Input. Kdybych je přepnul, měl bych buď přehrávání, nebo mikrofon, ale ne obojí současně.

Co nefungovalo

V tuto chvíli jsem strávil spoustu času hledáním a hledáním ještě víc. Pro vaše dobro je zde seznam několika věcí, které jsem vyzkoušel – abyste je mohli zvážit a v případě potřeby je zahodit:

  • Zkoušel jsem změnit spouštěcí parametry ovladače zvuku (přes konfigurační soubory modprobe.d).
  • Zkoušel jsem změnit úrovně hlasitosti v různých konfiguračních souborech PulseAudio/ALSA.

Řešení

Zkušenost nade mnou mě naučila jednu základní věc – jak divoký a složitý je audio subsystém v Linuxu, a to bez dobrého důvodu. Existuje spousta konfiguračních souborů a možností a všechny jsou ve své podstatě naprosto praštěné. Nakonec jsem na Archlinux Wiki našel skvělý zdroj, který mi konečně pomohl odblokovat můj problém. Takže svým způsobem obrovská sláva uživatelům fóra za jejich práci.

Cílem je vytvořit nový profil PulseAudio, který umožňuje simultánní vstup a výstup.

Krok 1:Zkontrolujte seznam svých zvukových zařízení

Můžete to udělat několika způsoby. Můžete uvést svůj hardware pomocí lspci a také použít nástroj příkazového řádku PulseAudio pacmd:

sudo lspci -knn | grep Audio -A3
03:00.1 Audio zařízení [0403]:Advanced Micro Devices, Inc. [AMD/ATI] Raven/Raven2/Fenghuang HDMI/DP Audio Controller [1002:15de]
Subsystém:Lenovo Raven/Raven2/Fenghuang HDMI/DP Audio Controller [17aa:3805]
Používá se ovladač jádra:snd_hda_intel
Moduly jádra:snd_hda_intel
03:00.2 Řadič šifrování [1080]:Advanced Micro Devices, Inc. [AMD] Family 17h (modely 10h-1fh) Platform Security Processor [1022:15df]
--
03:00.5 Multimediální ovladač [0480]:Advanced Micro Devices, Inc. [AMD] Raven /Raven2/FireFlight/Renoir Audio Processor [1022:15e2]
Subsystém:Lenovo Raven/Raven2/FireFlight/Renoir Audio Processor [17aa:3807]
Moduly jádra:snd_pci_acp3x, snd_p3x3pci_ac> 00.6 Zvukové zařízení [0403]:Advanced Micro Devices, Inc. [AMD] Family 17h (modely 10h-1fh) HD Audio Controller [1022:15e3]
Subsystém:Lenovo Family 17h (Modely 10h-1fh) HD Audio Controller [17aa:3809]
Jádro dri ver in use:snd_hda_intel
Moduly jádra:snd_hda_intel

pacmd seznam-dřezy | grep -e 'název:' -e 'alsa.device ' -e 'alsa.subdevice '
název:
alsa.subdevice ="0 "
alsa.device ="0"

Tyto dva příkazy vám mohou pomoci identifikovat přesné číslo sběrnice PCI a číslo zařízení napadeného sběrnicí. Tyto informace budeme potřebovat pro nový profil PulseAudio. Na mém notebooku je zvukové zařízení, které chceme – HD Audio Controller (nikoliv HDMI/DP Audio Controller) umístěn na doméně 0000, sběrnice 03, slot 00, funkce 6.

Krok 2:Změňte konfiguraci zvuku

Otevřete /etc/pulse/default.pa v textovém editoru jako root nebo sudo. Nejprve vytvořte zálohu tohoto souboru. Na začátek souboru pod obecný komentář k popisu souboru vložte následující fragment kódu, aby seděl nad ostatními konfiguračními direktivami:

### Načíst analogové zařízení
load-module module-alsa-sink device=hw:X,Y
load-module module-combine-sink sink_name=combined
set-default-sink combined

Kde X je karta a Y je zařízení. V mém případě to mapuje X =0, Y =3.

### Načíst analogové zařízení
load-module module-alsa-sink device=hw:0,3
load-module module-combine-sink sink_name=combined
set-default-sink combined

V tuto chvíli je nejjednodušší jednoduše restartovat systém.

Krok 3:Zkontrolujte konfiguraci a vyberte nový profil

Jakmile se počítač restartuje, spusťte ve své distribuci Linux konfigurační nástroj PulseAudio a vyberte poslední kartu (Konfigurace). Rozbalte rozevírací seznam profilů. Nyní si všimnete, že kromě dvou výchozích profilů je k dispozici mnohem více profilů. Vyberte možnost Stereo Output + Analogue Stereo Input.

Spusťte aplikaci, která umí přehrávat zvuk i nahrávat zvuk – Audacity je dobrým příkladem. A nyní si všimnete, že máte k dispozici obě funkce současně a váš problém je vyřešen.

Závěr

Tady jsme. Jsem rád, že jsem problém vyřešil, ale jsem strašně zklamaný, že se tento druh problému může nebo by měl vyskytnout v roce 2021. Můžete mít tendenci vinit hardware a můžete dokonce hledat konkrétní problémy se zvukem u AMD Raven/Raven2 Audio. Procesor, který by mohl být dobrým orientačním výchozím bodem. Ale nakonec to nejsou hardwarové věci, které bychom měli vinit. Nevím, proč by konfigurace PulseAudio měla být pro tuto konkrétní kartu v tomto distribuci jiná, ale v každém případě máte tento tutoriál, takže doufejme, že odteď bude vše veselé.

Pokud máte na svém notebooku se systémem Linux problémy se zvukem, pokuste se problém metodicky odladit. Funguje zvuk správně v jiných operačních systémech? Funguje zvuk ve vaší distribuci selektivně? Pokud ano, máte na místě správný druh konfigurace? Pomocí příkazů lspci a pacmd se pokuste zjistit, co je špatně, a pak je mnohem pravděpodobnější, že se zaměříte na správné změny konfigurace pro audio subsystém. V mém případě šlo o „jednoduchou“ záležitost vytvoření nového profilu PulseAudio. Ještě jednou velké díky lidem z Wiki ArchLinux. Na párty, lidi.


Linux
  1. Jak hromadně kopírovat obrázky pouze určité velikosti v Linuxu

  2. sox:příkaz nenalezen

  3. Odstraňte pouze soubory v adresáři v adresářích linux NOT

  1. Mikrofon Skype nefunguje v Linux Mint 17 [Rychlý tip]

  2. Linuxový příkaz 'll' nefunguje

  3. V jakých případech nemusí být CLOCK_MONOTONIC k dispozici

  1. Microsoft Teams je nyní k dispozici na Linuxu

  2. Jak nastavit Chroot SFTP v Linuxu (povolit pouze SFTP, ne SSH)

  3. fflush() v Linuxu nefunguje