Вопрос или проблема
Так что, не спрашивайте меня, почему я не использую Bitwig, потому что мне это просто не нравится, мне не нравятся lmms, ardour или reaper. Я пользователь Ableton, мой компьютер прекрасно работает на UBUNTU 20.04, и мне очень нравится эта прекрасная операционная система, но у меня есть одна проблема: я установил Ableton Live 10 на свой Linux через WineHQ, и он работает отлично, но у меня ОЧЕНЬ высокая задержка, и это сводит меня с ума.
Я попробовал установить ядро с низкой задержкой и jackaudio с wineasio, я могу настроить только 512 задержки (что-то около 16 мс), и это работает, но когда я ищу образцы в своих пакетах (например, ударные наборы и т. д.), это звучит плохо 🙁 СЛИШКОМ ПЛОХО, конечно, этого не происходит, когда я помещаю их в свой ударный набор и работаю с ними, но когда я ищу новый, ТА ЖЕ ПРОБЛЕМА, это происходит в браузере Ableton.
Мои характеристики:
4 ГБ ОЗУ
500 ГБ HDD
i7 3770 с Intel HD Graphics 4000
Есть ли решения? Спасибо в любом случае 🙂
РУКОВОДСТВО ПО ДОСТИЖЕНИЮ НИЗКОЙ ЗАДЕРЖКИ АУДИО ПРИ ЗАПУСКЕ ПРИЛОЖЕНИЯ ЧЕРЕЗ WINEHQ
Это руководство было написано с целью создания универсальной системы для музыкантов с минимальными изменениями в ОС Ubuntu. Руководство было протестировано на Ubuntu 24.04.1 LTS с установленным wine v9.17 и следующей конфигурацией системы:
- Материнская плата MSI® Z170A
- Процессор Intel® Core™ i5-6600
- GeForce GTX 1650 AERO ITX 4G OC
- Плата Inateck RedComets U21 USB 3.2 Gen 2 PCIe
- Портативный USB 3 аудиоинтерфейс Steinberg UR22C.
Примечание: Использование дискретной видеокарты, вероятно, поможет устранить треск при низкой задержке. Кроме того, использование карты USB PCIe x4 Gen 3.0 с эксклюзивной пропускной способностью USB-порта, вероятно, поможет устранить треск при низкой задержке при использовании USB аудиоинтерфейса.
Пожалуйста, внимательно прочитайте текст перед тем, как вносить изменения в систему.
Отказ от ответственности: Это руководство написано в исследовательских целях. Автор не несет ответственности за любые последствия, включая потенциальное повреждение устройства, нарушение лицензий производителей, утрату гарантии на устройство и т.д.
ПОДГОТОВКА
ШАГ 1. Установите Wine
Включите 32-битную архитектуру
$ sudo dpkg --add-architecture i386
$ sudo apt update
Узнайте VERSION_CODENAME
вашей Ubuntu
$ cat /etc/os-release
Создайте директорию “keyrings”, если она не существует
$ sudo mkdir -pm755 /etc/apt/keyrings
Загрузите ключ репозитория WineHQ
$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
Добавьте ключ репозитория WineHQ из директории keyrings
$ software-properties-gtk --open-tab=3
Добавьте репозиторий WineHQ
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources
См.: Debian/Ubuntu · Wiki · wine / wine · GitLab
Обновите список доступных пакетов
$ sudo apt update
Установите
$ sudo apt install --install-recommends winehq-devel
ШАГ 2. Установите полноценное ядро с низкой задержкой, затем перезагрузите систему
$ sudo apt install --install-recommends linux-lowlatency
ШАГ 3. Установите ядро по умолчанию для загрузки
Отредактируйте файл grub, затем сохраните изменения
$ sudo nano /etc/default/grub
Добавьте следующие две строки
GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved
Замените следующую строку
GRUB_TIMEOUT=0
на
GRUB_TIMEOUT=3
ШАГ 4. Обновите GRUB, затем перезагрузите систему
$ sudo update-grub
В меню GRUB перейдите к расширенным параметрам и выберите ядро с низкой задержкой. Ваш выбор будет сохранен по умолчанию.
Примечание: Для обновлений и стандартных задач используйте общее ядро.
ШАГ 5. Установите winetricks и запустите. Используйте winetricks, чтобы установить версию Windows на Windows 10
$ sudo apt install winetricks
$ winetricks
Следуйте последовательности выбора параметров: Выберите стандартный wineprefix > Изменить настройки > win10
Примечание: Тип аудиоустройства “Windows Audio” доступен в Windows 10.
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
E1 ШАГ 1. Убедитесь, что используется ядро с низкой задержкой (необходимо для устранения треска при низкой задержке)
$ uname -r
E1 ШАГ 2. Установите режим управления CPU в операционной системе Ubuntu на “Производительность” (необходимо для устранения треска при низкой задержке)
E1 ШАГ 3. Установите приложение
$ wine '/home/username/Downloads/setup.exe'
Примечание: Вы можете попробовать с инструментом Surge XT
E1 ШАГ 4. Запустите приложение через меню Dash
Примечание: Если приложение не появляется в меню Dash, перезагрузите систему
E1 ШАГ 5. Используйте меню настроек аудио приложения, чтобы внести следующие изменения:
- Тип аудиодрайвера: Windows Audio
- Выход: PulseAudio Output, Звуковая карта или Аудиоинтерфейс
- Частота дискретизации: <samplerate>
- Размер аудиобуфера: <buffersize>
Формула для приблизительного расчета общей задержки: общая задержка=(((alsa.output.quantum + application.quantum + audio.driver.quantum)÷rate)×1000).
Примеры использования драйвера аудио “Windows Audio”: (((128+240+128)÷48000)×1000)=10,333333333ms, (((192+480+128)÷96000)×1000)=8,333333333ms, (((256+960+128)÷192000)×1000)=7ms.
Пример использования драйвера аудио “DirectSound”: (((128+240+256)÷48000)×1000)=13ms
Примечание: Примеры были протестированы на кодеке Realtek® ALC892 и портативном USB 3 аудиоинтерфейсе Steinberg UR22C.
E1 ШАГ 6. Установите принудительную частоту дискретизации и размер буфера или правила для автоматизации
$ pw-metadata -n settings 0 clock.force-rate <samplerate>
$ pw-metadata -n settings 0 clock.force-quantum <buffersize>
Примечание: Это следует делать каждый раз, когда операционная система запускается или перезагружается.
Примечание: В идеале частота дискретизации приложения и принудительная частота дискретизации должны совпадать (для обхода задержки при преобразовании).
Примечание: Кроме того, вы можете внести изменения в следующие файлы $ sudo nano '/usr/share/pipewire/minimal.conf'
, $ sudo nano '/usr/share/pipewire/pipewire.conf'
.
E1 ШАГ 7. Подтвердите, что изменения были установлены
$ pw-metadata -n settings
Чтобы отменить изменения force-rate и force-quantum, выполните следующее:
$ pw-metadata -n settings 0 clock.force-rate 0
$ pw-metadata -n settings 0 clock.force-quantum 0
E1 ШАГ 8. Узнайте о квантованиях (размерах буфера), частотах (частотах дискретизации), произошли ли Xruns или ошибки
$ pw-top
СМОТРИТЕ ТАКЖЕ
РУКОВОДСТВО ПО ПРОПУСКУ GPU ДЛЯ UBUNTU С УСТАНОВЛЕННЫМ ДРАЙВЕРОМ NOUVEAU
РУКОВОДСТВО ПО ПРОПУСКУ GPU ДЛЯ UBUNTU С УСТАНОВЛЕННЫМ ПРОПРИЕТАРНЫМ ДРАЙВЕРОМ NVIDIA
АППАРАТНОЕ УСКОРЕНИЕ КОДИРОВКИ NVIDIA С ИСПОЛЬЗОВАНИЕМ FFMPEG
Устранение неисправностей
Проблема: Я слышу прерывающийся звук с треском.
Действие:
- Установите правильную частоту (частоту дискретизации) и квант (размер буфера)
Проблема: Я слышу звук с треском.
Действие:
- Увеличьте квант (размер буфера)
Проблема: Опции с маленькими значениями частоты дискретизации исчезли из меню настроек аудио установленного приложения в Wine.
Действие:
- Перезагрузите систему
Ссылки
Ответ или решение
К сожалению, Ableton Live, работающий через Wine на Linux, может столкнуться с проблемами, включая высокую задержку звука, что часто связано с конфигурацией и настройками системы. Давайте рассмотрим несколько подходов для снижения задержки и устранения связанных проблем с качеством звука при использовании Ableton Live 10 на Ubuntu 20.04.
Шаги по улучшению латентности звука в Ableton Live под WineHQ:
-
Проверка и установка всех необходимых компонентов:
- Убедитесь, что вы используете последнюю версию Wine. Для этого выполните:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install --install-recommends winehq-devel
- Убедитесь, что вы используете последнюю версию Wine. Для этого выполните:
-
Установка низколатентного ядра:
- Установите ядро, оптимизированное для работы с аудио, с помощью команды:
sudo apt install --install-recommends linux-lowlatency
- После установки перезагрузите систему и выберите низколатентное ядро в меню GRUB.
- Установите ядро, оптимизированное для работы с аудио, с помощью команды:
-
Настройка JACK и WineASIO:
- Установите JACK и WineASIO, чтобы оптимизировать работу аудиодрайверов:
sudo apt install jackd2 wineasio
- Настройте JACK: для этого откройте
qjackctl
и настройте параметры сессии: уменьшите размер буфера (например, до 128 или 256) и установите соответствующую частоту дискретизации (например, 44100 или 48000 Гц).
- Установите JACK и WineASIO, чтобы оптимизировать работу аудиодрайверов:
-
Настройка WINETRICKS:
- Убедитесь, что вы установили
winetricks
и установили Windows 10 в качестве используемой версии Windows:sudo apt install winetricks winetricks
- В меню winetricks выберите опцию для изменения настроек и установите Windows 10.
- Убедитесь, что вы установили
-
Оптимизация звуковых настроек в Ableton Live:
- Внутри Ableton Live проверьте настройки звука:
- Выберите драйвер Windows Audio или ASIO.
- Установите размер буфера на минимальное значение, которое ваша система может обрабатывать без дребезга.
- Исходя из ваших тестов, значения около 128-256 сэмплов могут работать лучше.
- Внутри Ableton Live проверьте настройки звука:
-
Дополнительные настройки:
- Используйте команду для установки губернатора процессора в режим "Performance":
sudo cpupower frequency-set -g performance
- Обратите внимание на использование внешних аудиоинтерфейсов, так как они, как правило, предлагают меньшую задержку по сравнению с встроенной аудиосистемой.
- Используйте команду для установки губернатора процессора в режим "Performance":
-
Параметры автоматизации в PipeWire (если используется):
- Если на вашем Ubuntu настроен PipeWire, вы можете настроить его для улучшения латентности:
pw-metadata -n settings 0 clock.force-rate <sample_rate> pw-metadata -n settings 0 clock.force-quantum <buffer_size>
- Если на вашем Ubuntu настроен PipeWire, вы можете настроить его для улучшения латентности:
Устранение неполадок:
- Если вы замечаете треск или нечеткий звук, увеличьте размер буфера до 512 или 1024 сэмплов, чтобы проверить стабильность.
- Убедитесь, что другие приложения, использующие аудиоустройства, закрыты во время работы с Ableton, и проверьте, что у вас достаточно ресурсов.
Заключение
Переход на улучшенную конфигурацию и использование низколатентного ядра значительно уменьшит задержку при работе с Ableton Live на Linux через WineHQ. Если после всех этих изменений вы все еще сталкиваетесь с проблемами, возможно, стоит рассмотреть использование nativных решений или аудиопрограмм, более совместимых с Linux.