Автор Тема: Новая VST-грелка Over Diver od82o  (Прочитано 15462 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Новая VST-грелка Over Diver od82o
« : Июля 26, 2016, 23:57:13 »
Всем привет.

На досуге сваял новую VST-грелку - "Over Diver od82o". Решил выложить её специально для софорумчан. Предложения приветствуются.

Актуальная версия - 0.7, ссылка на загрузку внизу сообщения.

Возможности:
  • 64-bit internal processing
  • 16X/8X/no oversampling
  • symmetrical/asymmetrical clipping
  • classic/punchy mode
  • input level adjustment
  • stereo processing
  • 64/32-bit versions



История версий:
  • 0.1 Первая опубликованная на форуме версия.
  • 0.2 Исправлен найденный deLuther глюк при запуске в DAW с 32-битным движком.
  • 0.3 Добавлен оверсэмплинг, асимметричный клиппинг, изменена АЧХ, реализована 64-битная версия, исправлены найденные ошибки.
  • 0.4 Добавлен переключатель режимов плагина, регулировка входного уровня, перерисован интерфейс, улучшена производительность и исправлены найденные ошибки.
  • 0.5 Убран переключатель Quality (теперь всегда высокое качество), исправлены найденные ошибки, перерисован интерфейс.
  • 0.6 Обновлён интерфейс: добавлена вторая сторона педели со списком опций, доступно по клику на стрелки внизу, функции и величины ручек были изменены (без совместимости с версией 0.5 и ниже), обновлена схема овердрайва, слайдер входного уровня теперь имеет больший диапазон в дБ, настройки по умолчанию могут быть применены по Ctrl+клик, увеличена производительность, устранено множество ошибок.
  • 0.7 Обновлена схема овердрайва, исправлены ошибки автоматизации, байпасса, некоторые другие.

Доступно тут:
http://www.nsp-vst.ru/
« Последнее редактирование: Февраля 14, 2017, 23:54:48 от NSP »

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34263
  • Репутация: +3376/-40
  • alderman of morning star
    • Malefice
Re: Новая VST-грелка 820
« Ответ #1 : Июля 27, 2016, 00:57:48 »
Что-то у меня в вейвлабе она ничего не делает... Синус так и остаётся синусом, без реакции на ручки и переключатели.

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #2 : Июля 27, 2016, 03:15:32 »
Обязательно поправлю. Сам обкатывал в Reaper

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #3 : Июля 28, 2016, 23:22:35 »
Оказывается старый движок Steinberg работает только с числами с одинарной точностью (32 бита), а в плагине обработка с двойной (64 бита). В новой версии 0.2 учёл этот момент.

Интересно, что в WaveLab у меня отказались работать TS-999 и TSE 808.

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
Re: Новая VST-грелка 820
« Ответ #4 : Июля 28, 2016, 23:23:58 »
NSP,
а как же плаги с дабл-прецизн?  ;D

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #5 : Июля 28, 2016, 23:38:41 »
NSb,

А что с ними должно быть?)

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
Re: Новая VST-грелка 820
« Ответ #6 : Июля 28, 2016, 23:39:52 »
Ничего, кроме того, что прекрасно работает. Ты SDK от стеинберг изучал?

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34263
  • Репутация: +3376/-40
  • alderman of morning star
    • Malefice
Re: Новая VST-грелка 820
« Ответ #7 : Июля 29, 2016, 00:01:51 »
У меня в конвольвере обработка с двойной точностью, всё работает, правда в WDL-OL процедурка для 32х-бит автоматом, алгоритм же пишешь только в двойной. Вообще-то стандарт VST-2 предусматривает что обработка с одинарной точностью обязательна, с двойной опциональна, в VST-3 двойная точность уже обязательна.

... и добавил:

Интересно, что в WaveLab у меня отказались работать TS-999 и TSE 808.
У меня с ними никогда проблем не было в вейвлабе.

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #8 : Июля 29, 2016, 00:05:10 »
NSb,

Суть немного другая - внутри плага обработка 64-битная, но если сам движок DAW работает с одинарной точностью, на вход и с выхода будет поступать 32 бита. Да, изучал

... и добавил:

deLuther, а у тебя какая версия WaveLab?

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
Re: Новая VST-грелка 820
« Ответ #9 : Июля 29, 2016, 00:06:31 »
NSP,
Меняй подход...

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34263
  • Репутация: +3376/-40
  • alderman of morning star
    • Malefice
Re: Новая VST-грелка 820
« Ответ #10 : Июля 29, 2016, 00:10:14 »
NSb,

Суть немного другая - внутри плага обработка 64-битная, но если сам движок DAW работает с одинарной точностью, на вход и с выхода будет поступать 32 бита. Да, изучал
Что за фреймворк используешь или чисто с SDK работаешь?
Для VST-2 обработка с одинарной точностью обязательна, если основной алгоритм с двойной, то надо конвертировать данные на входе и на выходе. Но это должно быть сделано обязательно. Так уже многие давно делают, алгоритм с двойной, но плагин работает с одинарной.

... и добавил:

deLuther, а у тебя какая версия WaveLab?
6ая
« Последнее редактирование: Июля 29, 2016, 00:14:51 от deLuther »

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #11 : Июля 29, 2016, 05:49:01 »
У меня в конвольвере обработка с двойной точностью, всё работает, правда в WDL-OL процедурка для 32х-бит автоматом

WDL-OL также легко позволяет прописать процедуру для двойной точности.

Что за фреймворк используешь или чисто с SDK работаешь?
Для VST-2 обработка с одинарной точностью обязательна, если основной алгоритм с двойной, то надо конвертировать данные на входе и на выходе. Но это должно быть сделано обязательно. Так уже многие давно делают, алгоритм с двойной, но плагин работает с одинарной.

Фреймворк - трансляция VST SDK под pascal. Кирилл, возможность обработки с двойной точностью реализована с версии 2.4 VST. Процессинг буферизованных выходных данных с двойной точностью осуществляется отдельным обработчиком, при этом должен стоять флаг effFlagsCanDoubleReplacing. При этом обработчик одинарной отключается. Это прописано в SDK. Поэтому версия 0.1 грелки и не сработала в WaveLab 6 - флаг требовал от интерфейса хоста только двойную точность.
Сейчас реализовано так, что плаг пробует работать с интерфейсом хоста с двойной точностью, если хост не поддерживает - переключается на одинарную точность интерфейса (не внутреннего алгоритма!).

А так да, как и писал выше - внутри плага алгоритм в любом случае 64-битный, если интерфейс работает с одинарной - данные конвертируются.
« Последнее редактирование: Июля 29, 2016, 12:14:17 от NSP »

Оффлайн NSb

  • Живу на форуме
  • *******
  • Сообщений: 37695
  • Репутация: +2826/-49
  • shit in - shit out
Re: Новая VST-грелка 820
« Ответ #12 : Июля 29, 2016, 15:06:18 »
NSP,
Алиазинг прет, не порядок...

Оффлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34263
  • Репутация: +3376/-40
  • alderman of morning star
    • Malefice
Re: Новая VST-грелка 820
« Ответ #13 : Июля 29, 2016, 16:07:48 »
NSP,
Немного процитирую VST SDK 2.4:
Цитировать
virtual void    canProcessReplacing (bool state=true)
    Tells that processReplacing() could be used. Mandatory in VST 2.4!
virtual void    canDoubleReplacing (bool state=true)
    Tells that processDoubleReplacing() is implemented.
Т.е. функции обработка с одинарной точностью обязательна.
Касательно ProcessReplacing:
Цитировать
Process 32 bit (single precision) floats (always in a resume state).

This process method must be provided. It takes input data, applies its pocessing algorithm, and then puts the result to the output by overwriting the output buffer.
Про ProcessDoubleReplacing такого нет, т.к. это не обязательно в 2.4

Скорее подход такой: одинарная точность должна быть реализована в обязательном порядке, если хост умеет работать с двойной точностью, то он запрашивает canDoubleReplacing и в положительном варианте потом вызывает ProcessDoubleReplacing для обработки. Но одинарная точность должна быть реализована в обязательном порядке, игнорировать ей нельзя.

Оффлайн NSP Автор темы

  • Частый посетитель
  • **
  • Сообщений: 239
  • Репутация: +148/-12
  • ♫♪♫♪♫♪♫
    • http://www.nsp-vst.ru/
Re: Новая VST-грелка 820
« Ответ #14 : Июля 29, 2016, 17:50:38 »
deLuther, Совершенно верно, а возможность работы с двойной точностью объявляются в эффекте флагом effFlagsCanDoubleReplacing
Цитировать
#if VST_2_4_EXTENSIONS
   effFlagsCanDoubleReplacing = 1 << 12,   ///< plug-in supports double precision processing
#endif