что такое aax плагины
Форматы звуковых плагинов (plug-in)
В последнее время чрезвычайно популярными стали аудиоэффекты и виртуальные инструменты, реализованные программным путём и работающие в режиме реального времени. Они могут представлять собой как самостоятельные приложения, так и плагины (plug-in), предназначенные для использования из других приложений — приложений-хостов.
Что такое плагин (plug-in)
В компьютерных студиях эффекты и обработки создаются программным способом. Реализация эффектов и управление ими осуществляется с помощью звуковых редакторов. И одним из наиболее популярных видов являются плагины, которые можно подключить к любому DAW (секвенсору).
Плагины (от англ. plug—in) — подключаемый к программе модуль, благодаря работе которого эта программа (приложение-хост) получает новые возможности. В настоящее время наиболее популярными форматами звуковых плагин на платформе PC можно считать VST и DX; на платформе MAC — GRM, VST.
Существующие форматы звуковых плагинов (plug—in):
DirectX (DX)
Технология DirectX была разработана компанией Microsoft для платформы ПС. Программные модули, поддерживающие DirectX, могут работать в режиме реального времени и используют мощности центрального процессора компьютера.
Среди известных производителей, которые пишут программные модули для DirectX, можно назвать Antares Audio Technologies, Arboretum Systems (Restoration NR – восстановление старых записей), Dsound, Sonic Timeworks (различные аудиоэффекты), Native Instruments, Power Technology (DSP-FX – пакет из двенадцати высококачественных эффектов), Spectral Design (эквалайзеры, фильтры, мастеринг ), TC Works, Waves.
VST
Технология VST (Virtual Studio Technology) была разработана компанией Steinberg для программ и программных модулей, работающих в режиме реального времени и использующих мощность центрального процессора. Платформа – Mфс или РС, операционные системы — Mac OS, различные версии Windows. Основная программа должна поддерживать технологию VST или иметь патч, позволяющий подключать модули VST.
GRM
Плагины в формате GRM используются многими дизайнерами звука во всём мире для создания звукового оформления фильмов. («Матрица. Революция», «Матрица. Перезагрузка») для лёгкого, натурального звучания самых нереальных тембров.
Premiere
Формат Premiere был разработан компанией Adobe довольно давно для видеомонтажа. Платформа — Macintosh и PC, основные программы, понимающие этот формат, в основном под MacOS – BIAS Peak, BIAS DeckII, Emagic Logic Audio, Opcode Studio Vision Pro. Среди известных разработок можно назвать пакет программных модулей Hyperprism, созданный компанией Arboretum Systems.
TDM
Формат TDM (Time Division Multiplex) был создан компанией Digidesign для программы Pro Tools, работающей с оборудованием Digidesign. Программные модули используют внешние процессоры, поэтому количество модулей, которые можно использовать одновременно, зависит от числа установленных плат. Платформа – МacOS или РС. Основной программой может быть любая из тех, что работают с Pro Tools и поддерживают TDM, например — Digital Performer или Logic Audio.
Из известных производителей, выпускающих программные модули для формата TDM, можно назвать Antares Audio Technologies, Bomb Factory, Arboretum Systems (пакет Hyperprism – около сорока различных эффектов), DUY (DSPider – набор модулей для создания различных эффектов, пакет эффектов Global TDM Bundle), Kind Of Loud (ревербераторы и другие эффекты), TC Works, Wave Mechanics (питч-шифтеры, фильтры и др.), Waves.
HTDM
Формат HTDM (Host TDM) для вычислений использует центральный процессор компьютера (в отличие от TDM). Поэтому можно одновременно использовать столько программных модулей данного формата, сколько позволяет его мощность. Формат доступен только для компьютеров Мacintosh. Большая коллекция различных модулей HTDM была создана компанией Native Instruments.
AS
RTAS
Формат RTAS (Real Time AudioSuite) – более поздняя версия формата AS и позволяет разрабатывать программные модули, работающие в режиме реального времени. Для работы используется центральный процессор компьютера. Платформа – Mac или РС. Основная программа – ProTools LE. Производители: Arboretum Systems, Bomb Factory, Antares Audio Technologies, DUY, Kind Of Loud, Prosoniq (Orange Vocoder), Waves.
MAS
Создание аудиоплагинов, часть 1
Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Введение
Аудиоплагины — это программы, которые загружаются в хост (например Ableton Live, Logic или REAPER). Они обрабатывают аудио и\или MIDI данные. У них, как правило, есть GUI (графический пользовательский интерфейс). Вот три примера (U-He Zebra, Sonalksis FreeG и D16 Decimort):
Как видите, в GUI присутствуют элементы управления (чаще всего это какие-нибудь ручки), меняющие то, как плагин обрабатывает входящие данные. Еще есть набор пресетов (предустановок — на скриншотах они называются Combo и Emulator), в которых хранятся положения ручек и других параметров.
Начнем мы с дисторшена — это достаточно простой плагин. После этого мы сделаем вот такой субстрактивный синтезатор, шаг за шагом:
Будем использовать С++ и библиотеку WDL-OL. Она основана на библиотеке Cockos WDL (произносится как «уитл»). Она делает за нас кучу работы, вот самые важные моменты:
Также в этой библиотеке есть некоторые часто используемые алгоритмы, например, передискретизация. Вот в этой ветке форума есть много скринов плагинов, написанных при помощи WDL.
Разные форматы плагинов делают более-менее одно и то же. Следовательно, в коде обычно бывает много копипасты. Как программист, вы должны стараться не повторяться, так что рано или поздно вы бы написали свой собственный слой абстракции над разными форматами. Но это уже существует в виде фрэймворка IPlug, являющегося частью WDL. Это самая раздражающая часть процесса разработки, так что теперь мы сможем сфокусироваться на таких интересных штуках, как:
Еще одна замечательная вещь в WDL это разрешительная лицензия. Библиотеку можно свободно использовать даже в коммерческих продуктах (см. детальную информацию по ссылкам выше).
Как мы это сделаем
«Погоня лучше, чем добыча» — Эйч Пи Бакстер
В программировании результат сам по себе — это уже вознаграждение, но именно по пути к результату мы учимся. В этом руководстве не будет длинных листингов с идеальными решениями. Мы начнем с того, что работает, и будем постепенно развивать это, встречаясь с разными проблемами. Минус в том, что вы будете писать код, который впоследствии замените на лучший. Но программистам к этому не привыкать. Первый плюс: не будет переполняющей радости, т. к. мы будем подходить к решению постепенно вместо того, чтобы сделать все одним махом. Второй — это то, что мы получим некоторые ценные знания в программировании.
Эта серия постов — не о решении задач по матану без калькулятора на бумажке. Она о том, как создавать хорошее программное обеспечение, которое вы можете дать своему другу-продюсеру, чтобы он сделал бас пожирнее.
Что нам понадобится
Полезные ресурсы
Пара ссылок, которые нам могут пригодиться:
Теперь пора все настроить и подготовить.
Установка и настройка WDL-OL
Сейчас мы установим библиотеку WDL-OL и ее зависимости. Затем запустим пример, просто чтобы убедиться, что все работает как надо.
Большая часть этого материала есть в видео Оли Ларкина:
Материал следующей секции в основном для настройки на Mac. Windows будет немного ниже.
Настройка на Mac OS X с использованием Xcode 4
Перед тем, как мы начнем, надо скачать и установить парочку новых вещей. Это немного муторно, но придется сделать только один раз.
Загрузка WDL-OL
Откройте Terminal и напечатайте следующие строки, чтобы создать новую папку в вашей домашней директории и переместиться туда:
Давайте загрузим WDL-OL:
Эти строчки можно скопировать и вставить. Главное — не забудьте точку в конце! Тогда вы наверняка будете использовать ту же версию WDL-OL, что и в этом руководстве. На данный момент должна появиться подпапка wdl-ol.
Добавление зависимостей
Обратите внимание, что папку public.sdk надо будет создать вручную. Так в итоге должно выглядеть ваше дерево папок:
Теперь откройте common.xcconfig (он должен открыться в Xcode) и внесите следующие изменения:
CERTIFICATE_ID = Your Name
// Comment this line out:
// COMPILER = com.apple.compilers.gcc.4_2
// Uncomment this line:
COMPILER = com.apple.compilers.llvm.clang.1_0
// Add these lines:
VST_FOLDER =
/Library/Audio/Plug-Ins/Components
// Comment these out:
//VST_FOLDER = /Library/Audio/Plug-Ins/VST
//VST3_FOLDER = /Library/Audio/Plug-Ins/VST3
//AU_FOLDER = /Library/Audio/Plug-Ins/Components
Установка SDK 10.5
Чтобы его установить, нужно скачать Xcode 3.2.6. Когда вы его скачаете, смонтируйте .dmg файл, откройте Terminal.app и введите
open /Volumes/Xcode\ and\ iOS\ SDK/Packages/
Откроется окно поисковика и там будет файл с именем MacOSX10.5.pkg. Щелкнике по нему два раза. Если у вас версия OS X 10.8 или выше, появится сообщение, что программа от неизвестного разработчика не может быть установлена. В этом случае правый клик по файлу, в меню надо нажать Open и подтвердить, что вы действительно хотите установить софт. При установке выберите change install location, кликните по диску, на который хотите установить, чтобы можно было выбрать на нем директорию. Установите, например, в папку Downloads в папке пользователя. После завершения установки в выбранном месте появится новая папка MacOSX10.5.sdk. Напечатайте в Terminal.app следующее:
Снова появится окно поисковика. Перетащите в него папку MacOSX10.5.sdk. После перезапуска Xcode старый SDK должен быть доступен в Xcode 4. Убедитесь, что вы сделали резервную копию MacOSX10.5.sdk где-нибудь: если вы будете обновлять Xcode до более поздней версии, вам, возможно, придется повторить эти действия.
Запуск тестового проекта
В Терминале перейдите в папку с примерами:
Запустите скрипт dublicate чтобы создать свой первый плагин (замените YourName что-нибудь свое):
./duplicate.py IPlugEffect/ MyFirstPlugin YourName
Теперь там появилась новая папка MyFirstPlugin. Зайдите в нее и откройте MyFirstPlugin.xcodeproj. Выберите таргет APP:
В WDL-OL есть маленький баг: самостоятельное приложение не будет выводить звук, если не выбрать другой аудиовход. Но это легко исправить. В навигаторе проектов Xcode откройте Other Sources → OSX App Wrapper → app_main.h. Измените содержание 34-й строки (в которой #define DEFAULT_INPUT_DEV ) на следующее:
#define DEFAULT_INPUT_DEV «Built-in Microphone»
Кликните Run. Выскочат несколько ошибок линкера:
Их легко исправить. Вернитесь в настройки сборки вашего проекта (убедитесь, что вы выбрали именно ваш проект, а не какой-то другой target) и поменяйте значение параметра Implicitly Link Objective-C Runtime Support на No:
Снова кликните Run. Через пару секунд плагин появится в виде самостоятельного приложения:
Проверка версии AudioUnit при помощи Logic
Если у вас нет Logic, можно использовать бесплатный инструмент auval для проверки. Убедитесь, что сборка AU Target прошла успешно, откройте Terminal и введите:
Он должен выдать что-то типа этого:
Если Logic или auval не находят AU (а другие хосты типа REAPER его видят), зайдите в настройки сборки и убедитесь, что вверху слева выделен таргет AU. В поиске вбейте “active arch”. В результатах должна быть только одна строка параметра Build Active Architecture Only, значение которого . Измените его на No. Таким образом 32-х и 64-х битные версии будут компилироваться даже в режиме Debug. После этого зайдите в Product → Clean (Cmd+Shift+K) и запустите сборку снова. Теперь должно заработать.
Установка на Windows с использованием Visual C++ 2010 Express
Для начала установите Visual C++ 2010 Express.VS 2012 вроде тоже подойдет, но лично я не проверял.
Пост с описанием других возможных проблем и их решений находится здесь.
Затем установите Git для Windows, используя настройки по умолчанию. Я использовал версию 1.8.4. Запустите Start → Program Files → Git → Git Bash. Откроется окно терминала. В этом окне введите несколько команд:
Чтобы вставить строки в окно, сделайте правый клик по его заголовку и выберите Edit → Paste:
Теперь скопируйте все файлы VST2/VST3/ASIO SDK в нужные папки, так же, как описано выше. Установите Python, используя настройки по умолчанию. Я использовал 2.7.5.
Чтобы создавать плагины формата VST3, надо создать папку VST3. Выполните в терминале эту команду:
Теперь перейдите в терминале в подпапку IPlugExamples:
Запустите скрипт duplicate при помощи Python:
c:\Python27\python.exe duplicate.py IPlugEffect MyFirstPlugin YourName
Появится новая папка MyFirstPlugin. Зайдите в нее и откройте MyFirstPlugin.sln. Не обращайте внимания на предупреждения, они говорят о том, что мы не сможем собрать форматы AAX и TDM. В окне project explorer слева убедитесь, что MyFirstPlugin-app выделено жирным:
Если это не так, кликните по нему и выберите Set as StartUp Project. Жмите F5, должно появиться такое окно:
Возможные проблемы
Если вы видите ошибку fatal error LNK1123 в процессе сборки, вам нужно отключить incremental linking: правым кликом по проекту MyFirstPlugin-app, кликайте по Properties и заходите в Configuration Properties → Linker (General) → Enable Incremental Linking → “No (/INCREMENTAL:NO)”.
Если проблема не решается, попробуйте установить Visual Studio 2010 SP1, если еще не устанавливали. Так же может пригодиться обновление компилятора для создания 64-х битных версий плагинов.
Плагины, какие они бывают.
Мы привыкли к слову «плагин», но что же это такое и понимаем ли мы смысл? Давайте разбираться, что это и какие они бывают.
Что такое плагин?
Плагин (англ. plug-in, от plug in «подключать») — независимо компилируемый программный модуль, динамически подключаемый к основной программе и предназначенный для расширения и/или использования её возможностей. Плагины обычно выполняются в виде библиотек общего пользования.
Суть в том, что плагины расширяют или делают более удобным базовый функционал. Существуют плагины для движков сайтов, для программ, для игр. Но нас сейчас интересуют плагины, которые наиболее часто используют для видеомонтажа.
Какие виды плагинов бывают?
Существует много плагинов, но что касается плагинов для видеомонтажа, то в основном это: OFX, VFX, AVX, AE, VST. Бывают и другие, но встречаются крайне редко. Рассмотрим их более подробно:
Плагины звуковые
Особнячком стоят плагины для работы со звуком. Самый основной, с которым вам придется сталкиваться, это VST. Вообще со звуком работает множество плагинов, такие как VST/AU/AAX/RTAS/DXi, но с ними сталкиваются в основном «звукари», поэтому о них говорить не будем.
Плагин, с которым вы будите сталкиваться, это VST.
VST (англ. Virtual Studio Technology — технология виртуальной студии) — самый популярный формат плагинов, работающий в Windows, macOS и Linux. Формат изначально создавался для переноса аналоговых аудиоэффектов (компрессоров, эквалайзеров, ревербераторов) в цифровую среду. Сегодня под термином «VST — плагин» понимаются любые виртуальные инструменты и эффекты.
VST — плагины напрямую зависят от ресурсов компьютера. Плагины функционируют в режиме реального времени, производя обработку звука за счет ресурсов компьютера (в основном, процессора).
История
В 1996 году Steinberg представила формат VST. Это событие навсегда изменило музыкальную индустрию и методики создания музыки на PC. Теперь любой человек мог создать собственную аудио студию дома. Технология VST перенесла студийные аналоговые эффекты в цифровую среду — компьютер смог заменить огромный парк профессионального оборудования.
В 1999 году Steinberg произвела вторую революцию в музыкальном мире, опубликовав формат VST2. Новая версия позволила перенести в цифровую среду не только эффекты, но и музыкальные инструменты. Благодаря этому пользователи смогли использовать виртуальные версии реальных гитар, синтезаторов и барабанов как отдельные программы. Теперь компьютер мог заменить не только профессиональное оборудование, но и живых музыкантов.
Популярность VST привела к появлению ряда конкурирующих форматов. Так, Apple адаптировала VST под macOS, создав новый формат AU. Видя это, в дело включилась Digidesign, разрабатывавшая Pro Tools, — так появился конкурирующий формат RTAS. Билл Гейтс и Microsoft также не стали отставать и выпустили собственный формат DX, основанный на популярной технологии DirectX.
В конце 1990-х музыканты разделяли форматы, но сегодня термин «VST-плагины» стал именем нарицательным — этим термином в разговорной речи обозначают любые виртуальные инструменты и эффекты, вне зависимости от их настоящего формата. Проблема в том, что такое обобщение вызывает множество вопросов у начинающих.
Установка
Обычно плагины устанавливаются, как и обычная программа. Во время установки плагин сам определяет установленную у вас на компьютере программу и встраивается в неё. Или в процессе установки нужно будет отметить галочками программы, в которых плагин должен появиться.
Если написано, что плагин для какой-то определенной программы, то проблем нет. Просто устанавливаете его и он появится в программе. Однако бывает, что нужно плагин для старой версии, установить на новую версию программы, тогда нужно чуть доработать руками. Один из примеров показан тут, где показана установка плагина для Edius 7 на Edius 8 версии — Neat Video на Edius 8
Для примера, вот как ставиться Magic Bullet Suite в программу Edius — Magic Bullet Suite в Edius
О том, как устанавливать VST плагины, у нас есть отдельный материал — Установка VST плагинов. (Показана установка в программы Edius, Audition, Premiere.)
Выводы
OFX — для программ: Vegas, Lightworks, DaVinci и другие …
AE — для продуктов компании Adobe. Обычно это After Effects и Premiere Pro.
AVX — это плагины для продуктов Avid.
VST — плагины для работы со звуком, их могут использовать практически все программы для обработки звука и видео.
Теперь вы знаете, что все на самом деле просто и если откинуть все нюансы, то сокращение в названии плагина говорит вам с какой программой его можно использовать.
Плагины и форматы плагинов
Введение
Плагин (от англ. plug-in) — независимо компилируемый программный модуль, динамически подключаемый к основной программе, предназначенный для расширения и/или использования её возможностей. Также может переводиться как «модуль». Плагины обычно выполняются в виде разделяемых библиотек.
В программах обработки звука плагины выполняют обработку и создание звуковых эффектов, например, мастеринг, применение эквалайзера и сжатие динамического диапазона. Некоторые плагины изменяют технические характеристики звука: глубину, частоту дискретизации и прочее.
Форматы плагинов
Плагины Direct X это плагины реального времени (т.е. они могут обрабатывать или изменять звук без создания нового файла). Приложения Direct X относятся к категории ресурсозависимых (native), т.е. используют для работы ресурсы центрального процессора компьютера. Эта технология стала наиболее популярной с ростом мощности процессоров. Формат Direct X был разработан Microsoft для операционной системы Windows. Он позволил запускать игры и медиа-приложения, не используя DOS. Одной из причин создания формата были трудности, которые испытывали разработчики аппаратных видео-акселераторов. Microsoft воспользовались возможностью унифицировать игровой рынок, и в результате появился Direct X. Direct X использует программные интерфейсы приложений (API) низшего уровня, для работы медиа-приложений с высокой производительностью, в частности, аудио-плагинов. Формат включает поддержку звука, музыки, графики и сетевых программ. Он доступен в системах Windows 95, 98, 2000, XP. Для работы с плагинами, нужны хост-программы, поддерживающие Direct X.
Аббревиатура HTDM означает «Host TDM» и относится к плагинам, которые осуществляют всю аудио-обработку за счёт ресурсов центрального процессора (native plugins), а не DSP на аппаратных устройствах для TDM. HTDM используют единственный общий DSP в системе TDM, для ввода и вывода аудио-потока. Количество плагинов, работающих одновременно, зависит от мощности компьютера. Плагины HTDM добавляют системам Pro Tools гибкость и мощность ресурсов хост-процессора. Они поддерживают все стандартные возможности формата TDM, включая штатную автоматизацию Pro Tools и управление ручными контроллерами.
Отличие VST от DX
VST эффекты и инструменты создавались фирмой Steinberg, изготовителем секвенсора Cubase и насчитывалось на применение лишь внутри его. Данная фирма приложила все усилия чтобы обеспечить своих пользователей высококачественным программным обеспечением. DX – это произведение содружества компаний Microsoft и Cakewalk. Их задачей было создать реальную конкуренцию VST, что они в общем-то и сделали. Кроме разницы в звдачах и фирм изготовителей, есть ещё и более серьёзные отличия. Одно из них, и наверное самое важное – это Возможность в VST автоматизировать все имеющиеся ручки и переключатели, то есть каждой ручке ставится в соответствие свой миди контроллер, на изменение которого плагин способен реагировать в течении проигрывания произведения. DX этого не имеет, но фирма Cakewalk решила сделать из недостатка – достоинство и в общем-то была права. Отсутствие автоматизации в DX плагинах делает их более быстрыми и менее сбойными. А автоматизацию по миди контроллеров, всё-таки вполне возможно реализовать, так например Dream Station, хоть и является Dxi – всё же имеет возможность автоматизации, разве что её труднее сделать, чем в VST, но это уже заботы разработчиков, а мы будем наслаждаться высокой скоростью DX и “живостью” VST. Ещё одним отличием является установка плагинов. В связи с влиянием фирмы Microsoft DX плагины буквально встраиваются в ядро Windows, а VST же должны лежать в определённой папке и используются лишь оттуда. Это отличие по сути не принципиальное и не будем более упоминать о нём. Общим для этих плагинов является, то, что почти все они – платные и требуют регистрации, которая зачастую производится через системный реестр Windows. Есть лишь несколько бесплатных или условно бесплатных плагинов. К условно бесплатным я отношу те, которые имеют ограничение на полифонию или не возможность читать и сохранять банки. Но таковых очень мало, в своём большинстве ограничение даётся на несколько минут времени, после которых плагин должен быть перегружен, по мнению автора это вообще проявление не любви к потенциальным клиентам и вызывает отвращение. И со мной согласится добрые 98% пользователей. Так же, сами плагины, как DX, так и VST, подразделяются на содержащие и не содержащие изображений. Если таковые имеются, то при загрузке плагина в любой программе пользователь увидит одно и то же, если нет, то как будет выглядеть плагин зависит от той среды где этот плагин активизируется. К примеру, в FL Studio все регуляторы выглядят как “крутилки”, а переключатели – как кнопки. А в Skill Tracker – все они представляются в виде стандартных “ползунков” Windows. Ещё, оба вида плагинов может как содержать, так и не содержать готовых решений настроек(Presets), возможности считывать и сохранять банки и многое другое. Есть и ещё одно не менее важное отличие, которое относится к VSTi/Dxi. Как VSTi, так и Dxi – могут быть двух видов, это генераторы, в них звук генерируется самим плагином и семплерные, когда звук генерируется используя семплы. К первым можно отнести, например, WASP, ко вторым Dream Station или Live Synth. Без сомнения, семплерные генераторы зачастую имеют более низкое качество, но зато с их помощью можно использовать например DLS или SF2 банки инструментов. Подводя итог, можно сказать что реального ответа на вопрос “Что же лучше” – нет и быть не может, каждый недостаток или достоинство всегда сопровождается его противоположностью.