
У меня есть USB-аудиоинтерфейс Scarlett 2i2 третьего поколения. У него два входа и два выхода. По умолчанию оба входа рассматриваются как стереомикрофоны. Настройки -> Звук -> Вход показывает одно устройство: «Аналоговый вход - Scarlett 2i2 USB». Однако я хочу, чтобы два входа были разделены, чтобы я мог выбрать любой из них в приложении.
Например, в Firefox, когда что-то хочет использовать микрофон, я могу выбрать 2i2, и оба входа будут использоваться. Я хочу иметь возможность отправлять либо левый, либо правый вход в приложение, но не оба.
Как изменить Pulse / Alsa так, чтобы аудиоинтерфейс был разделен на два виртуальных устройства ввода: одно с левым входом, другое с правым?
решение1
Ну, благодаря ответу Маттии, я обнаружил, что есть разница между sinks
и sources
. Приемник — это выход, источник — это вход. Сначала я запустил pacmd list-sources
и нашел строку channel map: front-left,front-right
. Это входы, которые я пытаюсь разделить. Затем я сформировал эту строку, чтобы вставить /etc/pulse/defaults.pa
:
load-module module-remap-source source_name=2i2_Left_Mic source_properties="device.description='2i2 Left In'" master=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8J9ZC3950FFF9-00.analog-stereo master_channel_map=front-left channel_map=front-left
Значение master
пришло из pacmd list-sources
, а карты каналов в конце — это то, что заставляет это работать. Я беру физический левый от входа и сопоставляю его с виртуальным левым для моего источника reamp. Вот как выглядит линия для другой стороны:
load-module module-remap-source source_name=2i2_Right_Mic source_properties="device.description='2i2 Right In'" master=alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y8J9ZC3950FFF9-00.analog-stereo master_channel_map=front-right channel_map=front-right
Вы также можете присоединить этот источник к работающему звуковому серверу без внесения изменений , /etc/pulse/defaults.pa
используя pactl load-module
, в этом случае вам нужно будет экранировать пробелы в описании с помощью обратных косых черт, например '"foo\ bar"'
(выглядит неправильно, но работает и позволяет избежать загадочной ошибки «Сбой: сбой инициализации модуля»):
pactl load-module module-remap-source \
master=alsa_input.usb-Focusrite_Scarlett_Solo_USB_Y78PVD021E19F4-00.analog-stereo \
source_name=Scarlett_Left_Mic \
source_properties=device.description='"Scarlett\ Solo\ Left\ Mic"' \
channels=1 \
master_channel_map=front-left \
channel_map=mono \
;
решение2
Да, вы можете это сделать. Благодаря пластичности pulseaudio
вы можете управлять входом и выходом, источником и приемником вашей звуковой карты ваших приложений.
Я не знаю ни одного готового примера/упражнения, так что вам придется с этим разобраться (по крайней мере начать) самостоятельно.
Как сказал @CL выше,этототличный источник для начала.Вот еще одинполезное место.
Наконец, я предлагаю несколько графических интерфейсов:pavucontrol
иpaprefs
, которые могут помочь вам в этой поездке.