Користувальницькькі налаштування

Налаштування сайту


pulseaudio

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
pulseaudio [2021/02/10 16:39]
wombat створено
pulseaudio [2021/04/16 19:43] (поточний)
wombat Розділення входів того самого пристрою
Рядок 1: Рядок 1:
 ====== Pulseaudio ====== ====== Pulseaudio ======
  
-===== Детектування входів =====+====== Детектування входів ​======
  
 Для вимкнення детектування входів потрібно передати відповідні параметри модулю ядра snd-hda-intel. Для цього потрібно:​ Для вимкнення детектування входів потрібно передати відповідні параметри модулю ядра snd-hda-intel. Для цього потрібно:​
Рядок 37: Рядок 37:
   Vendor Id: 0x10ec0887   Vendor Id: 0x10ec0887
   Subsystem Id: 0x1458a182   Subsystem Id: 0x1458a182
 +
 +
 +====== Запис з кількох входів одночасно ======
 +
 +Якщо в нас є кілька мікрофонів,​ і ми хочемо поєднати сигнал від них у єдиний запис, зробити це можна наступним чином ((Рішення взяте звідси:​ https://​askubuntu.com/​a/​870596/​298881 )).
 +
 +Спочатку потрібно створити віртуальний звуковий пристрій,​ до якого ми спрямуємо сигнали від усіх потрібних входів. Для цього виконуємо команду:​
 +
 +  pactl load-module module-null-sink sink_name=MultipleInputs sink_properties=device.description="​JointMicrophones"​
 +
 +При успішному виконанні програма видасть у консоль число. Це число -- умовний номер завантаженого модуля,​ за яким цей модуль можна згодом вимкнути (див. примітку у кінці).
 +
 +Тут параметр ''​sink_name=MultipleInputs''​ позначає умовне ім'​я цього віртуального пристрою,​ за яким ми зможемо до нього надалі звертатись,​ а параметр ''​sink_properties=device.description="​JointMicrophones"''​ задає текстовий опис пристрою,​ який буде показано у налаштуваннях гучності (''​pavucontrol''​).
 +
 +Після цього у вікні налаштувань гучності (''​pavucontrol''​) на вкладці ''"​Пристрої відтворення"''​ з'​явиться пристрій ''"​JointMicrophones"''​((Якщо його не видно, то внизу цієї вкладки потрібно натиснути на спадному списку ''"​**Показати:​**"''​ та обрати зі списку пункт ''"​All Output Devices"''​))
 +
 +Аналогічно,​ на сусідній вкладці ''"​Пристрої отримання"''​ з'​явиться віртуальний пристрій ''"​Monitor of JointMicrophones"''​.
 +
 +Якщо все це так, можна переходити до наступного кроку.
 +
 +Далі потрібно **для кожного** з пристроїв,​ сигнали яких ми хочемо поєднати,​ виконати таку команду:​
 +
 +  pactl load-module module-loopback sink=MultipleInputs latency_msec=5
 +
 +Тут обов'​язково правильно вказати назву віртуального пристрою,​ до якого ми спрямуємо усі ці сигнали -- параметр ''​sink=MultipleInputs''​. Параметр ''​latency_msec=5''​ тут позначає затримку сигналу у цьому пристрої (число -- в мілісекундах;​ найменше значення -- 1мс).
 +
 +Після виконання кожної такої команди у вікні налаштувань гучності на вкладці ''"​Запис"''​ має з'​явитися так званий Loopback-пристрій з назвою ''"​Loopback to JointMicrophones з"'',​ праворуч від якої буде кнопка вибору пристрою,​ сигнал від якого нам потрібно спрямувати до нашого поєднувального віртуального пристрою ''"​JointMicrophones"''​.
 +
 +Якщо тут вибрати потрібний пристрій,​ то на сусідній вкладці ''"​Відтворення"''​ з'​явиться його назва у такому вигляді:​ ''"​Loopback from <​назва>​ на"'',​ і праворуч від цієї назви -- знову ж таки кнопка вибору пристрою,​ **до якого** потрібно спрямувати сигнал. В нашому випадку нам потрібно спрямувати усі сигнали на ''"​JointMicrophones"'',​ тому скрізь обираємо саме його. Зверніть увагу, що на початку ці пристрої можуть бути приглушені (праворуч від кожного -- кнопка ''"​Вимкнути звук"''​). Для того, щоб можна було записувати усі поєднані сигнали через один пристрій ''"​JointMicrophones"'',​ потрібно увімкнути звук на усіх цих пристроях.
 +
 +Після усіх цих налаштувань можна у програмі запису або зв'​язку обрати пристрій ''"​Monitor of JointMicrophones"'',​ і туди спрямовуватимуться сигнали від усіх обраних нами пристроїв. При цьому у налаштуваннях гучності можна легко регулювати гучність кожного з цих сигналів окремо,​ що дає змогу їх "​вирівняти",​ якщо потрібно.
 +
 +**Примітка:​** Якщо всі ці налаштування більше не потрібні,​ і треба повернути все до початкового стану, усі завантажені модулі потрібно **//​ви//​**вантажити. Це можна зробити командою:​
 +
 +  pactl unload-module <​номер_модуля>​
 +
 +Тут замість "''<​номер_модуля>''"​ потрібно вказати саме те число, яке було показане в консолі одразу після завантаження модуля.
 +
 +
 +
 +====== Розділення входів того самого пристрою ======
 +
 +FIXME
 +
 +<​code>​
 +$ aplay -l
 +**** List of PLAYBACK Hardware Devices ****
 +card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +card 0: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +card 0: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
 +  Subdevices: 0/1
 +  Subdevice #0: subdevice #0
 +card 1: Generic [HD-Audio Generic], device 1: ALC887-VD Digital [ALC887-VD Digital]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +</​code>​
 +
 +
 +
 +<​code>​
 +$ arecord -l
 +**** List of CAPTURE Hardware Devices ****
 +card 1: Generic [HD-Audio Generic], device 0: ALC887-VD Analog [ALC887-VD Analog]
 +  Subdevices: 0/1
 +  Subdevice #0: subdevice #0
 +card 1: Generic [HD-Audio Generic], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
 +  Subdevices: 0/1
 +  Subdevice #0: subdevice #0
 +card 2: U0x46d0x8da [USB Device 0x46d:​0x8da],​ device 0: USB Audio [USB Audio]
 +  Subdevices: 1/1
 +  Subdevice #0: subdevice #0
 +</​code>​
 +
 +
 +
 +<file conf "​~/​.config/​pulse/​default.pa">​
 +### Load audio drivers statically
 +### (it's probably better to not load these drivers manually, but instead
 +### use module-udev-detect -- see below -- for doing this automatically)
 +#​load-module module-alsa-sink
 +#​load-module module-alsa-source device=hw:​1,​0
 +#​load-module module-oss device="/​dev/​dsp"​ sink_name=output source_name=input
 +#​load-module module-oss-mmap device="/​dev/​dsp"​ sink_name=output source_name=input
 +#​load-module module-null-sink
 +#​load-module module-pipe-sink
 +
 +load-module module-alsa-sink device=hw:​1,​0 name="​ALSAOutput"​
 +load-module module-alsa-source device=hw:​1,​0 name="​ALSASource1"​ source_properties=device.description="​ALSASource1"​
 +load-module module-alsa-source device=hw:​1,​2 name="​ALSASource2"​ source_properties=device.description="​ALSASource2"​
 +
 +
 +### Automatically load driver modules depending on the hardware available
 +#.ifexists module-udev-detect.so
 +#​load-module module-udev-detect
 +#.else
 +### Use the static hardware detection module (for systems that lack udev support)
 +#​load-module module-detect
 +#.endif
 +</​file>​
 +
 +  systemctl --user restart pulseaudio
 +
 +
 +
  
pulseaudio.1612967989.txt.bz2 · В останнє змінено: 2021/02/10 16:39 by wombat