LINUX.ORG.RU

Выпущены аудиоэффекты LSP Plugins 1.1.24

 , , ,


2

1

Выпущена новая версия пакета эффектов LSP Plugins, предназначенных для обработки звука при сведении и мастеринге аудиозаписей.

Наиболее значимые изменения:

  • Добавлен плагин для компенсации громкости с использованием кривых одинаковой громкости - Loudness Compensator.
  • Добавлен плагин для защиты от резких всплесков сигнала при начале и окончании проигрывания - Surge Filter.
  • Значительные изменения в плагине Limiter: убраны несколько режимов и реализован режим автоматической регулировки уровня - Automatic Level Regulaion (ALR).
  • Реализован механизм дампа внутреннего состояния плагинов в JSON-файлы, может оказаться полезным при выявлении неясных ситуаций с плагинами. При этом, новые реализованные плагины и некоторые старые плагины уже поддерживают этот механизм.
  • Добавлена возможность загружать драмкиты Hydrogen в Multisampler-плагины.
  • Незначительные изменения и исправления в спектроанализаторе.
  • Некоторые исправления в низкоуровневом DSP-коде, которые могли приводить к неверным расчётам. Всем, кто пользуется плагинами динамической обработки, строго рекомендуется к обновлению.
  • Реализована двойная буферизация окон, теперь все мигания элементов управления окончательно устранены.

Короткая демонстрация разработанных плагинов: https://youtu.be/CuySiF1VSj8

Финансовая поддержка проекта:

>>> Подробности



Проверено: cetjs2 ()

И тебя прздравляю

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

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

За глаза хватит. Если можно уйти от внешнего Hydrogen, от которого только сэмплер и нужен, то будет круто.

Вопрос, ждать когда в репах появится, или компилить из аура? Гитовский мастер у тебя рабочий? Или «экспериментальный»? :) (ой, оказалось в ауре не тот lsp)

И по каше в менюхах - сейчас у меня установлен 1.1.22 из официальных реп Манжары (считай из арча). В меню «Мультимедиа» появилось подменю «LSP plugins», чему я несказанно рад, но часть осела в меню «Прочее» Это недоработка, или глюк КДЕ, или глюк сборщика?

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

В репах Arch скоро появится. Тут два мелких бага от мейнтейнера прилетело:

https://github.com/sadko4u/lsp-plugins/issues/128 https://github.com/sadko4u/lsp-plugins/issues/129

но часть осела в меню «Прочее»

А что конкретно осело? Попробуйте перелогиниться. Там всё это кэшируется как-то странно, меня иногда только рестарт иксов спасал.

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

Гитовский мастер у тебя рабочий? Или «экспериментальный»?

Мастер обычно указывает на последний релиз. Вся разработка ведётся в ветке devel и подветках, основанных на ней.

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

Я скомпилил из гита на пробу, не удаляя пакета из реп, всё равно у тебя по дефолту в /usr/local собирается. Попробовал, потом удалил скомпиленную версию и пакет из арча. Все пункты в меню пропали, как полагается. Установил пакет снова - все пункты меню вернулись, как я и описывал. Я ссылку давал https://i.imgur.com/yQpHmHI.png там видно какие попали не туда.

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

И это, не надо на «Вы», у меня не шизофрения :)

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

у тебя по дефолту в /usr/local собирается

Ну это можно исправить через make PREFIX=/usr

Установил пакет снова - все пункты меню вернулись, как я и описывал

Ага, значит многополосный гейт просочился. Поправим.

банк уничтожен приснопамятным котом… Ёрш твою в масло…

Печаль, что поделать.

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

там видно какие попали не туда

Не смог воспроизвести. Нужно проверить, может этот файл остался жить после сноса пакета:

/usr/share/desktop-directories/lsp-plugins.directory

Он может «перекрывать» файл, который был поставлен при сборке из git:

/usr/local/share/desktop-directories/lsp-plugins.directory

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

До исправления работы под HiDPI я все равно пользоваться не буду, а про это я багрепорт заводил :)

Постараюсь к концу года доделать :). Уж если переделывать архитектуру - то основательно.

Денег немного через либерапей накинул

Благодарю!

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

Там только предпрослушивание первых трёх секунд дорожки или выделения, кажется.

У меня Audacity UI что-то толком даже и не смогла показать. Видимо, поддержка плагинов и UI ещё так себе.

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

Так. поудалял всё нафиг. Пересобрал гитовскую версию по дефолту, опять в /usr/local (на всякие). Меню сразу не обновилось, но после перезагрузки «Мультимедия» появилось подменю «LSP Plugins», а в «Прочее» ничего не появилось. Будем считать, что проблема была в прошлой версии, или в пакете для арча.

ChekPuk ★★ ()

Наконец-то я сел за студию мою. Первые впечатления от мультисэмплера (ну и вообще по плагинам) (и, да, может я повторю предыдущие обсуждения):

  • Нужна инструкция, прямо в плагине - ссылка на оф. сайт с документацией, или, если документация была упакована вместе с плагинами (а при компиляции я видел сборку документации), на локальную версию. Сейчас в плагинах не вижу инфы ни об авторе, ни о проекте, ни о плагине. А там есть о чём рассказать, про каждый плагин.
  • Октавы. Это проблема. Твоя нумерация не совпадает с «общепринятой». Твоя C2 соответствует C3 и в Ардоре и в Тракторе и в Карле.
  • Мидиканалы. Что-то не понял. Я в Кутракторе настроил дорожку ударных на 10 канал. Мультисэмплер запустил в Carla внутри Qtractor, чтобы потом эффекты каждого инструмента обрабатывать отдельно. Настроил каждый инструмент в мультисэмплере на 10 канал, жмакаю в клаву, тишина. Залез в настройки эффекта в Карле и настроил там 10 канал. Тишина. Сбросил в мультисэмплере инструменты на первую дорожку и звук заработал. Хотелось бы прояснить, что и как подразумевается делать когда плагин хостится внутри доп. хоста?
  • Как перекидывать проект на другой комп? Я собираю сэмплы в соотв. директории моих банков. Твой плагин, работает с абсолютными путями. Такой подход понятен, но непортабелен между компами. А вот если бы он сохранял (при экспорте настроек) не абсолютный путь, а относительно хомяка пользователя? Или сохранял бы настраиваемую корневую директорию набора сэмплов, а сами сэмплы относительно неё, чтобы я импортировал cfg файл, указал где на моём компе лежат эти сэмплы и он автоматом подхватил названия файлов. Вот. Тебе мысть. Или вапче, возможность экспортировать конфиг с сэмплами, которые распаковываются в выбранную директорию.

    Прямо сегодня я мог бы скинуть свой пресет и набор из Salamander drumkit и начать обсуждение, но пока бессмысленно, потому что

  • Непонял с «Dry» и «Wet». В описании упоминается аудиосигнал поданный на вход, который может быть обработан... Э? Не понял. Можешь раскрыть?

Хотелки по дизайну удобству

  • Хотелось бы иметь возможность переименовывать и копировать инструменты. Например, я настроил сольник под одну руку (чувствительность и всякое такое), теперь хочу такое же, но для второй руки, можно было бы скопировать и поменять сэмплы и ноту, оставив чувствительность, громкость, пано.
  • Список сэмплов - их у тебя восемь, во всех мультисэмплерах. Вместо выпадающего списка можно было бы сделать заголовок «Сэмпл» и вкладки 0,1,2,3,4,5,6.7. Так было бы нагляднее. С инструментами, конечно, так не сделаешь, а жаль.
  • «Velocity» ты перевёл как «Быстрота», а по смыслу «Сила» больше подходит.

Это так, снаскоку. Извини, если сумбурно и не по адресу.

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

Нужна инструкция, прямо в плагине - ссылка на оф. сайт с документацией, или, если документация была упакована вместе с плагинами (а при компиляции я видел сборку документации), на локальную версию. Сейчас в плагинах не вижу инфы ни об авторе, ни о проекте, ни о плагине. А там есть о чём рассказать, про каждый плагин.

А куда это пихать - есть предложения? В главное меню?

Октавы. Это проблема. Твоя нумерация не совпадает с «общепринятой». Твоя C2 соответствует C3 и в Ардоре и в Тракторе и в Карле.

Сделать +1 ?

Мидиканалы. Что-то не понял. Я в Кутракторе настроил дорожку ударных на 10 канал. Мультисэмплер запустил в Carla внутри Qtractor, чтобы потом эффекты каждого инструмента обрабатывать отдельно. Настроил каждый инструмент в мультисэмплере на 10 канал, жмакаю в клаву, тишина. Залез в настройки эффекта в Карле и настроил там 10 канал. Тишина. Сбросил в мультисэмплере инструменты на первую дорожку и звук заработал. Хотелось бы прояснить, что и как подразумевается делать когда плагин хостится внутри доп. хоста?

Не могу точно сказать, что с каналами не так. По идее, должен реагировать на Note On по соответствующему каналу. На практике - нужно воспроизводить ситуацию. Ну или собираться в трассировочном режиме и смотреть в логи или консоль, что там прилетает в плагин.

Как перекидывать проект на другой комп? Я собираю сэмплы в соотв. директории моих банков. Твой плагин, работает с абсолютными путями. Такой подход понятен, но непортабелен между компами. А вот если бы он сохранял (при экспорте настроек) не абсолютный путь, а относительно хомяка пользователя? Или сохранял бы настраиваемую корневую директорию набора сэмплов, а сами сэмплы относительно неё, чтобы я импортировал cfg файл, указал где на моём компе лежат эти сэмплы и он автоматом подхватил названия файлов. Вот. Тебе мысть. Или вапче, возможность экспортировать конфиг с сэмплами, которые распаковываются в выбранную директорию.

Здесь нужно понять чёткий user case. Предугадать, где пользователь хранит свои семплы - это так… Ну, детектить хомяк можно, а вот если где-то ещё кроме хомяка хранит - то дело труба. Как это сделать удобно для пользователя - нужно подумать.

Ну на крайний случай сейчас можно файл быстренько sed’ом подлечить, благо он в текстовом формате. Паковать всё это в одну какую-то большую сущность ИМХО не вариант. Конфиг он на то и конфиг.

Непонял с «Dry» и «Wet». В описании упоминается аудиосигнал поданный на вход, который может быть обработан… Э? Не понял. Можешь раскрыть?

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

Хотелось бы иметь возможность переименовывать и копировать инструменты. Например, я настроил сольник под одну руку (чувствительность и всякое такое), теперь хочу такое же, но для второй руки, можно было бы скопировать и поменять сэмплы и ноту, оставив чувствительность, громкость, пано.

Можно сделать что-то вроде кнопок Copy/Paste.

Список сэмплов - их у тебя восемь, во всех мультисэмплерах. Вместо выпадающего списка можно было бы сделать заголовок «Сэмпл» и вкладки 0,1,2,3,4,5,6.7. Так было бы нагляднее. С инструментами, конечно, так не сделаешь, а жаль.

С вкладками сейчас проблема: банально нет такого виджета (таб-контрол). Может, к 1.2.0 появится.

«Velocity» ты перевёл как «Быстрота», а по смыслу «Сила» больше подходит.

Да, перевод иногда может быть корявым.

Вообще, все замечания лучше бы на GitHub оформить, а то я точно что-то потеряю или забуду.

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

Ох... Писал-писал ответ, да так и заснул. И стёрлось всё после перезагрузки :( Начну снова.

А куда это пихать - есть предложения? В главное меню?

Да, самое место для таких вещей. «Импорт», «Экспорт» и «О плагине», а там ссылка на проект и на инструкцию. Мне кажется логичным.

Сделать +1 ?

Сделай, пожалуйста. Я не знаю с чего такое обозначение октав, может оно и правильнее у тебя, но как-то так устоялось в midi, C2 это 36 нота.

По идее, должен реагировать на Note On по соответствующему каналу.

Попробовал сегодня ещё. Похоже на проблемы Carla. Там если попереключать каналы, какое-то непонятное начинает происходить. Есть ситуации, когда плагин перестаёт получать события на десятом канале. Пока так и не понял как это у меня получается. Если ставить мультисэмплер прямо на дорожку Кутрактора, воспроизвести не получается, работает как часы. А в Карле тыкнул там, тыкнул сям, перестаёт звучать. Запускаю всё по новой, делаю всё то же самое, опять играет. Когда возникает ошибка - не понимаю.

Здесь нужно понять чёткий user case. Предугадать, где пользователь хранит свои семплы...

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

Ладно. Посижу почитаю сорцы. Что-то по разному ты писал плагины, у мультисэмплеров есть ui.cpp и ui.xml, а у простого сэмплера вижу только ui.xml. Почитаю, пошарабаню и приду на гитхаб, буду тебя по аглицки мучить.

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

Да, самое место для таких вещей. «Импорт», «Экспорт» и «О плагине», а там ссылка на проект и на инструкцию. Мне кажется логичным.

Добавил два пункта в меню - справка по плагину и справка по элементам управления.

Сделай, пожалуйста. Я не знаю с чего такое обозначение октав, может оно и правильнее у тебя, но как-то так устоялось в midi, C2 это 36 нота.

Тоже поправил.

Запушил всё в ветку ui-tuning, можно собраться из неё и поглядеть. Если доки локально не находит, то отправляет на сайт.

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

Что-то по разному ты писал плагины, у мультисэмплеров есть ui.cpp и ui.xml, а у простого сэмплера вижу только ui.xml.

Потому что для обычного семплера нет никаких кастомизированных фич по UI, поэтому используется стандартный plugin_ui класс. Остальные кастомные наследуются от него.

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

Скомпилил ui-tuning, всё работает. Отлично. Только странность - у меня запущено два браузера (в КДЕ дефолтом настроен Файрфокс). Ссылку по плагину открыло в Фалконе, а ссылку по интерфейсу в Файрфоксе. Это глюки КДЕ?

Слушай, а ты прямо сэмплер из Hydrogen себе встроил?

Хотел спросить про перекрытия сэмплов, как оно у тебя работает? Берём два сэмпла, один играется при нажатии с велоситей в 100, другой, допустим, с 70. Жёстко переключается с сэмпла на сэмпл. А есть возможность перекрытия диапазонов? Чтобы не отрезало на границе, а мягко микшировало два сэмпла на пограничной территории? В Hydrogen есть возможность перекрывать границы, но проигрывается только один из сэмплов, а хочется мягкости. Тогда всего двумя сэмплами и игрой с нарастанием можно получить хорошее разнообразие динамик.

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

По поводу браузеров - скорее всего, глюки конфигурации. Ссылка на локальный файл уходит с file:// префиксом, а на интернет ресурс - с http://. Может, xdg-open на этом и раскорячивает.

Нет, никакого семплера гидрогена не использовал. Хвосты обрезаются в одном из режимов. Вероятнее всего, тут виноват note-off приходящий. Его отключить в настройках инструмента - и семплы должны перестать резаться, оставаться с хвостами будут.

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

Ты меня не понял. Я не про повторные нажатия, а про слои силу нажатия и смешивание. Я хочу размыть границу между слоями. Повторю ситуацию:

Имеем два сэмпла одного инструмента. Один проигрывается при нажатии с велоситей 100, другой с 70. Если я нажму клавишу с силой 71 - играется первый. Если с 70, играется второй. Граница между сэмплами. Играется или один, или второй. Получается примерно так:

100   70 
|_____|
сэмпл1|______
      |сэмпл2|
А я хочу примерно так:
100   70
|_____|
сэмпл1\______
      /сэмпл2|
Чтобы при нажатии с силой 70 воспроизводились оба слоя, плавно перетекая друг в друга. Регулируемый переход смешивания, например с 75 до 65.

Понимаю, нагрузка возрастёт многократно. Но позволит использовать меньшее количество сэмплов, что компенсирует сложность. Вместо 8 слоёв достаточно будет 2-4 слоёв. Сейчас я напихиваю в слои практически идентичные звучания барабанов, нужды в 8 слоях как-бы, нету. Хотя и добавляет живости. Но использовав всего три слоя и их смешивание получилось бы то же самое, но банки компактнее.

И ещё. Если в слоях использовать один и тот же сэмпл, но с разной атакой и др. параметрами, в памяти такой плагин будет занимать меньше места? Или столько же?

Прости, что со всякими дикостями лезу :)

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

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

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

Не, сейчас один семпл = один кусок памяти, в котором он и хранится, и редактируется. Но зато воспроизведение получается достаточно тривиальным - просто умножай и складывай куски памяти (если не надо делать fade-out). Благодаря этому и микширование нескольких лееров не так много проблем должно вызвать (доработка) - просто триггернуть воспроизведение двух семплов с заданными громкостями.

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

Ого... это же сколько же памятищщи... А в проигрывателях всяких sf2тоже так делается? Там же один сэмпл может в нескольких инструментах проигрываться.

А вообще - крутится куча сумашедших мыслей. Например, привязать один из параметров сэмпла к силе нажатия. «Нарастание» привязать. Чем сильнее нажатие, тем быстрее раскрывается звук. Или громкость, чем слабее тем тише. Для ударных это в связке со смешиванием дало бы офигенскую динамику. А сверху уберэффект, который я пытаюсь наковырять, это бы было бы прям страшно.

Я, конечно, нового тут ничего не придумал, в стандарте sf2 такое предусмотрено, вроде. Даже в Polyphone можно увидеть в банках прицепленные модуляции. Но там это делать неудобно, всё слишком универсально.

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

Ого… это же сколько же памятищщи…

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

Но там это делать неудобно, всё слишком универсально.

Ну, сделать определённые фичи в семплере, разумеется, можно.

sadko4u ()

Я, как всегда, протормозил и не углу́бился ни в твой проект, ни в реверы на фаусте, но лениво копаясь во всяком разном обнаружил следующее: https://vfxplatform.com/

The VFX Reference Platform is a set of tool and library versions to be used as a common target platform for building software for the VFX industry. Its purpose is to minimise incompatibilities between different software packages, ease the support burden for Linux-based pipelines and encourage further adoption of Linux by software vendors. The Reference Platform is updated annually by a group of software vendors in collaboration with the Visual Effects Society Technology Committee.

sadko4u, curufinwe Вот стандартизация в VFX индустрии. Почему же в аудио индустрии никто стандарта не установит, чтобы не мучиться?

Ну, это так, вдогонку, о вечных спорах :)

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

Чего-то этот стандарт дохрена за собой тянет жирных библиотек. Учитывая то, что аудиоплагины старются быть минималистичными (забудем про JUCE), это скорее минус, чем плюс.

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

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

Так бы и с муз-обозом бы. Собрались бы все писатели DAWов, ЯПов и плагинов на своём LACе и договорились бы. А то FalkTX своё, ты своё и т.д. А потом все удивляются, почему проф. DAWы на лтнуксе не поддерживают lv2? Да потому что страшно браться :))

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

Что-то я не понял, что это за стандарт и для кого. И главное зачем в таком виде. Я могу понять когда в качестве стандарта предлагают, скажем, графический тулкит. Какой-то один. А это чего такое?

но тогда поддержка нестандарта будет исключительно на плечах разработчика.

А если сделать по этому стандарту, то тогда за меня будут код писать? :)))

А потом все удивляются, почему проф. DAWы на лтнуксе не поддерживают lv2? Да потому что страшно браться :))

Наоборот же хорошо - LV2 со стороны DAW довольно минималистичный. Это же на плагин ложится реализация GUI, наоборот.

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

curufinwe ★★★★★ ()