Как стать автором
Обновить

Обзор цифровой аудиостанции Cockos REAPER

Звук
Под влиянием последних статей из блога «Звук и Музыка» мне захотелось поделиться с его читателями своими знаниями в области DAW (Digital Audio Workstation). Программы этого класса являются основным инструментом музыканта или продюсера в компьютерной студии. Наиболее известными продуктами в данной категории являются Steinberg Nuendo/Cubase, Logic Pro, Adobe Audition и некоторые другие. В этом топике речь пойдет о программе под названием REAPER, которая несмотря на скромный размер (дистрибутив занимает менее 10 Мб) обладает богатым функционалом и отличными характеристиками. Программа существует в версиях для Windows и Mac OS X.
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 46K
Комментарии 66

Создание аудиоплагинов, часть 1

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Интересно? Тогда под кат!
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 72K
Комментарии 5

Создание аудиоплагинов, часть 2

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте получше рассмотрим наш тестовый проект. Самые важные файлы — resource.h, MyFirstPlugin.h и MyFirstPlugin.cpp. На данный момент плагин представляет собой простой регулятор громкости звука.
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 14K
Комментарии 0

Создание аудиоплагинов, часть 3

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



В этом посте мы завершим необходимую настройку среды разработки и подготовим вспомогательное окружение.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 13K
Комментарии 0

Создание аудиоплагинов, часть 4

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Пора приступать к написанию нашего первого плагина. Это будет грязный цифровой дисторшн. Если говорить точнее, плагин будет просто обрезать пики амплитуды звукового сигнала.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 9.8K
Комментарии 0

Создание аудиоплагинов, часть 5

Интерфейсы *Звук
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте добавим несколько предустановок для плагина и создадим [относительно] симпатичный интерфейс.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 9.1K
Комментарии 0

Создание аудиоплагинов, часть 6

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



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

Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 9K
Комментарии 0

Создание аудиоплагинов, часть 7

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Пока что мы генерировали только постоянную звуковую волну, которая просто звучала на заданной частоте. Давайте посмотрим, как можно реагировать на MIDI сообщения, включать и выключать генерацию волны на нужной частоте в зависимости от получаемой ноты.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 7K
Комментарии 0

Создание аудиоплагинов, часть 8

Интерфейсы *Звук
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Настройка виртуальной клавиатуры в REAPER не так очевидна, к тому же хост пользователя может вообще не иметь такой функциональности. Давайте добавим свою маленькую экранную клавиатуру в GUI.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 6K
Комментарии 10

Создание аудиоплагинов, часть 9

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Звук интересен тогда, когда в нем происходят какие-то изменения. Давайте сделаем генератор огибающей (envelope), которая будет менять громкость звука.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 5.3K
Комментарии 7

Создание аудиоплагинов, часть 10

Интерфейсы *Звук
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Давайте добавим несколько элементов управления, чтобы можно было менять параметры огибающей и форму волны. Вот результат, который мы хотим получить (отсюда можно скачать слоеный TIFF):


Читать дальше →
Всего голосов 28: ↑26 и ↓2 +24
Просмотры 5.9K
Комментарии 2

Создание аудиоплагинов, часть 11

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Сегодня мы сделаем резонансный фильтр. Разработка фильтров — это сложная область, над которой ломают голову множество DSP инженеров по всему миру. Мы не будем погружаться в ее дебри, а создадим простой фильтр нижних частот (Low-Pass), полосовой (Band-Pass) и фильтр высоких частот (High-Pass) на основе алгоритма Пола Келлета.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры 8K
Комментарии 2

Создание аудиоплагинов, часть 12

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Низкочастотный осциллятор (Low Frequency Oscillator, LFO) — это важная составляющая любого классического синтезатора, и мы добавим ее в свой плагин. Как понятно из названия, это просто осциллятор. Мы используем написанный нами ранее класс Oscillator и зададим ему низкую частоту.
Читать дальше →
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 5.7K
Комментарии 2

Создание аудиоплагинов, часть 13

Интерфейсы *Звук
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



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

Наш плагин будет полифоническим синтезатором под названием SpaceBass (КасмичискийБас):


Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры 7.1K
Комментарии 0

Создание аудиоплагинов, часть 14

C++ *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Приступим к созданию полифонического синтезатора из тех компонентов, которые у нас имеются!

В прошлый раз мы работали над параметрами и пользовательским интерфейсом, сегодня мы начнем работу над лежащей в основе плагина полифонической обработкой аудио. В нашем случае мы сможем играть до 64-х нот одновременно. Это требует основательных изменений в структуре плагина, но мы сможем использовать уже написанные нами классы Oscillator, EnvelopeGenerator, MIDIReceiver и Filter.

В этом посте мы напишем класс Voice (голос), представляющий одну звучащую ноту. Затем создадим класс VoiceManager, следящий за тем, чтобы все ноты звучали и заглушались вовремя.
В следующем посте мы почистим код от ненужных устаревших частей, добавим модуляцию тона и приведем элементы управления интерфейса в рабочее состояние. На первый взгляд, работы полно. Но во-первых, у нас уже есть практически все нужные компоненты, а во-вторых, в конце у нас будет настоящий-полифонический-субстрактивный-блин-синтезатор!

Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры 5.4K
Комментарии 17

Создание аудиоплагинов, часть 16

C++ *Математика *
Tutorial
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Чтобы наш SpaceBass звучал еще лучше, нужно создать осциллятор, в котором было бы меньше алиасинга. Это опциональное улучшение. Без него синтезатор будет работать как и раньше, но с ним звук на верхних октавах будет значительно лучше.
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Просмотры 7.9K
Комментарии 4

Новый вирус Reaper заразил 2 миллиона IoT-устройств

Блог компании CloudMTS Информационная безопасность *Сетевые технологии *Разработка для интернета вещей *
Компания Check Point Research, занимающаяся предоставлением услуг киберразведки, обнаружила вирус Reaper, который атакует девайсы, подключенные к интернету вещей. Компания сообщает, что вирус распространяется гораздо быстрее, чем Mirai, «нашумевший» в 2016 году. По некоторым оценкам, он уже заразил два миллиона IoT-устройств.

Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 11K
Комментарии 8

Затишье перед IoT-бурей или спустя год после Mirai

Облачные сервисы


С момента массовой атаки на IoT-устройства, осуществленной создателями ботнета Mirai, прошло более года. Стоит отметить, что гаджеты из мира «интернета вещей» были выбраны для атаки не случайно. Очень немногие производители таких систем действительно серьезно относятся к защите устройств от внешнего вмешательства. В большинстве случаев разработчики стараются сделать гаджет функциональным, приятным взгляду, но забывают о безопасности. Массовая атака на IoT-системы была лишь вопросом времени и в прошлом году это время пришло.

Для распространения зловреда Mrai понадобилось никаких уязвимостей нулевого дня и прочих сложных вещей. Как оказалось, разработчики большинства умных устройств устанавливают неизменный пароль для доступа к учетной записи администратора. Всего создатели Mirai предусмотрели подбор 61 различных комбинаций для доступа к учетной записи администратора. Большая часть пораженных червем систем была изготовлена с использованием компонентов компании XiongMai Technologies, так что камеры различных производителей оказались подвержены одним и тем же уязвимостям.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 5.8K
Комментарии 1

Мышиная гирлянда: шесть игровых девайсов на одном поле

Гаджеты Периферия Игры и игровые консоли
Привет, GT! Новый год кое-где уже настал, к кому-то ещё следует, ну а у меня для вас новогодний подарок. Большой пост про шесть игровых мышей в разной ценовой категории от шести разных вендоров. Нужна новая боевая подруга? Не определились с подарком на Новый год для себя? Выбирайте претендента и вперёд!



Сегодня в номере: ASUS Gladius, Mad Catz R.A.T.7, Cooler Master Storm Reaper, Defender Warhead, Roccat Tyon и SteelSeries Rival.
Поехали!
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 22K
Комментарии 48

Reaper FY919. Квадрокоптер с FPV за $50

Блог компании MakeItLab Мультикоптеры Электроника для начинающих
Речь пойдет о недорогой игрушке, которая при своей стоимости вполне может удивить своей стабильностью и возможностью полетов по FPV через WiFi. В видео можно будет также посмотреть сравнение с «условными одноклассниками». Но самое удивительное в нем это наличие камеры для ориентирования в пространстве.

Речь пойдет вот об этом аппарате:


Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 14K
Комментарии 7
1