Голосовое управление: цифровая обработка сигналов на 8-битном AVR при помощи жесткого ассемблера




+9315,9k9930

ВАКАНСИИ

·

.NET разработчик

UniGuideМожно удаленно

от 2 000 до 3 500

 

·

.NET разработчик

Hunt4YouСевастополь

от 60 000 до 120 000

 

·

Программист C# \.NET Developer

Payment SystemsМосква

от 200 000

 

·

.net разработчик (c#,.net, Azure) mid-senior

ВЫМПЕЛМоскваМожно удаленно

от 150 000 до 200 000

 

·

.NET разработчик

RadarioСанкт-Петербург

от 100 000 до 140 000

 

Все вакансии

Комментарии 19

· Smi1e 28 сентября 2016 в 18:09

o

o

+4

Очень годная статья из песочницы, не то что большинство. Спасибо, ждем продолжения!

· Refridgerator 28 сентября 2016 в 19:45

o

o

VST SDK можно скачать с официального сайта.
В дальнейшем мы будем работать с библиотекой VST.NET, которая является оберткой для VST 2.4.

Если я не ошибаюсь, SDK для VST 2.4 на официальном сайте уже давно недоступна.

o lis355 28 сентября 2016 в 23:13

§

§

§

§

Все правильно, на официальном сайте сейчас можно скачать SDK версии 3.6.6.

В статье я не рассказываю про программирование на «голом» SDK, а лишь знакомлю читателя c общей идеей работы VST-плагинов (делаю обзор кода, который находится в папке VST3 SDK\pluginterfaces\vst2.x — интерфейсы, структуры и объявления для версии 2.4).

А для работы с VST. NET и вовсе не нужно качать VST SDK.

o cadabr 30 сентября 2016 в 23:13

§

§

§

§

Поддержка VST 2.4 включена в SDK 3.

§ lis355 30 сентября 2016 в 23:19

§

§

§

§

да, в версии 3.6.6 есть объявления структур, перечислений из VST 2.x. Но нету примеров, доков, вспомогательных классов для разработки (это все есть для VST 3.x).

· unrealsolver 28 сентября 2016 в 22:50

o

o

Reaper 5 поддерживает VST 3.

o lis355 28 сентября 2016 в 22:55

§

§

§

§

спасибо. я не работал в нем, и, видимо, на вики имели ввиду более ранние версии.
поправил статью.

· Refridgerator 29 сентября 2016 в 12:19

o

o

+1

Подозреваю, что вся статья писалась ради посткриптума)

Я даже сходил и послушал и скажу честно, был разочарован. Вы же не думали, что ваше творчество понравится абсолютно всем? Да и у слышал совсем не то, что ожидал — живое исполнение вместо электронной музыки, что было логичным ожидать в теме про синтезаторы. Я не хочу никого обижать, но — хорошая музыка не нуждается в саморекламе. Стив Вай не придёт на хабрахабр с предложением заценить его суперзапил в постскриптуме в статье о неважно о чём.

Проблема с VST сейчас в том, что их — чересчур много. Миллиарды авторских синтезаторов с убогим звучанием и ужасным интерфейсом. Триллиарды эффектов с абсолютно одинаковыми дилэями и компрессорами. А знаете почему? Сейчас расскажу.

1. Подмена целевой функции.
Вместо создания шедевра и приятного звучания целью становится — самоутверждение. Лучше плохой звук, зато свой собственный. Отсюда и неприятие любой критики. Написали шедевр, но его не оценили — значит, не шедевр. Написали крутой синт, а его не качают — значит, он крутой только в вашем личном воображении.

2. Подобного рода руководства.
Здесь нет обобщения опыта за несколько десятков лет. Вы разобрались с этим пару за дней (как вам показалось) и почувствовали себя достаточно квалифицированным, чтобы учить этому других. И кому-то может показаться, что сложность написания VST — это сложность прикрутить C# к С++, а сложность написания синтезатора — это сложность соединить осциллятор с огибающей и частотной модуляцией. Вам удалось получить отличный от синусоиды звук — и кажется, что вы уже познали дзен. А на самом деле это ещё даже ещё не таблица умножения.

3. Ограничение сложности.
Синтезатор — это модульное устройство. Простую конструкцию (как здесь) ещё можно описать процедурно или функционально, но после некоторого усложнения код становится совершенно неподъёмным и не читаемым. Здесь привычные паттерны программирования не подходят — нужен совсем другой механизм абстракции.

Что же делать?

1. Взрослая теория, а не руководства для школьников.
Например, Вадим Завалишин — The Art of VA Filter Design. А после — теорию DSP (ЦОС) как есть, потом — множество научных работ, только из которых можно почерпнуть самое актуальное.

Например, синтезировать элементарные сигналы (помимо синусоиды), как в этом проекте — нельзя. Почему? Потому что эти алгоритмы создают шум. Почему? Сказывается эффект дискретизации. Как правильно? Например — так.

2. Учиться у классиков.
Настоящие музыканты учатся, играя Баха. Ну или признанных современников. Ненастоящие музыканты учатся на гитарных школах, написанных другими ненастоящими музыкантами, и состоящими исключительно из коротких музыкальных фраз. Из которых, как не напрягайся, музыки не получается.

Так и тут. Здесь классика — это аналоговые синтезаторы. Многие из них перенесены в цифровую форму. Не смогли найти структурную схему? Подберите звук на слух и методом тыка перебора, чтобы звучание совпадало один в один. Также, как и настоящие музыканты в состоянии подобрать музыку на слух, если у них нет нот.

3. Использовать подходящие инструменты.
Самый прогрессивный на текущий момент модульный синтезатор — это NI Reaktor, и все инструменты от NI также строятся на его основе. Там есть (почти) всё. Лучше найти самые первые её версии — 2.3 и Generator (предыдущее название). Там и синты с эффектами попроще, и модели реальных (например, Juno) можно найти. Заодно можно будет отследить и развитие тенденций по синтезу (и обработке в том числе) звука.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-12-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: