JS Плагины - обсуждение

он ловит миди сигнал, поступающий в него, на основе нот подсчитывает частоту и подстраивает длину окна точно под период волны (можно добавить регулятор кратности типа x2, x4, x8). В случае полифонического сигнала наверное брать нижнюю ноту.
В итоге анализатор всегда будет стабильно показывать волноформу синтезатора. Как идея?
Идея реализована. И еще 3 других идеи. Смехоскоп теперь выглядит действительно смешно на фоне ;)
Синхронизация по миди, по лупу, по темпу, и свободный вариант. Моно, стерео, 1+2/3+4. Короче, полный п..
Вот примеры по миди, но сейчас уже стерео у меня, пилю по-немногу.
Автоматом подбирает размер окна в зависимости от ноты, причем постарался, чтобы на вид приходилось смотрибельное состояние. Получился просто отпад.
Midi Pitch Sync Mode3.gif
Это тупо, чтобы было понятно, что он ловит их безупречно.
Натуральные волны(хорошие звуки) выглядят просто великолепно, это надо видеть!
Времени мало пока, а вчера как засел - такие чудеса натворил - сам удивился - натуральный психодел. Некоторые волны выглядят так невероятно красиво в отображении, что я пару часов крутил пресеты и рассматривал.
Вот, полистал пресеты наугад просто, форум не дает большие файлы грузить, но думаю, понятно.
Midi Pitch Sync Mode4.gif
====
C TimeLoop - понятно, но вот посемплово - тоже круто
TimeLoop Mode1.gif
===========
Вся фигня без проблем растягивается на 2048 вообще не теряя(наоборот, так точнее) качества!
В режиме 1+2 / 3+4 можно достаточно четко рассмотреть действие сайдчейна, например. Или компрессора, или гейта - у нас экран 2048. В этих смехоскопах всех макс. 800 - там ни хрена не видно(не говоря уже о херовой отрисовке)
================
Готовый вариант скоро выложу, хочу добавить пару деталей.
 
Последнее редактирование:
В виде альфа-версии, все работает, возился с нормальными кнопками и цветами - бросил, возможно потом, а может и сегодня сделаю.
Даже в таком виде, как сейчас - это уже очень хороший инструмент для анализа, это точно говорю, потому что сам искал что-то именно такое.
Точность посемпловая. Интересно, кстати, что с помощью этого я увидел - растянутые аудио(rate не равно 1) всегда играются по-разному!
В общем - ничего особенного, вид - дело такое, но два режима просто очень интересны, я бы сказал - великолепны:
1) TimeLoop - отображается зацикленный участок, хоть посемплово, причем БЕЗ ошибок.
Например, кокосовский скоп косячит даже просто по времени без циклов.
2)MidiPitch - отображается участок, соответствующий частоте миди-ноты(грубо говоря), либо кратный частоте, для удобства визуализации.
Это самый крутой режим, точно говорю. На синтезаторных звуках - это п..ц, там такие узоры получаются иногда, что крышу сносит по трезвому.

Если кому что-то не понравится - попробуйте либо первый, либо второй вариант.
Да, это альфа пока, рабочая, о косяках просьба сообщать.

https://raw.githubusercontent.com/EUGEN27771/JSFX/master/WaveScope
 
Последнее редактирование:
Охренительный скоп!!! Не расстраивайся, ты молодец, а народ расчухает со временем.Мне понравился - очень.
 
  • Like
Реакции: Nagor
@EUGEN27771, Женя, у меня вот днюха была, и я ессно на студии не был... Сегодня приеду, обязательно заюзаю, честное слово! )))
З.Ы. Между прочим, 18 лайков... Это несколько противоречит тому, что на него никто не смотрит, согласись)))
 
  • Like
Реакции: EUGEN27771
лохо, фактически я сделал, наверное(возможно), лучший скоп из всех существующих, даже альфа.
А на него даже не смотрит никто. Мне немного жаль - но ладно, х... с ним.
@EUGEN27771, отличный скоп ! Спасибо большое за работу !
PS: только он у меня просит что-то или что ? ... см. скрин.
 

Вложения

  • 1.png
    1.png
    96,9 KB · Просмотры: 181
Последнее редактирование:
@alexvg да, не хватает какого-то компонента.
[DOUBLEPOST=1484813044][/DOUBLEPOST]@EUGEN27771 потому что можно быть гением, но без ХОРОШЕЙ рекламы никто не узнает. Попробуем что-нибудь с этим сделать - это стоит того! ;)
 
Женя, спасибо тебе большое за труды! Отличная работа.
 
@convex, это не скрипт, JS-плагин.
Нужно скопировать текст по ссылке, сохранить(расширение в целом не важно, но лучше убрать его вообще) и перенести в папку с JS-плагинами.
======
Я вижу некоторое недоверие к JS-плагинам, поэтому кое-что скажу.
1) JS-плагины написаны на eel.
Eel по скорости работы не намного медленнее С++(на котором написаны VST).
Я провел простые тесты - это легко повторить.
Скачайте MSVS - это бесплатно. Создайте длинный луп с какими-то сложными расчетами.
Сделайте то же в JS. Посмотрите результаты - Вы будете удивлены, как минимум.

2) Я не знаю, что там Джастин замутил с графикой, но тесты показывают, что в eel графика просто очень быстрая.
По моему предположению(не уверен на 100%) - eel не перерисовывает окна, пока не произошло изменений.
Вероятно, считается контр. сумма окна, и если она изменилась - только тогда рисуется.
 
Последнее редактирование:
@EUGEN27771, Отличная работа! Спасибо!
Если надумаешь прикрутить к этому спектрограф, есть идея дать пользователю возможность смотреть не только амплитудный спектр, но и фазовый. Можно в разных половинках окна. Можно не одновременно, а переключаясь. А можно, как вариант, амплитуду кодировать яркостью точки, а фазу цветом или наоборот. Это будет достаточно экзотическая функция, согласен. Но я такой нигде не встречал. А иногда бывает нужно (просто как пример: незаметные на слух фазовые искажения используются при маркировке аудио контента "водяными знаками." На таком анализаторе их наличие можно было бы отследить :) ) Будет такая небольшая уникальная фишечка :)
 
  • Like
Реакции: EUGEN27771
@Ortseam, попробую, не уверен, что сделаю, но "Попитка - не питка. Правда, товарищ Берия?"
===
Наверно, теперь неактуально, спектр. отображение добавили в Рипере.
 
Последнее редактирование:
  • Like
Реакции: Ortseam и nazarol-jk35
  • Like
Реакции: Ortseam и Wefilev
...тесты показывают, что в eel графика просто очень быстрая.
По моему предположению(не уверен на 100%) - eel не перерисовывает окна, пока не произошло изменений.
Вероятно, считается контр. сумма окна, и если она изменилась - только тогда рисуется.

Насколько мне известно, окно перерисовывается с gfx.update(), не более. А скорость EEL (память, графика, матан) обусловлена более искусным исполнением интерпретатора, поэтому его и рекомендуют в качестве всего, что касается DSP и всего такого.
 
@@Michael, в JS обновление графики идет немного иначе, грубо говоря - update вызывается всегда.
Но и в скриптах тоже eel тотально быстрее рисует, примерно раз в 20, ты же легко можешь это проверить.
Я приблизительно понимаю почему это происходит.
1) eel специально не сравнивает все биты (value1 == value2 -- compares two values, returns 1 if difference is less than 0.00001, 0 if not).
Можно вызвать так value1 === value2 -- compares two values, returns 1 if exactly equal, 0 if not , если нужно сравнить точно.
Это сходу дает прирост производительности в циклах раз в 10, потому что одно дело сравнивать 64-битные числа полностью, а другое - только до опр. знака.
2)Математика полностью обращается к Си, причем напрямую в память. Поэтому и неудобства с этими слотами памяти. Но в Си примерно так же все и делается.
3)С графикой замутили простую вещь - я столкнулся с этим в пресетах. Перерисовать окно полностью - довольно затратная задача, каждый пиксел - rgba. В eel просто сохраняют последнюю контрольную сумму, при новом цикле сначала проверяют контрольную сумму, и если не совпадает - рисуют-обновляют, если же совпадает - ничего не делают. Это простое и гениальное решение.
 
Последнее редактирование:
@EUGEN27771, к вам большая просьба.. При записи на дорожку идет очень слабый сигнал. Примерно -40db, возможности поднять нет.. Хотел поставить лимитер: он дает большую задержку. Вы не могли бы сделать плагин который тупо поднимает уровень с шагом, например в 3db в диапазоне от -60 до 0db. Если получится еще и лимитер с индикатором уровня туда вшить.. будет просто сказка!
upd: это нужно для вокалистов, выставить уровня при Лайве
 
@Wefilev, в секции JS плагинов гора подобных - и с лимитором и с индикаторами.
И все они с нулевой задержкой, как правило.
 
Нашел то, что нужно - MGA JS Limiter только threshold маловат (-30) опустить бы до -50
 
Даже в таком виде, как сейчас - это уже очень хороший инструмент для анализа, это точно говорю, потому что сам искал что-то именно такое.
Точность посемпловая.
https://raw.githubusercontent.com/EUGEN27771/JSFX/master/WaveScope
Никак в толк не возьму - как его установить? Это скрипт? lua? eel? plugin? Его почему-то нет в Репаке... Сильно не бейте))
 

Сейчас просматривают