Pull to refresh
  • by relevance
  • by date
  • by rating

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

Sound
Под влиянием последних статей из блога «Звук и Музыка» мне захотелось поделиться с его читателями своими знаниями в области DAW (Digital Audio Workstation). Программы этого класса являются основным инструментом музыканта или продюсера в компьютерной студии. Наиболее известными продуктами в данной категории являются Steinberg Nuendo/Cubase, Logic Pro, Adobe Audition и некоторые другие. В этом топике речь пойдет о программе под названием REAPER, которая несмотря на скромный размер (дистрибутив занимает менее 10 Мб) обладает богатым функционалом и отличными характеристиками. Программа существует в версиях для Windows и Mac OS X.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 44K
Comments 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.
Интересно? Тогда под кат!
Total votes 25: ↑24 and ↓1 +23
Views 70K
Comments 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. На данный момент плагин представляет собой простой регулятор громкости звука.
Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views 14K
Comments 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. Антиалиасинг



В этом посте мы завершим необходимую настройку среды разработки и подготовим вспомогательное окружение.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 12K
Comments 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. Антиалиасинг



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

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

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



Давайте добавим несколько предустановок для плагина и создадим [относительно] симпатичный интерфейс.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views 8.9K
Comments 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. Антиалиасинг



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

Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 8.8K
Comments 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 сообщения, включать и выключать генерацию волны на нужной частоте в зависимости от получаемой ноты.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Views 6.9K
Comments 0

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

Interfaces *Sound
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.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Views 5.9K
Comments 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), которая будет менять громкость звука.
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Views 5.2K
Comments 7

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

Interfaces *Sound
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):


Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Views 5.8K
Comments 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) на основе алгоритма Пола Келлета.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 7.8K
Comments 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 и зададим ему низкую частоту.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views 5.5K
Comments 2

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

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



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

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


Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Views 7K
Comments 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, следящий за тем, чтобы все ноты звучали и заглушались вовремя.
В следующем посте мы почистим код от ненужных устаревших частей, добавим модуляцию тона и приведем элементы управления интерфейса в рабочее состояние. На первый взгляд, работы полно. Но во-первых, у нас уже есть практически все нужные компоненты, а во-вторых, в конце у нас будет настоящий-полифонический-субстрактивный-блин-синтезатор!

Читать дальше →
Total votes 32: ↑31 and ↓1 +30
Views 5.4K
Comments 17

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

C++ *Mathematics *
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 звучал еще лучше, нужно создать осциллятор, в котором было бы меньше алиасинга. Это опциональное улучшение. Без него синтезатор будет работать как и раньше, но с ним звук на верхних октавах будет значительно лучше.
Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Views 7.7K
Comments 4

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

CloudMTS corporate blog Information Security *Network technologies *Development for IOT *
Компания Check Point Research, занимающаяся предоставлением услуг киберразведки, обнаружила вирус Reaper, который атакует девайсы, подключенные к интернету вещей. Компания сообщает, что вирус распространяется гораздо быстрее, чем Mirai, «нашумевший» в 2016 году. По некоторым оценкам, он уже заразил два миллиона IoT-устройств.

Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Views 11K
Comments 8

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

Cloud services


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

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

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

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



Сегодня в номере: ASUS Gladius, Mad Catz R.A.T.7, Cooler Master Storm Reaper, Defender Warhead, Roccat Tyon и SteelSeries Rival.
Поехали!
Total votes 11: ↑9 and ↓2 +7
Views 21K
Comments 48

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

MakeItLab corporate blog Multicopters Electronics for beginners
Речь пойдет о недорогой игрушке, которая при своей стоимости вполне может удивить своей стабильностью и возможностью полетов по FPV через WiFi. В видео можно будет также посмотреть сравнение с «условными одноклассниками». Но самое удивительное в нем это наличие камеры для ориентирования в пространстве.

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


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 14K
Comments 7
1