Может ли быть вредно предоставлять приоритет в реальном времени Джекду?
Я могу установить Ardor, программу микширования звука, просто чтобы попробовать. Установка Ardor также устанавливает JACK, зависимость. Как часть сценария установки JACK, я получаю следующий диалог:
Если вы хотите запустить jackd с приоритетами в реальном времени, пользователю, запускающему jackd, нужны разрешения в реальном времени. Примите эту опцию, чтобы создать файл /etc/security/limits.d/audio.conf, предоставляющий приоритет в реальном времени и привилегии memlock для аудиогруппы.
Запуск jackd с приоритетом в реальном времени минимизирует задержку, но может привести к полной блокировке системы путем запроса всей доступной физической системной памяти, что недопустимо в многопользовательских средах.
Включить приоритет процесса в реальном времени?
Я устанавливаю на свой ноутбук, на котором никогда не бывает нескольких пользователей одновременно. У меня все еще есть проблемы: является ли JACK чем-то, что будет использоваться самой системой для воспроизведения какого-либо звука (то есть заменит ли он ALSA)? Если это так, значит ли это, что если я включу приоритет JACK в реальном времени, я рискну немного заморозить машину при воспроизведении любого звука? Или JACK пока будет использоваться только Ardor (пока я не установлю какую-нибудь другую JACK-зависимую программу)?
2 ответа
Джекд обычно не заменяет ALSA. Джекд обычно использует ALSA, чтобы обеспечить его вывод. Что обеспечивает Джек, это сеть патчей / маршрутизации аудио с малой задержкой, которую может использовать другое программное обеспечение. Только программное обеспечение, разработанное для использования Jackd, будет использовать JackD. Jackd нужно запускать только тогда, когда вы используете программное обеспечение, которое его использует (например, Ardor, Rosegarden, Jack-rack). Когда вы не запускаете программу, которая использует jackd, вам не нужно запускать jackd.
Лучшая программа, которую я нашел для управления jackd - это qjackctl, которую можно установить через Ubuntu Software Center как Jack Control. Он позволяет запускать / останавливать jackd, настраивать его работу и устанавливать соединения.
Чтобы получить минимально возможную задержку, jackd действительно хотел бы использовать потоки с приоритетом в реальном времени. Включение обработки в реальном времени для jackd - хорошая вещь, и она не должна повредить вашей системе. (Машина, на которой я сейчас печатаю, включала ее в течение 4 лет в 2 разных дистрибутивах Linux и 2 разных аппаратных воплощениях без каких-либо блокировок.)
Кстати, как только вы начнете использовать некоторые функции Jackd, это становится довольно захватывающим. Запуская различные стойки эффектов (экземпляры jack-rack) и устанавливая соединения, я могу взять стереозапись и создать выход 4.2 в реальном времени, где у меня есть различные задержки реверберации / задержки для задних динамиков, настраиваемый центр микширование каналов и выход сабвуфера. (Я все еще пытаюсь найти хороший октавный удвоитель для этого.)
Один из подходов к проблеме блокировки в реальном времени - просто открыть bash
терминал с более высоким приоритетом, чем jackd
, Используйте свой высокоприоритетный терминал, чтобы убить jackd
если вы видите признаки загрузки процессора в реальном времени. Я использовал это, чтобы избежать полных сбоев, прежде чем изучать искусство точной настройки IRQ для профессионального аудио. Крутая кривая обучения, отличные награды!