| Порівняння попередніх версійПопередня ревізія | |
| pulseaudio [2021/04/16 16:43] – Розділення входів того самого пристрою wombat | pulseaudio [2024/06/10 07:42] (поточний) – [Запис з кількох входів одночасно] Фіксована петля wombat |
|---|
| Спочатку потрібно створити віртуальний звуковий пристрій, до якого ми спрямуємо сигнали від усіх потрібних входів. Для цього виконуємо команду: | Спочатку потрібно створити віртуальний звуковий пристрій, до якого ми спрямуємо сигнали від усіх потрібних входів. Для цього виконуємо команду: |
| |
| pactl load-module module-null-sink sink_name=MultipleInputs sink_properties=device.description="JointMicrophones" | pactl load-module module-null-sink sink_name=MixedOutput sink_properties=device.description="MixedOutput" |
| |
| При успішному виконанні програма видасть у консоль число. Це число -- умовний номер завантаженого модуля, за яким цей модуль можна згодом вимкнути (див. примітку у кінці). | При успішному виконанні програма видасть у консоль число. Це число -- умовний номер завантаженого модуля, за яким цей модуль можна згодом вимкнути (див. примітку у кінці). |
| |
| Тут параметр ''sink_name=MultipleInputs'' позначає умовне ім'я цього віртуального пристрою, за яким ми зможемо до нього надалі звертатись, а параметр ''sink_properties=device.description="JointMicrophones"'' задає текстовий опис пристрою, який буде показано у налаштуваннях гучності (''pavucontrol''). | Тут параметр ''sink_name=MixedOutput'' позначає умовне ім'я цього віртуального пристрою, за яким ми зможемо до нього надалі звертатись, а параметр ''sink_properties=device.description="MixedOutput"'' задає текстовий опис пристрою, який буде показано у налаштуваннях гучності (''pavucontrol''). |
| |
| Після цього у вікні налаштувань гучності (''pavucontrol'') на вкладці ''"Пристрої відтворення"'' з'явиться пристрій ''"JointMicrophones"''((Якщо його не видно, то внизу цієї вкладки потрібно натиснути на спадному списку ''"**Показати:**"'' та обрати зі списку пункт ''"All Output Devices"'')) | Після цього у вікні налаштувань гучності (''pavucontrol'') на вкладці ''"Пристрої відтворення"'' з'явиться пристрій ''"MixedOutput"''((Якщо його не видно, то внизу цієї вкладки потрібно натиснути на спадному списку ''"**Показати:**"'' та обрати зі списку пункт ''"All Output Devices"'')) |
| |
| Аналогічно, на сусідній вкладці ''"Пристрої отримання"'' з'явиться віртуальний пристрій ''"Monitor of JointMicrophones"''. | Аналогічно, на сусідній вкладці ''"Пристрої отримання"'' з'явиться віртуальний пристрій ''"Monitor of MixedOutput"''. |
| |
| Якщо все це так, можна переходити до наступного кроку. | Якщо все це так, можна переходити до наступного кроку. |
| Далі потрібно **для кожного** з пристроїв, сигнали яких ми хочемо поєднати, виконати таку команду: | Далі потрібно **для кожного** з пристроїв, сигнали яких ми хочемо поєднати, виконати таку команду: |
| |
| pactl load-module module-loopback sink=MultipleInputs latency_msec=5 | pactl load-module module-loopback sink=MixedOutput latency_msec=5 |
| |
| Тут обов'язково правильно вказати назву віртуального пристрою, до якого ми спрямуємо усі ці сигнали -- параметр ''sink=MultipleInputs''. Параметр ''latency_msec=5'' тут позначає затримку сигналу у цьому пристрої (число -- в мілісекундах; найменше значення -- 1мс). | Тут обов'язково правильно вказати назву віртуального пристрою, до якого ми спрямуємо усі ці сигнали -- параметр ''sink=MixedOutput''. Параметр ''latency_msec=5'' тут позначає затримку сигналу у цьому пристрої (число -- в мілісекундах; найменше значення -- 1мс). |
| |
| Після виконання кожної такої команди у вікні налаштувань гучності на вкладці ''"Запис"'' має з'явитися так званий Loopback-пристрій з назвою ''"Loopback to JointMicrophones з"'', праворуч від якої буде кнопка вибору пристрою, сигнал від якого нам потрібно спрямувати до нашого поєднувального віртуального пристрою ''"JointMicrophones"''. | Після виконання кожної такої команди у вікні налаштувань гучності на вкладці ''"Запис"'' має з'явитися так званий Loopback-пристрій з назвою ''"Loopback to MixedOutput з"'', праворуч від якої буде кнопка вибору пристрою, сигнал від якого нам потрібно спрямувати до нашого поєднувального віртуального пристрою ''"MixedOutput"''. |
| |
| Якщо тут вибрати потрібний пристрій, то на сусідній вкладці ''"Відтворення"'' з'явиться його назва у такому вигляді: ''"Loopback from <назва> на"'', і праворуч від цієї назви -- знову ж таки кнопка вибору пристрою, **до якого** потрібно спрямувати сигнал. В нашому випадку нам потрібно спрямувати усі сигнали на ''"JointMicrophones"'', тому скрізь обираємо саме його. Зверніть увагу, що на початку ці пристрої можуть бути приглушені (праворуч від кожного -- кнопка ''"Вимкнути звук"''). Для того, щоб можна було записувати усі поєднані сигнали через один пристрій ''"JointMicrophones"'', потрібно увімкнути звук на усіх цих пристроях. | Якщо тут вибрати потрібний пристрій, то на сусідній вкладці ''"Відтворення"'' з'явиться його назва у такому вигляді: ''"Loopback from <назва> на"'', і праворуч від цієї назви -- знову ж таки кнопка вибору пристрою, **до якого** потрібно спрямувати сигнал. В нашому випадку нам потрібно спрямувати усі сигнали на ''"MixedOutput"'', тому скрізь обираємо саме його. Зверніть увагу, що на початку ці пристрої можуть бути приглушені (праворуч від кожного -- кнопка ''"Вимкнути звук"''). Для того, щоб можна було записувати усі поєднані сигнали через один пристрій ''"MixedOutput"'', потрібно увімкнути звук на усіх цих пристроях. |
| |
| Після усіх цих налаштувань можна у програмі запису або зв'язку обрати пристрій ''"Monitor of JointMicrophones"'', і туди спрямовуватимуться сигнали від усіх обраних нами пристроїв. При цьому у налаштуваннях гучності можна легко регулювати гучність кожного з цих сигналів окремо, що дає змогу їх "вирівняти", якщо потрібно. | Після усіх цих налаштувань можна у програмі запису або зв'язку обрати пристрій ''"Monitor of MixedOutput"'', і туди спрямовуватимуться сигнали від усіх обраних нами пристроїв. При цьому у налаштуваннях гучності можна легко регулювати гучність кожного з цих сигналів окремо, що дає змогу їх "вирівняти", якщо потрібно. |
| |
| **Примітка:** Якщо всі ці налаштування більше не потрібні, і треба повернути все до початкового стану, усі завантажені модулі потрібно **//ви//**вантажити. Це можна зробити командою: | **Примітка:** Якщо всі ці налаштування більше не потрібні, і треба повернути все до початкового стану, усі завантажені модулі потрібно **//ви//**вантажити. Це можна зробити командою: |
| Тут замість "''<номер_модуля>''" потрібно вказати саме те число, яке було показане в консолі одразу після завантаження модуля. | Тут замість "''<номер_модуля>''" потрібно вказати саме те число, яке було показане в консолі одразу після завантаження модуля. |
| |
| | ===== Фіксована петля (loopback) ===== |
| |
| | Модуль ''loopback'' можна також завантажити одразу з фіксованим зв'язком між входом та виходом. Тоді перемикати пристрої у налаштуваннях гучності буде неможливо, але водночас це й убезпечує від випадкової помилки. |
| | |
| | Спершу треба дізнатись назви потрібних нам пристроїв введення (наприклад, мікрофонів). |
| | |
| | LANG=C pactl list sources | grep Name |
| | |
| | Назва реального мікрофона може бути на кшталт ''alsa_input.pci-0000_00_1b.0.analog-stereo''. |
| | Тоді модуль ''loopback'' завантажуємо з параметрами: |
| | |
| | pactl load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=MixedOutput source_dont_move=true sink_dont_move=true |
| | |
| | Тут параметри ''source_dont_move=true'' та ''sink_dont_move=true'' забороняють змінювати пристрої на кінцях цієї петлі. |
| |
| ====== Розділення входів того самого пристрою ====== | ====== Розділення входів того самого пристрою ====== |