LINUX.ORG.RU

Гитара + Linux + СПО: быстрое руководство 2025

 , , ,


16

6

Рассмотрим сначала базовую задачу — как играть, при использовании преимущественно СПО. Про запись гитары, и про коммерческое ПО - возможно, будет отдельно.

Итак, у вас есть гитара, и вы хотите использовать компьютер как гитарный процессор для нее, вместо гитарного комбика. Что надо знать, актуальный список пунктов на 2025 год:

Подключение гитары

Встроенная карта компьютера имеет только вход под электретный микрофон (самый дешевый «для скайпа»), и, если повезет, линейный вход. Ни то, ни другое не подходит для подключения гитары! Вы можете подключить гитару в эти входы, и что-то даже будет звучать, но звук будет сильно ухудшен по сравнению с нормальным подключением к гитарному (инструментальному) входу. Можно немного улучшить ситуацию, спаяв предусилитель, согласующий гитару и микрофонный вход. Гуглите: «истоковый повторитель для гитары», «DI-box для гитары».

Для нормального подключения гитары, нужен аудио-интерфейс (дискретная звуковая карта) с инструментальным входом. С ним гитара будет работать как надо из коробки. Настоятельно рекомендуется этот вариант. На 2025 год, самые базовые и дешевые, но безусловно качественные варианты: Focusrite Scarlett Solo 4gen, Arturia MiniFuse1. Обе эти карты из коробки работают в Linux.

Обеспечение низких задержек при обработке звука

Если вы хотите играть через компьютер без внешнего мониторинга, слушая звук, обработанный самим коспьютером, то нужно добиться минимальной задержки между входным и выходным сигналом звуковой карты.

Для игры на гитаре, при игре в наушниках через компьютер, желательно добиться задержки в пределах 4-6 мс. Это соответствует задержке при игре через традиционный аналоговый комбик, который стоит в 1.5 метрах от вас. Более высокая величина задержки будет мешать попадать точно в ритм и ровно играть быстрые пассажи. Для начинающего гитариста, высокая задержка может стать сильным барьером к росту техники игры. К этому надо отнестись очень серьезно!

Для Linux систем, задержка <5 мс является серьезным вызовом. Заставить систему работать с такой низкой задержкой не так просто, тут надо применить некоторые танцы с бубном! НО — возможно что у вас реально мощная производительная система, и задержка уровня 5 мс будет достигнута легко, в таком случае дальнейшие пункты вам могут показаться преувеличением. Сразу говорю, что пишу со слабой системы для слабых систем!

Важнейнше! Реальная, физическая величина задержки (roundtrip) может быть совсем иной, чем это показывает софт! Например, у меня в Ardour показывается величина задержки 1.3 мс, при этом реальная задержка может составлять, при разных настройках Pipewire, от 3.8 мс до 15 мс! Поэтому, крайне желательно измерять реальную задержку путем соединения входа и выхода звуковой карты кабелем, используя плагин LSP Latency Meter. Надо промерять задержку для каждой комбинации настроек, которые вы делаете, и ориентироваться на результаты измерений, а не на показания программ типа Ardour или QJackCtl.

Многочисленные руководства по снижению задержки, которые можно найти в интернете, зачастую устарели на 20 лет, поэтому лучше к ним относиться скептически.

  1. Установка linux-rt ядра: На 2025 год, его использование часто не дает улучшения задержки аудио. В то же время, обычное общего назначения ядро Linux, давно улучшено для аудио задач, и может давать очень низкие задержки аудио! Можно попробовать установить ядро linux-rt для эксперимента и сравнения с обычным ядром, но не стоит ждать от него заметного результата.

  2. Не все дистрибутивные ядра одинаково хороши! Например, штатное ядро Arch Linux у меня не может работать с приемлемым уровнем задержки. А ванильное ядро с kernel.org, без каких-либо дистрибутивных патчей - работает без нареканий. Поэтому требуется подбор ядра, для вашей системы! Я рекомендую пробовать сразу ванильное LTS ядро Linux, без дистрибутивных патчей. В Arch Linux в репозитории есть LTS ядро, оно практически ванильное и нам подходит. Также, хорошо себя показывают себя ядра Xanmod, Liquorix.

  3. Широко распространено мнение, что для низких задержек обязательно надо ставить и использовать JACK или Pipewire. Это не всегда так. Pipewire и JACK это отдельные процессы от приложения, которое обрабатывает гитарный звук. Поэтому требуются дополнительные затраты на переключение контекста, если вы выводите звук через JACK либо Pipewire. Это, само по себе, явно не положительным образом сказывается на минимально достижимой задержке! Поэтому, для достижения максимально низкой задержки, надо не добавить, а исключить все дополнительные прослойки между приложением и звуковой картой! Приложение должно работать поверх чистой ALSA, но тут есть несколько нюансов.

  4. Есть Ardour и Reaper, и в них очень хорошо реализована работа поверх ALSA и JACK/Pipewire с экстремально низкими задержками. Лучше сразу пробовать работать в этих программах, и использовать этот результат как основу для сравнения с другими вариантами. С другими приложениями, минимально достижимая задержка может быть выше. Надо пробовать и сравнивать.

  5. Правильные настройки приложения-хоста для достижения минимальной задержки. Важно! Этот пункт сначала лучше пропустить, и проверить что будет без этих настроек. Если стабильная работа с частотой дискретизации 48000 Гц и буфером 64 семпла не достигается, можно пробовать сделать следующие пункты.

  6. Если используется Pipewire, то прежде всего надо переключить профиль звуковой карты в Pro Audio. Сделать это можно при помощи Pavucontrol. Открываем вкладку Configuration, там сразу видны настройки выбора профиля для всех доступных карт в системе. Выбираем профиль Pro Audio. Этот профиль отключает все программные обвязки над физической картой (split configuration и подобное), и самое главное - он переключает Pipewire в режим работы, аналогичный JACK и ALSA приложениям. Именно такой режим лучше подходит для работы с экстремально низкими задержками!

  7. Надо правильно настроить Ardour. В его настройках, есть раздел Производительность, там надо включить: 1) использование только одного ядра процессора, либо другой вариант из этого списка, проверяется экспериментально, что для вас лучше будет работать 2) Управление питанием: Lowest (prevent CPU sleep states) 3) Что делать с обработчиками: Использовать FlushToZero и DenormalsAreZero.

  8. Настройки Reaper. Открываем диалог Reaper Preferences. Находим в в дереве настроек Audio / Buffering. Настройка Allow live FX Multiprocessing On: 4 CPUs. Отключаем или уменьшаем количество CPU.

  9. При создании проекта в Ardour/Reaper, выбираем бэкенд ALSA, количество периодов — лучше 3, далее подбираем размер буфера, минимальный при котором будет без глюков воспроизводиться звук. Для игры на гитаре, нужно добиться хотя бы вариантов 96000 Гц / 128 семплов, 48000 Гц / 64 семпла. Такие настройки дадут реальную задержку порядка 5 мс.

  10. При работе Ardour или Reaper на ALSA, он полностью захватит звуковую карту и другие приложения ничего воспроизводить не смогут! С этим придется мириться и сложно бороться, потому что только исключив все побочное, можно добиться минимальной, экстремально низкой задержки. У проблемы есть два основных решения. 1) если у внешней аудиокарты есть несколько входов и аппаратный микшер, можно подать кабелем туда звук со встроенной аудио карты, работающей с высокой задержкой. 2) Можно использовать Pipewire (также JACK, но в 2025 году уже смысла для Ardour в нем нет). Вот именно для этого и начинает быть нужен Pipewire — если вам надо воспроизводить звук из другого приложения кроме Ardour, и при этом задержка должна оставаться минимально возможной!

  11. Если Ardour работает поверх Pipewire, он будет использовать все звуковые карты которые у вас есть! То есть, как внешнюю так и встроенную! А встроенная, мягко скажем, с низкими задержками может совсем плохо работать, и все порушит. Поэтому, может иметь смысл отключение встроенной аудио карты. Отключить ее можно через конфигурацию wireplumber, как это сделать в настоящий момент времени — лучше искать в Arch Wiki по Wireplumber, там есть пункт где написано как отключить карту. Отключаем встроенную карту, оставляем только внешнюю.

  12. Если Ardour запускать поверх Pipewire, он просто подхватит все дефолтные настройки сервера Pipewire (частота дискретизации, буфер). Зачастую, это не то что нужно, поэтому до запуска Ardour надо изменить параметры Pipewire командами (ставим частоту дискретизации 96000 Гц и буфер 128 семплов).

metadata -n settings 0 clock.force-rate 96000
metadata -n settings 0 clock.force-quantum 128

Враги низкой задержки — найти и уничтожить!

Еще раз повторюсь, что если у вас достаточно производительная система, это может не понадобиться, все будет работать с низкой задержкой и так. Если стабильная работа хотя бы на частоте дискретизации 48000 Гц с буфером 64 семпла не достигается, то:

  1. Любые тяжелые приложения, прежде всего браузеры — сразу закрываем. Должно работать только системное окружение, Ardour, и плеер из которого воспроизводится минусовка. Конечно, очень хочется минусовку запускать прямо с Youtube, но - это сильный удар по задержке.

  2. Сеть и Wifi! Особенно вайфай. Сильно вредит. Отключаем его путем выгруза модуля ядра драйвера Wifi карты:

sudo modprobe -r ath9k
  1. Энергосбережение. Отключаем все энергосбережение, до чего можно и железо дает дотянуться. Прежде всего вот так:
sudo cpupower frequency-set -g performance

После принятия этих мер, задержку должно получаться выставить на уровне о котором написано выше.

Программная часть

Прежде всего, это руководство ориентировано на свободные программные решения. Они и будут описаны дальше. Но, как мы все понимаем, это одна из узкопрофессиональных не-программистских сфер, и здесь свободные решения зачастую сильно проигрывают коммерческим решениям, с точки зрения пользователя. Если для вас недостаточно перечисленных дальше свободных проектов, используйте проприетарные DAW и плагины, которых под Linux сейчас доступно большое количество. Их обзор выходит за рамки этого руководства (я сторонник использования СПО).

В основном, для формирования звука нам понадобятся плагины. Есть несколько универсальных форматов плагинов, все эти плагины подходят к любому приложению-хосту, который поддерживает соответствующий стандарт. Основные форматы плагинов - это LADSPA, LV2, VST2, VST3. Часто, одни и те же плагины доступны сразу в нескольких форматах. Для использования плагинов, понадобится сначала выбрать приложение-хост, в которое плагины будут добавляться. Здесь есть два типа приложений-хостов:

  1. Педалборд, патчборд, модульный хост, модульный синтезатор, или модульная DAW. Может называться по-разному, для гитариста проще всего объяснить, что это эмулятор педалборда. То есть такое пространство, куда можно добавлять плагины-педали и соединять их кабелями любым нужным образом, а потом управлять по MIDI работой этих плагинов.

    1. Из свободных решений, ближе всего к такому - MOD Desktop. Отличный графический интерфейс, правда, это веб-интерфейс)) 200+ плагинов внутри. Есть гитарные нейро-усилители AIDA-X и NAM среди них. Также в принципе все эффекты, которые нужны для гитары.

    2. Можно использовать Carla, туда можно загружать плагины во всех основных форматах, но у нее нет удобного GUI для управления соединениями между плагинами, и есть проблемы с низким уровнем задержки.

    3. Можно использовать Bespoke, есть развитый GUI и удобный патчинг, правда у него направленность больше на модульный синтез.

  2. DAW (Digital Audio Workstation) общего назначения. С первого взгляда кажется, что это хуже и не так удобно, как использовать специализированные для живой игры программы-педалборды. Но у DAW есть серьезное преимущество - они имеют хорошие аудио-движки, оптимизированные для работы с экстремально низкими задержками. Они также поддерживают все основные форматы плагинов, и они поддерживают управление всем по MIDI. Основное отличие при работе с DAW - надо организовывать плагины не в виде свободного графа соединений, как в педалборде, а в виде последовательных цепочек на разных дорожках DAW. Также к преимуществам можно отнести, что в DAW вы сразу же можете и записывать гитару, а не только играть. В DAW легко воспроизводить минусовку, добавив ее в виде дорожки. Какие DAW рассмотреть для начала:

    1. Ardour - это лидер среди свободных DAW. Вызывает некоторые нарекания по сравнению с крутыми коммерческими DAW, прежде всего в задачах редактирования MIDI партий, но в качестве хоста плагинов для живой игры на гитаре, базовой записи и сведения результата - вполне годится (если вы не Abbey Road). Все остальные СПО DAW решения, пожалуй, будут еще хуже для этой задачи.

    2. Qtractor - вторая по «масштабу» свободная DAW. Точно так же может использоваться, но она имеет меньше возможностей и пользовательской базы, чем Ardour. Попробовать ее однозначно стоит тоже.

    3. Reaper - это коммерческая DAW, но мы ее тоже здесь упомянем, очень уж она хороша! Это очень легкая по размеру и потреблению ресурсов, но функционально развитая и удобная DAW. Как и Ardour, имеет развитые настройки движка для обеспечения минимальной задержки, работает как с ALSA, так и с JACK/Pipewire. Reaper лучше чем Ardour, но это не СПО и он стоит денег.

    4. Другие коммерческие DAW. Они есть, но их обзор уже за рамками этого руководства.

  3. Теперь рассмотрим наборы плагинов, которые можно использовать с перечисленными выше хостами. Снова делаем упор на СПО решения.

    1. Набор плагинов KPP (https://github.com/olegkapitonov/Kapitonov-Plugins-Pack). Есть в репах основных дистрибутивов. Это непосредственно базовые гитарные плагины, поддерживают профили гитарного усилителя, позволяющие одним плагином имитировать практически любую модель комбика с любым типом звучания. К ним есть приложение tubeAmp Designer там же, оно позволяет создавать профили, и даже обмерять тестовым сигналом усилители и копировать их звучание.

    2. Набор плагинов Guitarix LV2. Есть в репах дистрибутивов. Проект известнейший с большой историей. Есть отдельное приложение Guitarix, но я рекомендую использовать именно DAW систему (Ardour, Reaper) и плагины в ней, потому что DAW системы эффективнее работают со звуковой картой в вопросе минимальной задержки.

    3. Нейро-плагины. Есть как минимум три свободных проекта плагинов гитарного усилителя, с моделированием нейросетями. Это AIDA-X, SmartGuitarAmp, Chamelon.

    4. Общие наборы плагинов LV2, VST для Linux. Могут понадобиться для дополнительных эффектов/обработки.

    5. Свободные и проприетарные плагины можно искать здесь: https://linuxdaw.org/ https://linuxmusic.rocks/

    6. Хоть исходники и не доступны (я не нахожу), но очень интересный проект, задается схема гитарного усилителя, и она моделируется: https://nalexplugins.blogspot.com/

Список будет продолжаться, актуализироваться, исправляться…

★★★★★

Проверено: CrX ()
Последнее исправление: dataman (всего исправлений: 13)
Ответ на: комментарий от PcheloBiaka

Берешь и заказываешь по индивидуальным пожеланиям. Тебе намотают умелыми руками мудрецы в тайных мастерских. С новым семиструном так и пришлось делать - в нем дырки нестандартные.

ist76 ★★★★★
()
Ответ на: комментарий от ist76

Но ты же знаешь первое правило тайных мастерских по семиструнам? Никогда не рассказывай о них :))

Блин. Еду домой на адреналине. Такое делище сделал, ух. Тоже тайное :))

PcheloBiaka
()
Ответ на: комментарий от ist76

Магниты одинаковые

Мы тут немного собирали руками экспериментальные двигатели с неодимовыми магнитами, и… Все меньше поводов смеяться в цирке. И тем более, доверять таблице умножения.

James_Holden ★★★★★
() автор топика
Ответ на: комментарий от PcheloBiaka

А если ещё объяснить, что кабель делали не девственницы

James_Holden ★★★★★
() автор топика
Ответ на: комментарий от PcheloBiaka

Ну что. Срыв покровов никогда небыл так близко. Мы с ИИ почти причесали всё. Вопрос куда выложить программу, чтобы вы сами могли поэкспериментировать? Может и тему тут отдельную создать? а то простите, нафлудил тут.

Могу озвучить неожиданные выводы уже сейчас: Я заметил при каких параметрах в гриф передаётся больше энергии при первом «щипке» и это не цельная/привинченая гитара. Это толщина грифа. Именно она влияет на этот скачок вначале. Следовательно первый цикл колебания более спокойный чем на гитарах а ля страт. Но! очень много переменных, я далеко не всё учёл и далеко не все комбинации попробовал.

PcheloBiaka
()
Ответ на: комментарий от ist76

Индусы на коленке клепают тарнсформаторы. режут пластины, мотают на глаз катушки. Хехе :) Подозреваю, вдали от рекламных камер и звукосниматели также :))

PcheloBiaka
()
Ответ на: комментарий от PcheloBiaka

А. Ну как заплачено, так и зафигачено. Знакомый ремонтёр очень угорал по трансформаторам. Писал всякое. Заказывал. Чтобы сделали нормально, прилагал усилия.

ist76 ★★★★★
()
Ответ на: комментарий от PcheloBiaka

Это толщина грифа. Именно она влияет на этот скачок вначале.

Сделаешь толстый - играть неудобно будет. Лучше уж пусть звук будет неправильный.

ist76 ★★★★★
()
Ответ на: комментарий от ist76

Это не неправильный. Это то на что люди мало смотрят. Берёшь классический страт с грифом как телеграфный столб, там одно. Берёшь «нектру» с модным профилем и там гриф именно таким хлыстом работает. Вот.

PcheloBiaka
()
Ответ на: комментарий от PcheloBiaka

Это толщина грифа. Именно она влияет на этот скачок вначале. Следовательно первый цикл колебания более спокойный чем на гитарах а ля страт.

звучит логично, обычно в гитарах нектру как раз и образуется больше «мяса» (из-за места склейки), плюс часто гриф не целиковый, а из трёх кусков, причём центральный из более твёрдого дерева и проходит через гитару на всю длину (дека+гриф)

z0idator
()
Ответ на: комментарий от PcheloBiaka

На графике «Огибающая колебаний» по оси X точно секунды??

James_Holden ★★★★★
() автор топика
Ответ на: комментарий от James_Holden

Наличие анкера не измеримо и не контроллируемо. И это вообще ещё одна система внутри. Нас интересует влияние дерева. Дерево и проверяем. Предположим, что действие всех конструкций анкеров одинаково. Но я понимаю, что натяжение анкера и его конструкция - это очень большой и важный участник всей этой системы. Просто углубляться всё глубже не хватит никаких сил. Я просто не знаю параметров стандартных анкеров.

Я даже профиля грифа не учитываю. Но это не столь важно, мне была интересна причина и реальность возникновения компрессии. Я увидел её в толщине грифа, с профилем или без профиля он всё равно возникнет. И с профилем ещё более выраженным будет. А вот прикрученный гриф влияет максимум на тембр, если с одного дерева сделаны и корпус и гриф.

Про секунды да, недосмотрел. Но переделывать уже не буду.

PcheloBiaka
()
Последнее исправление: PcheloBiaka (всего исправлений: 1)
Ответ на: комментарий от PcheloBiaka

ещё одна система внутри

Да нету никакой системы внутри, дерева нет, анкера нет. Есть три пружины, одна на разжатие и две в ряд, внутри первой, на сжатие. Модуль упругости первой равен хз1 (примерно вычисляем), двух других - хз2 (вычисляем довольно точно). Вторая пружина раза в 4 длиннее третьей. Невесомый динамометр между второй и третьей показывает 20, или сколько там, килограммов.

Мы сообщаем дрыгательный импульс динамометру и с интересом смотрим на его показания.

thesis ★★★★★
()
Ответ на: комментарий от thesis

Анкер это три (или даже пять?) пружин внутри, и все они взаимодействуют с пружинами снаружи.

Но я всё ещё надеюсь, что ты выкатишь правильный вариант. Я буду только рад, потому что не с моим мозгом решать такие проблемы.

PcheloBiaka
()
Ответ на: комментарий от PcheloBiaka

Не выкачу и даже пробовать не буду. Какое-то мудило там ляпнуло на ютубе, а я щас буду тут ноуку разводить.

не с моим мозгом

Так и я не то чтоб Томас Юнг. Поэтому и предлагаю тупейшую предельно упрощенную модель, которой должно быть больмень достаточно для качественной оценки дрыганий. Без нелинейностей, кучи пружин, потерь и что там еще бывает.

thesis ★★★★★
()
Ответ на: комментарий от PcheloBiaka

Погоди с правильным

Я думаю, качественные выводы при помощи этой модели уже делать можно.

У меня была очевидная гипотеза, что дерево может влиять на сустейн и практически не может влиять на «первый пик». При помощи твоей модели я вижу пока только подтверждение этой гипотезы.

James_Holden ★★★★★
() автор топика
Ответ на: комментарий от James_Holden

Сделай очень просто - всё по дефолту, но гитаре А сделай высоту над порожком и над пяткой 18 и 22мм. Или 16 и 21, как на более модных. И переключись на вкладку энергии. Или на амплитуду струны посмотри. Увеличь начальные сэмплы

Ещё ошибка, должна была быть толщина грифа, не высота.

PcheloBiaka
()
Последнее исправление: PcheloBiaka (всего исправлений: 1)
Ответ на: комментарий от PcheloBiaka

Сделал. И какой должен быть вывод? Огибающие практически идентичны. Энергия в гриф - чуть больше 3%. О чем я тогда и писал, вроде. Что в гриф очень мало энергии идет.

James_Holden ★★★★★
() автор топика
Ответ на: комментарий от James_Holden

Не просто три, а в два раза больше, чем последущие. И амплитуда это показывает. Меньше в начале и выравнивается позже (ну и дальше просто гуляния по фазе из-за более гибкого как раз грифа). но главное - он съедает первый импульс уже тогда когда он приходит. С электричество и пороги звукоснимателей я уже не хочу лезть, мне и так понтно, что если теоретический предел где-то рядом, то вот мы и получаем срез на потолке.

PcheloBiaka
()
Ответ на: комментарий от James_Holden

Это не смешно, а именно то чего стоило бы ожидать. Но! Я прошу заметить, я считаю тупо по блоку без профиля. У реальной гитары, реального грифа гораздо сложнее взаимосвязи. Там будет и больше проседание именно начального импульса. И самое главное - то как вибрации преобразуются в звук/сигнал.

PcheloBiaka
()

Вот, кстати, чтобы не быть голословным:

https://drive.google.com/file/d/167OnqsLhXny5bqz3plfbl_NlQ54pw1Ps/view?usp=sh..., https://drive.google.com/file/d/1VO9MsbtnRZfybK_5pMPz6Np1DlT0sdJe/view?usp=sh..., https://drive.google.com/file/d/1iZcxsyDsdT5QGJyXJV6ItTiJ0yBagrWz/view?usp=sh...

Можно сразу закинуть в DAW и посмотреть. Гитара с сетом средневыхлопных датчиков. Не даймбакеры или какая-нибудь ещё дичь, отнюдь. Струны, кстати, убитые, с новыми будет ещё громче. От датчиков до струн ~5мм. NUX-MG30. Записываем в Рипере прямой сигнал и видим первый трек. Идём в меню процессора, понижаем уровень записи на 6dB, записываем, смотрим - второй трек. Для чистоты эксперимента - прибираем ручку громкости, это третий трек.

Никакой новости в этом нет.

ist76 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.