- Quick Tip: How to Manage VST and AudioUnits Plugins in Mac OS X
- Finding the Audio Plugins folder
- How to Install VST Plugins
- How to Install AudioUnits Plugins
- Other Plugin Formats
- Tips and Tricks
- Создание аудиоплагинов, часть 1
- Введение
- Как мы это сделаем
- Что нам понадобится
- Полезные ресурсы
- Установка и настройка WDL-OL
- Настройка на Mac OS X с использованием Xcode 4
- Загрузка WDL-OL
- Добавление зависимостей
- Установка SDK 10.5
- Запуск тестового проекта
- Проверка версии AudioUnit при помощи Logic
- Установка на Windows с использованием Visual C++ 2010 Express
- Возможные проблемы
Quick Tip: How to Manage VST and AudioUnits Plugins in Mac OS X
VST and AudioUnits (AU) are the two native plugin formats for Mac OS X. Although there are other DAW specific formats for plugins, VST and AudioUnits are more common and compatible across various DAWs like Cubase, Logic, etc. There is an abundance of VST and AU plugins for expanding your DAW and building your collection of effects. However, it can be difficult to know how to get those plugins running on your computer. Especially if they are free and do not come with installers or instructions. I’ll help you get those files in the right places and make them appear in your plugin stacks.
Finding the Audio Plugins folder
The plugin folder is nested in the Macintosh HD Library. There are usually a minimum of two Libraries on your Mac, one in Macintosh HD and another in your user account. You should only place the plugins in the Macintosh HD Library so that it can be accessed by all users on the computer. The usual location of the folder should be:
Macintosh HD/Library/Audio/Plug-Ins/
How to Install VST Plugins
- Unzip the downloaded file if it is an archive like .zip or .rar. You should only see a file with a .vst extension. This is the actual file required for the plugin.
- Move the .vst file to the VST folder in your audio plugins folder.
- If your DAW is running, close it and restart it. When your DAW starts up, it will rescan your plugins folder and detect your recently installed plugin.
How to Install AudioUnits Plugins
- Unzip the downloaded file if it is an archive like .zip or .rar. You should only see a file with a .component extension. This is the actual file required for the plugin.
- Move the .component file to the Components folder in your audio plugins folder.
- If your DAW is running, close it and restart it. When your DAW starts up, it will rescan your plugins folder and detect your recently installed plugin.
Other Plugin Formats
You might come across another folder labelled VST3, this is for VST3 plugins which are not as common as of yet. They can be identified with the .vst3 file extension. MAS is used for MOTU Audio System. HAL is Hardware Abstraction Layer and you should not be needing to change anything there.
Tips and Tricks
There some things that you can do to make managing plugins easier. If you have a huge collection of plugins but you do not use them all at the same time, you can waste a lot of time waiting for your DAW/host to scan all of them.
- Create a folder as seen in the picture above labelled Components (Disabled) or VST (Disabled).
- Simply drag the associated plugin to the respective ‘Disabled’ folder if you do not wish to load the plugin or have problems loading it.
- Restart your DAW if it is running. Your DAW will rescan and load the plugins in your Components or VST folder, and ignore the ones in the «Disabled» folders.
Remember to check for updates for your plugin first if they are giving you problems. Updates could provide compatibility fixes for newer DAWs or operating systems. Keeping your plugins in check and trimming it down can make your music making experience more responsive and trouble-free.
Источник
Создание аудиоплагинов, часть 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 (произносится как «уитл»). Она делает за нас кучу работы, вот самые важные моменты:
- Содержит уже готовые проекты Xcode / Visual Studio
- Создает плагины в форматах VST, AudioUnit, VST3 и RTAS из нашего кода. Просто выбираем формат и жмем запустить!
- Создает 32\64-битные версии
- Запускает ваш плагин как самостоятельное приложение в Windows или MacOS
- Содержит множество разных элементов GUI, которые используются в аудиоплагинах
Также в этой библиотеке есть некоторые часто используемые алгоритмы, например, передискретизация. Вот в этой ветке форума есть много скринов плагинов, написанных при помощи WDL.
Разные форматы плагинов делают более-менее одно и то же. Следовательно, в коде обычно бывает много копипасты. Как программист, вы должны стараться не повторяться, так что рано или поздно вы бы написали свой собственный слой абстракции над разными форматами. Но это уже существует в виде фрэймворка IPlug, являющегося частью WDL. Это самая раздражающая часть процесса разработки, так что теперь мы сможем сфокусироваться на таких интересных штуках, как:
- Обработка аудио и MIDI
- Внешний вид плагина
- Интеграция с хостом (автоматизация, пресеты и прочее)
Еще одна замечательная вещь в WDL это разрешительная лицензия. Библиотеку можно свободно использовать даже в коммерческих продуктах (см. детальную информацию по ссылкам выше).
Как мы это сделаем
«Погоня лучше, чем добыча» — Эйч Пи Бакстер
В программировании результат сам по себе — это уже вознаграждение, но именно по пути к результату мы учимся. В этом руководстве не будет длинных листингов с идеальными решениями. Мы начнем с того, что работает, и будем постепенно развивать это, встречаясь с разными проблемами. Минус в том, что вы будете писать код, который впоследствии замените на лучший. Но программистам к этому не привыкать. Первый плюс: не будет переполняющей радости, т. к. мы будем подходить к решению постепенно вместо того, чтобы сделать все одним махом. Второй — это то, что мы получим некоторые ценные знания в программировании.
Эта серия постов — не о решении задач по матану без калькулятора на бумажке. Она о том, как создавать хорошее программное обеспечение, которое вы можете дать своему другу-продюсеру, чтобы он сделал бас пожирнее.
Что нам понадобится
- Mac с Xcode 4 или выше, или Windows с Visual Studio C++ 2010 или выше
- Некоторое понимание С++ (синтаксис, указатели, основы ООП, механизмы памяти). Вы могли слышать, что С++ это тяжелый язык, но мы не будем использовать слишком сложные приемы.
- Некоторые общие знания о [цифровом] звуке: что такое амплитуда и частота, что делает фильтр, как аудио представляется с определенной частотой дискретизации (sample rate) и битовой глубиной (bit depth). Если вы делали музыку раньше, то, скорее всего, это все вам уже знаете.
- Заинтересованность в обработке цифровых сигналов и в разработке GUI: это две основные темы данного руководства. Если у вас нет никаких знаний в обработке цифровых сигналов, то по ходу разработки вам придется почитывать дополнительные материалы для заполнения пробелов. Я постараюсь давать ссылки на дополнительное чтение.
Полезные ресурсы
Пара ссылок, которые нам могут пригодиться:
- Stack Overflow: здесь можно узнать, например, что значат непонятные предупреждения, которые вы будете получать от компилятора.
- DSP Guide: очень хорошая бесплатная книга (на английском), покрывает больше материала, чем нам нужно. Если вам будет непонятен какой-нибудь концепт из обработки сигналов, почитайте эту тему в ней.
Теперь пора все настроить и подготовить.
Установка и настройка WDL-OL
Сейчас мы установим библиотеку WDL-OL и ее зависимости. Затем запустим пример, просто чтобы убедиться, что все работает как надо.
Большая часть этого материала есть в видео Оли Ларкина:
Материал следующей секции в основном для настройки на Mac. Windows будет немного ниже.
Настройка на Mac OS X с использованием Xcode 4
Перед тем, как мы начнем, надо скачать и установить парочку новых вещей. Это немного муторно, но придется сделать только один раз.
- Если не установлен Xcode, скачайте и установите.
- Cкачайте последнюю версию VST3 SDK. Для скачивания нужно зарегистрировать аккаунт.
- Скачайте Audio Tools for Xcode. В меню Xcode щелкните Open Developer Tool → More Developer Tools… (или кликайте сюда). Найдите Audio Tools for Xcode в списке, скачайте и установите. Для разных OS X есть разные версии, так что выбирайте внимательнее.
- Скачайте RtAudio (в пакет включены некоторые нужные файлы из ASIO SDK).
- Если у вас нету git, стоит его установить.
Загрузка WDL-OL
Откройте Terminal и напечатайте следующие строки, чтобы создать новую папку в вашей домашней директории и переместиться туда:
Давайте загрузим WDL-OL:
git clone github.com/olilarkin/wdl-ol
cd wdl-ol
git checkout 0a360c90b3460717210eeaee7464bc7009c9a5ba .
Эти строчки можно скопировать и вставить. Главное — не забудьте точку в конце! Тогда вы наверняка будете использовать ту же версию WDL-OL, что и в этом руководстве. На данный момент должна появиться подпапка wdl-ol.
Добавление зависимостей
Заходите в ASIO_SDK и скопируйте сюда файлы .cpp и .h из папки include из RtAudio.
Разархивируйте VST3 SDK и скопируйте файлы aeffect.h и aeffectx.h из папки pluginterfaces/vst2.x в подпапку wdl-ol/VST_SDK (они могут быть уже включены в VST3 SDK в подпапке pluginterfaces/vst2.x). Помимо этого для VST3 вам понадобятся base/source, pluginterfaces и public.sdk/source. Скопируйте из следующим образом:
Обратите внимание, что папку 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
Также мы будем использовать Mac OS X 10.5 для переменных BASE_SDK и MACOSX_DEPLOYMENT_TARGET . Продюсеры, и в особенности владельцы студий, часто очень ленятся обновлять свою ОС. Им не нужны новые фишки, а вот несколько дней простоя из-за проблем с обновлением софта могут вылиться в большие финансовые потери.
На самом деле deployment target содержит информацию о той версии, которая понадобится пользователям, но я предпочитаю прописывать ту же версию для основного SDK.
SDK 10.5 не включен в Xcode 4. Если он у вас уже установлен, переходите к пункту «Запуск тестового проекта». Если нет, то читайте дальше:
Установка 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 и введите:
auval -a 2> /dev/null | grep MyFirstPlugin
Он должен выдать что-то типа этого:
aumu Abcd Efgh — YourName: MyFirstPlugin
Если 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 вроде тоже подойдет, но лично я не проверял.
Для создания 64-х битных версий плагинов понадобится обновление компилятора, что, в свою очередь, может требовать наличия Windows SDK v 7.1. Корректная установка Windows SDK v 7.1 после установки обновления VisualStudio 2010 SP1 очень затруднительна. При установке может выскочить fatal error .
Чтобы исправить положение, повторно запустите установщик Windows SDK v 7.1 и снимите галочку с Visual C++ Compilers and libraries.
Чтобы наверняка иметь правильную конфигурацию, удалите следующие продукты и установите их в таком порядке:
- Visual Studio 2010
- Windows SDK 7.1
- Visual Studio 2010 SP1
- Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1
Пост с описанием других возможных проблем и их решений находится здесь.
Затем установите Git для Windows, используя настройки по умолчанию. Я использовал версию 1.8.4. Запустите Start → Program Files → Git → Git Bash. Откроется окно терминала. В этом окне введите несколько команд:
cd c:
git clone github.com/olilarkin/wdl-ol
cd wdl-ol
git checkout 0a360c90b3460717210eeaee7464bc7009c9a5ba .
Чтобы вставить строки в окно, сделайте правый клик по его заголовку и выберите Edit → Paste:
Теперь скопируйте все файлы VST2/VST3/ASIO SDK в нужные папки, так же, как описано выше. Установите Python, используя настройки по умолчанию. Я использовал 2.7.5.
Чтобы создавать плагины формата VST3, надо создать папку VST3. Выполните в терминале эту команду:
mkdir -p «C:\Program Files\Common Files\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-х битных версий плагинов.
Источник