Jak zmienić, które gniazda audio są używane do wejścia i wyjścia?

10

Używam karty dźwiękowej Realtek HD wbudowanej w moją płytę główną. Sterownik systemu Windows jest dostarczany z panelem sterowania, który pozwala mi wybrać, które gniazda panelu tylnego są używane do czego. Na przykład mogę wykonać zarówno niebieskie gniazdo, jak i zielone gniazdo wyjściowe, a tylko czerwone dla wejścia mikrofonowego. (Podczas gdy domyślnie niebieski jack służy do wejścia liniowego, którego nigdy nie potrzebuję.)

Jak mogę zrobić to samo w systemie Linux? Jeśli to możliwe, nie sugeruj czegoś, co dotyczy PulseAudio lub JACK; Chciałbym to zrobić w prosty sposób, np. Edytując pliki konfiguracyjne ALSA, jeśli to możliwe. W moim rozumieniu mój problem nie powinien mieć nic wspólnego z serwerami oprogramowania przekierowującymi strumienie, po prostu instruując sterownik, aby traktował to gniazdo jako takie, ponieważ jest obsługiwane sprzętowo.

Dziękuję Ci bardzo!

Yamaho
źródło
to działa na nową datę aktualizacji kliknij link askubuntu.com/questions/289042/…
Scott Hunt

Odpowiedzi:

17

Udało mi się to zrobić, ale zmiany są przywracane po ponownym uruchomieniu. ( Aktualizacja: można to obejść; patrz na dole tego postu).

Zrobiłem to za pomocą graficznego interfejsu użytkownika w pythonie o nazwie HDA Analyzer, który można pobrać i używać ze strony internetowej ALSA w następujący sposób:

  • wget -O run.py http://www.alsa-project.org/hda-analyzer.py

  • sudo python run.py(Ich strona nie mówi sudo, ale jeśli tego nie zrobisz sudo, pobierze skrypty, ale ich nie uruchomi i nie narzeka na uprawnienia.)

Teraz spowoduje to uruchomienie GUI, ale jego użycie nie zostało wyjaśnione i nie jest całkiem przyjazne dla początkujących. Aby ułatwić życie, wyjaśnię, jak to zrobiłem. W moim przypadku chodziło o dwa kliknięcia; trudną częścią było zlokalizowanie dokładnie tego, co należy kliknąć.

(Uwaga: Możesz przeglądać wszystkie węzły jeden po drugim, ale nie modyfikuj niczego, czego nie rozumiesz. Każda modyfikacja (np. Zaznaczenie pola wyboru) zaczyna obowiązywać natychmiast; nie ma przycisku Zastosuj).

  • Lista zawiera wiele węzłów zwanych Node[0x##]następnie każdy z AUD_OUT, AUD_IN, AUD_MIX, PINi VENDOR. Jedyne, na które musisz spojrzeć, to PINte.

  • Istnieje wiele rodzajów węzłów PIN; pożądany typ wypełnia całe okno panelami / grupami kontrolnymi (pomaga rozciągnąć lub zmaksymalizować okno), jak na tym zrzucie ekranu . (Witryna uniemożliwiła wstawienie obrazu w treści, przepraszam).

  • W polu Domyślna konfiguracja niektóre węzły będą znajdować się w pierwszym wierszu Jack Connection: N/A; potrzebujemy tych, które mówią Jack Connection: Jackjak na zrzucie ekranu.

  • Aby zmienić wejście liniowe na gniazdo wyjściowe, spójrz, aż znajdziesz węzeł, który mówi Jack Type: Line In. (I zwróć uwagę na Jack Location2: Reari Jack Color: Blue).

  • Następnie w trzech polach wyboru w grupie Kontroli widżetów poniżej, odznacz IN i zaznacz OUT .

  • W ten sam sposób możesz przypisać dowolny z przednich lub tylnych gniazd do wejścia lub wyjścia.

Teraz, jeśli zamkniesz okno, pojawi się pytanie, czy chcesz przywrócić zmiany. Powiedzenie „tak” natychmiast je przywraca; powiedzenie „nie” trzyma ich, ale tylko na tę sesję.

Jeśli chcesz zachować zmiany na stałe, nie zamykaj jeszcze HDA Analyzera. Zamiast tego kliknij „Exp” (Eksportuj) w lewym dolnym rogu i użyj opcji Zapisz jako, aby napisać skrypt Pythona do pliku. Teraz skopiuj ten plik do czegoś podobnego /etc/hda-mods.pyi edytuj /etc/rc.localjako root (np. Używając gksudo gedit /etc/rc.local) i dodaj linię python /etc/hda-mods.pytuż przed exit 0linią, a następnie zapisz i uruchom ponownie. Twoje zmiany powinny przetrwać.

Yamaho
źródło
Chciałbym wiedzieć, jak przydatne jest to dla osób, które chcą skorzystać z HDA Analyzer do skonfigurowania konfiguracji 5.1 ...
Yamaho
Użyłem tego niesamowitego zapisu, aby użyć mojego różowego (tylnego) portu mikrofonu jako mojego wyjścia sub / środkowego i mojego niebieskiego (tylnego) portu wejścia liniowego jako mojego tylnego kanału. To nie jest „5.1” w tym sensie, że jest to dźwięk pozycyjny per se, ale tak naprawdę nie potrzebuję tego teraz… Potrzebuję tylko analogowego wyjścia stereo we wszystkich kanałach.
digitalextremist
1
Musi istnieć sposób na oznaczenie każdego wyjścia jako do dowolnego celu, tj. Oznaczenie go jako subwoofera itp.
digitalextremist
3

Kolejnym narzędziem GUI może być hdajackretaskz alsa-tools-guiopakowania. Bardzo proste GUI, obsługuje nadpisywanie rozruchu i zaawansowane opcje.

wprowadź opis zdjęcia tutaj

Mam nadzieję, że całkowicie nie zrozumiałem pytania. OP poprosił o opcje inne niż JACK, ale jestem pewien, że może to pomóc komuś innemu. W moim przypadku musiałem sprawdzić przesłonięcie Advance i pokazać niepodłączone piny i ustawić niepodłączone wejście mikrofonowe na wyjście słuchawkowe ... bardzo dziwne, ale działa. Chciałbym zobaczyć rozwiązanie linii cmd

phil294
źródło
działało dla mnie dopiero po instalacji, ponieważ mają zastosowanie rozruchu.
Ruslan Gerasimov
@RuslanGerasimov tak, często mam błąd „nie mogę xyz”. Po ponownym uruchomieniu programu po raz 10 (czasem z sudo, czasem bez), zadziałał. Myślę, że konieczne jest również zamknięcie innych aplikacji. Z mojego doświadczenia wynika, że ​​ponowne uruchomienie komputera nie jest konieczne.
phil294