Jump to content

LV2

LV2
Разработчик(и) Стив Харрис, Дэвид Робиллард и другие участники linux-audio-dev
Стабильная версия
1.18.10 [1]  Отредактируйте это в Викиданных / 9 сентября 2022 г .; 22 месяца назад ( 9 сентября 2022 г. )
Репозиторий gitlab /уров2 /уров2
Написано в С и Черепаха
Лицензия Лицензия ISC
Веб-сайт lv2plug

LV2 ( LADSPA Version 2 ) — это набор не требующих лицензионных отчислений. открытых стандартов, [2] для создания музыки для плагинов и соответствующих хост-приложений. Он включает поддержку синтеза и обработки звука цифрового и CV . [3] такие события, как MIDI и OSC , и предоставляет бесплатную альтернативу стандартам аудиоподключаемых модулей , таким как Virtual Studio Technology (VST) и Audio Units (AU).

LV2 приходит на смену более ограниченному стандарту Simple Plugin API (LADSPA) Linux Audio Developer и заменяет инфраструктуру плагинов Disposable Soft Synth Interface (DSSI) («LADSPA для инструментов»), добавляя такие возможности, как MIDI-возможности, пользовательские пользовательские интерфейсы и систему, обеспечивающую расширяемость. исходного стандарта. [4] [5]

Список плагинов LV2 на хосте Carla

В формате LV2 теперь доступно более тысячи двенадцати плагинов. [6] Известные плагины включают Calf Studio Gear . [7] Программное обеспечение, которое может содержать «наборы» плагинов LV2, включает Ardor , Ingen , Carla (из KXStudio ), Qtractor , Traverso DAW , [8] Харрисон Микбус , [9] МУЗА , Смелость , [10] Ecasound , FFmpeg , Guitarix , фреймворк GStreamer и программное обеспечение для диджеинга Mixxx , с частичной поддержкой в ​​настоящее время в LMMS и REAPER . Это также формат плагинов, используемый MOD Duo и MOD Duo X. [11] Zynthian и Poly Effects Аппаратные средства Digit/Beebo.

Концепции

[ редактировать ]

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

Плагины LV2 на хосте Ingen
Модульный барабанный синтезатор LV2 в Карле

Характеристики LV2 определяются [12] и использовать [13] метаданных RDF в формате Turtle . Используемые технологии включают Dublin Core , FOAF , DOAP , SPDX , XSD , RDFS и OWL . [14] Реляционные возможности и свойства, поддерживаемые этим синтаксисом, мощны, но поначалу их сложно понять. [15]

Помимо базовой спецификации существует 21 официальное расширение, обеспечивающее поддержку параметров хоста, предустановок плагинов, времени и единиц измерения, буферов портов, свойств, групп и меток параметров для отправки MIDI, патчей, событий пользовательского интерфейса и многого другого. [16] Существуют различные сторонние расширения для поддержки экспрессивных событий , OSC и MOD Devices, специального аппаратного и программного обеспечения, три из которых находятся в пространстве имен KXStudio LV2 .

Плагин использует эту информацию для предоставления хосту списка возможностей, чтобы хост мог их реализовать. [17] Аналогично, хост может предоставить список возможностей расширения LV2, которые он поддерживает, при инициализации плагина.

В приведенном ниже примере сначала объявляются префиксы ярлыков для онтологий lv2, doap и spdx. Далее, каждый плагин должен иметь свой собственный URI или URN . Затем четыре следующих заявляют, что этот ресурс является lv2:Plugin, библиотекой двоичных объектных файлов с именем Silence.so, плагин известен под названием Silence и лицензируется под лицензией GNU GPL. Эти 4 свойства являются обязательными для плагина LV2; если у плагина нет всех из них, хост может не загрузить его.

@prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
@prefix doap: <http://usefulinc.com/ns/doap#>.
@prefix spdx: <http://spdx.org/rdf/terms#>.

<http://example.org/lv2/wikipediaexample/silence>
  a lv2:Plugin;
  lv2:binary <silence.so>;
  doap:name "Silence";
  doap:license spdx:GPL-3.0-or-later;
  rdfs:comment "This is an example plugin that includes an example plugin description."

  lv2:port [
    a lv2:AudioPort, lv2:OutputPort;
    lv2:index 0;
    lv2:symbol "output";
    lv2:name "Output";
  ].

«Atom» Структуры данных используются для обмена сообщениями между портами плагинов. [18] [19] для передачи MIDI, [20] ОСК, патч, [21] Пользовательский интерфейс и другие события между экземплярами плагина. Их также можно сериализовать на Turtle. [22] [23]

пользовательский интерфейс

[ редактировать ]
Интерфейс хоста для свойств плагина

Помимо отделения метаданных от двоичных файлов, LV2 требует общего разделения между DSP и обработкой пользовательского интерфейса. Преимущества заключаются в том, что обработка пользовательского интерфейса не может сдерживать обработку DSP, а пользовательский интерфейс и DSP можно разделить по сети. Обмен сообщениями с использованием Atoms является предпочтительным методом передачи обновлений между работающими двоичными файлами DSP и пользовательского интерфейса.

Хосты также могут предоставлять интерфейс для отображения и настройки свойств экземпляров плагинов. Существуют расширения и свойства, помогающие отображать правильные типы элементов управления.

Одной из возможностей, которую хост может предоставить плагину, является «рабочий поток». С точки зрения программирования это означает, что плагин может переложить часть работы в другой поток, предоставляемый хостом. Обычно это полезно, поскольку плагин обычно запускается в аудиопотоке приложения в реальном времени и, следовательно, не может выполнять какие-либо безопасные операции, не связанные с реальным временем (доступ к диску, системные вызовы и т. д.). Чтобы плагин мог легко достичь своих целей (например, загрузить файл с диска), хост может предоставить рабочий поток. Хост предоставляет LV2_Extension для рабочего потока. [24] и плагин сможет его использовать.

Разработка

[ редактировать ]

Существуют инструменты и платформы, которые помогут в создании плагинов LV2. К ним относятся DPF (DISTRHO Plugin Framework), JUCE , Faust , Dplug, iPlug 2 (альфа) и Cabbage (альфа). Существует также возможность загружать патчи Pure Data , а также JIT -запуск кода Faust, Rust, Lua или C в некоторых плагинах LV2.

См. также

[ редактировать ]
  1. ^ «LV2 1.18.10» .
  2. ^ «Уровень 2/Уровень 2» .
  3. ^ Резюме JACK/LV2 - LinuxМузыканты
  4. ^ Список функций LV2
  5. ^ drobilla.net: LV2: Хорошее, плохое и уродливое.
  6. ^ Список из более чем 1000 плагинов URIS [1] на сайте.
  7. ^ «Calf Studio Gear поддерживает LV2» .
  8. ^ «Руководство пользователя Traverso, стр. 26» (PDF) . Архивировано из оригинала (PDF) 23 апреля 2016 г. Проверено 21 февраля 2020 г.
  9. ^ Веб-сайт Харрисона
  10. Audacity. Архивировано 29 сентября 2008 г. в Wayback Machine.
  11. ^ «МОД-устройства» . moddevices.com . Проверено 16 апреля 2016 г.
  12. ^ «Lv2/Core/Lv2core.TTL · мастер · LV2 / Lv2» .
  13. ^ «Lv2/Core/Lv2.h · мастер · LV2 / Lv2» .
  14. ^ «Lv2/Schemas.lv2 на ведущем устройстве · lv2/Lv2» . Гитхаб .
  15. ^ drobilla.net: Написание книги LV2
  16. ^ «Характеристики LV2» .
  17. ^ Книга «Программирование плагинов LV2» с примерами плагинов.
  18. ^ Атомы LV2: модель данных для аудиоплагинов реального времени (PDF)
  19. ^ «Атом LV2» .
  20. ^ «LV2 МИДИ» .
  21. ^ «Патч LV2» .
  22. ^ drobilla.net : LV2 atom and state serialisation -
  23. ^ https://github.com/lv2/sratom — небольшая библиотека C для сериализации атомов LV2 в RDF и обратно, для преобразования между двоичными и текстовыми данными или сохранения в модели.
  24. ^ «Работник LV2» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e4fd4b5e63cbefc2273506bd6b6d3429__1696174920
URL1:https://arc.ask3.ru/arc/aa/e4/29/e4fd4b5e63cbefc2273506bd6b6d3429.html
Заголовок, (Title) документа по адресу, URL1:
LV2 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)