Как изменить звуковые разъемы, используемые для ввода и вывода?

10

Я использую встроенную в материнскую плату звуковую карту Realtek HD. Драйвер Windows поставляется с панелью управления, которая позволяет мне выбирать, какие гнезда на задней панели используются для чего. Так, например, я могу сделать как синий разъем, так и зеленый разъем для вывода, и только красный для микрофона. (Принимая во внимание, что по умолчанию синий разъем предназначен для линейного входа, который мне никогда не нужен.)

Как я могу сделать то же самое под Linux? Если возможно, пожалуйста, не предлагайте что-то, что связано с PulseAudio или JACK; Я хотел бы сделать это простым способом, например, редактируя файлы конфигурации ALSA, если это возможно. Насколько я понимаю, моя проблема не должна иметь ничего общего с серверами программного обеспечения, перенаправляющими потоки, а просто инструктировать драйвер так же и так обращаться с этим гнездом, потому что оно поддерживается аппаратно.

Большое спасибо!

Yamaho
источник
это работает на новую дату обновления, перейдите по ссылке askubuntu.com/questions/289042/…
Скотт Хант

Ответы:

17

Мне удалось это сделать, но изменения возвращаются после перезагрузки. ( Обновление: это можно обойти; см. Нижнюю часть этого сообщения.)

Я сделал это через графический интерфейс в Python под названием HDA Analyzer, который можно получить и использовать на веб-сайте ALSA, как показано ниже:

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

  • sudo python run.py(На их странице не написано sudo, но если вы этого не сделаете sudo, он загрузит сценарии, но не сможет их запустить и пожалуется на привилегии.)

Теперь это заставит запуск графического интерфейса, но его использование не объяснено, и это не совсем дружественно для новичка. Чтобы облегчить жизнь, я объясню, как я это сделал. В моем случае это был вопрос двух кликов; сложная часть находила именно то, что нужно нажать.

(Примечание. Вы можете исследовать все узлы один за другим, но не изменяйте ничего, что не понимаете. Любое изменение (например, отметка флажка) вступает в силу немедленно; кнопка «Применить» отсутствует.)

  • Список содержит множество узлов под названием Node[0x##]следуют какой - либо из AUD_OUT, AUD_IN, AUD_MIX, PINи VENDOR. Единственные, на кого вы должны смотреть, это PINте.

  • Существует несколько типов узлов PIN; нужный нам тип заполнит все окно панелями / группами управления (это помогает растянуть или развернуть окно), как на этом скриншоте . (Сайт запретил мне вставлять изображение в строку, извините.)

  • Внутри поля Config Default некоторые узлы будут находиться в первой строке Jack Connection: N/A; нам нужны те, которые говорят, Jack Connection: Jackкак на скриншоте.

  • Чтобы изменить линейный вход на выходной разъем, посмотрите, пока не найдете узел, который говорит Jack Type: Line In. (И обратите внимание на Jack Location2: Rearи Jack Color: Blue.)

  • Затем в трех флажках в группе управления виджетами ниже снимите флажок IN и проверьте OUT .

  • Таким же образом вы можете назначить любое из передних или задних гнезд на вход или выход.

Теперь, если вы закроете окно, он спросит, хотите ли вы отменить изменения. Сказать «да» немедленно отменяет их; Говоря нет, держит их, но только для этой сессии.

Если вы хотите сохранить свои изменения навсегда, пока не закрывайте HDA Analyzer. Вместо этого нажмите «Exp» (Экспорт) в левом нижнем углу и используйте «Сохранить как», чтобы записать скрипт Python в файл. Теперь скопируйте этот файл в нечто похожее /etc/hda-mods.pyи отредактируйте его /etc/rc.localкак root (например, используя gksudo gedit /etc/rc.local) и добавьте строку python /etc/hda-mods.pyпрямо перед exit 0строкой, затем сохраните его и перезагрузите. Ваши изменения должны выжить.

Yamaho
источник
Я хотел бы знать, насколько это полезно для людей, которые хотят использовать HDA Analyzer для настройки конфигурации 5.1 ...
Yamaho
Я использовал эту потрясающую запись, чтобы использовать мой розовый (задний) микрофонный порт в качестве моего вспомогательного / центрального выхода, и мой синий (задний) линейный порт в качестве моего заднего канала. Это не "5.1" в смысле позиционного звука как такового, но мне это сейчас не нужно ... Мне просто нужен аналоговый стереовыход на всех каналах.
digitalextremist
1
Должен быть способ пометить каждый выход как для какой-либо цели, т.е. обозначить его как сабвуфер и т. Д.
digitalextremist
3

Другой графический инструмент может быть hdajackretaskиз alsa-tools-guiпакета. Очень простой графический интерфейс, поддерживает переопределение загрузки и дополнительные параметры.

введите описание изображения здесь

Надеюсь, я не понял вопрос полностью. ОП попросил не JACK-опции, но я уверен, что это может помочь кому-то еще. В моем случае мне пришлось проверить Advance override и Show unnected pins и установить неподключенный микрофонный вход на выход для наушников ... очень странно, но работает. Хотелось бы увидеть решение линии CMD хотя

phil294
источник
работал у меня только после установки, так как загрузчик применяется.
Руслан Герасимов
@RuslanGerasimov: Да, я часто получаю сообщение об ошибке «не удалось xyz». После перезапуска программы в 10-й раз (иногда с sudo, иногда без) она работала. Я думаю, что также необходимо закрыть любые другие приложения. По моему опыту, перезагрузка не нужна.
phil294