Bidule и создание любой сложности модуляции с любым параметром (1 онлайн

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Ловлю такую же самую вечную инверсию, только реже((
Вы могли бы показать, что за кнопка Reset Plugin и где она ? Например, где она, когда бидюля в Рипере плагином (знаю, что Вы тоже Рипере) ?

P.S.
Если Вы на форуме официальном есть, может, при случае, спросите там, может есть решение другое всё-таки ? :) Честно говоря, я был уверен, что есть готовое аудиореле, как в Реакторе. Я не ожидал, что вроде такой функционал у программы богатый и такие конструкции делаютв ней, а ради такой примитивной штучки, как аудиореле столько костылей прикручивать и всё равно не стабильно.
[DOUBLEPOST=1426268175,1426268105][/DOUBLEPOST]А извините, не заметил, что вы уже скриншот показали, спасибо.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Ловлю такую же самую вечную инверсию, только реже((
Пришлите проект в котором ловите инверсию, я не могу её поймать.
Если Вы на форуме официальном есть, может, при случае, спросите там, может есть решение другое всё-таки ?
Мне придётся им описать все те случаи при которых это не работает. Аудио реле в Бидюле нет, вернее я не нашёл такого Аудио Реле с миди управлением.

Честно говоря, я был уверен, что есть готовое аудиореле, как в Реакторе. Я не ожидал, что вроде такой функционал у программы богатый и такие конструкции делаютв ней, а ради такой примитивной штучки, как аудиореле столько костылей прикручивать и всё равно не стабильно.
Так и я не ожидал - начиналось то всё с двух-трёх вариантов расположений нот - они у меня работают абсолютно стабильно.
А то, что для простой функции нужно сложную схему делать - так вы не видели ещё сложных :)
Выложите проект с примерами на которых ловите инверсию.
 

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Ну всё равно странно, столько лет программа существует и никто аудио реле не сделал))) С этой версией я пока не научился специально инверсию ловить, с миди-клавы ловится. Научусь в проекте - выложу.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Ну всё равно странно, столько лет программа существует и никто аудио реле не сделал))) С этой версией я пока не научился специально инверсию ловить, с миди-клавы ловится. Научусь в проекте - выложу.
Что я только не вытвоярял с внешней клавы - не смог подвесить плагин. Вешается он ТОЛЬКО если нажав ноту выдернуть питание или миди шнур.

Сделайте мне скриншот вот этого места в плагине, когда завесите с внешней клавы -



Достучаться до него можно кликнув два раза ЛКМ с Ctrl сначала по группе Audio Relay Smooth_N_v5, потом так-же по NoteOnOff_Function.

PS: Я подвесил плагин на инверсию только в ситуации, когда тарабанил по клавиатуре со скоростью пулемёта хаотично..... Не думаю, что это есть рабочий режим, но посмотрю, что и с этим можно сделать.
 
Последнее редактирование:

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Специально пока я не научился инверсию Верный способ есть, но долгий. Простейшая ситуация вроде этой:
Перехлёстов нот нет. Как добиться инверсии: поставить играть в луп эти 4 такта и пойти покурить или попить чай на минут 5-7. Когда вернётесь, будет играть уже с инверсией. Подвешу и сделаю скриншот
nnn.png

[DOUBLEPOST=1426278133,1426277797][/DOUBLEPOST]Вот скриншот, тольк это не иверсия, а зависон реле:
nnnn.png

[DOUBLEPOST=1426278853][/DOUBLEPOST]А вот инверсия:
hhh.png
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Да, это оно....

PS: Только я вот 20 минут ганял ваших 4-е такта с тремя нотами в стык - и ни чего :( всё работает как часы.
 
Последнее редактирование:

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Что ж, попробую закономерность выявить.

P.S.
У меня всё равно в голове совершенно не укладывается данная история)) Вот как так ? Все VST синты работают с note-off/on и там было бы глупо сказать, что вот у вас тут сочетания нот неудачные или ноты не отквантайзены и перекрываются, длина их не та, поэтому синт глючит, инвертируется)) Есть Реактор, в котором вообще все инструменты с миди завязаны на абсолютно базовом системном модуле Gate– он и триггер всего чего можно и управляет кнопками, стартует секвенсоры, генераторы чтения и записи ивент и аудио таблиц, массивов, огибающих, да практически вся логика на нём завязана. И вот Бидьюль)) Вроде далеко не первый год существует, очень много модулей стало, вижу вот, вещи сложные делают люди. И тут, если упростить, новичок из Реактора, грубо говоря, спросил: ребята, как сделать, чтобы для управления получать статус, нажата какая-нибудь нота или нет)) И тут оказывается, что это “жёсткая хрень” какая-то с точки зрения Бидьюля, но тогда как остальное работает всё ? Если такая простецкая вещь, как статус нажата нота или нет, такой ад требует, то должна вся миди-обвязка Бидьюля глючить, завязанная на нотах, у любых структур. Или я переоцениваю Бидьюль или не понимаю, для чего он предназначен, в общем, очень странная ситуация….
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Да нет, скорее всего я не верный метод выбрал.
Попробую спросить на оф форуме всё-таки. Вот только не знаю как и объяснить проблему.
Я не нашёл в бидюле Одного Единственного нужного в этой ситуации модуля - который превращает 127 одновременно нажатых или отпущенных нот в 127 последовательных параметрических команд. Я его сделал сам - видимо не умело.
У меня куча разных управлялок на Бидюле сделано и работает отлично, модуляций разнообразных, сложных кросфэйдеров и всё управляется по МИДИ.
Только я ни когда не сталкивался с ситуацией, когда, грубо говоря сложную нотную партитуру нужно превратить в однозначный програмный код.
Но я написал - по скольку ни разу такой задачи небыло, она мне была и интересна и в тоже время вызвала трудности.
[DOUBLEPOST=1426289043,1426288726][/DOUBLEPOST]
Что ж, попробую закономерность выявить.
Боюсь не выявите - это глюк не работающей нормально функции. Он может быть вызван, например не верно выбранной мной задержкой между приходящими одновременно нажатыми/отпущенными нотами - а проверить это ТРУБЫ - это переписать 127 чисел по новой.
 
Последнее редактирование:

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Видимо, не 127, ведь помните, вот этот ваш пример выбивыает реакторовский Gate из колеи, когода он в моно-режиме. Но это, наверное, единственный или почти единственный метод, как выбить Реакторовский Gate из колеи, других не знаю, сколько лет Реактор использую. У него всё равно ничего не зависает, а вряд ли этот их штатный Gate каким-то нанокосмическим модулем является с точки зрения логики))
Предполагаю, что 127 нот используется, когда реакторовкий Gate в полифон режиме, тогда он ещё и помнит, какая именно нота нажата, но в данном случае это совершенно лишнее.

 
Последнее редактирование:

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
а вряд ли этот их штатный Gate каким-то нанокосмическим модулем является с точки зрения логики)).
Для построения логики, самой простой, нужны все нужные логические элементы. Если их в используемой вами программе нет, либо вы не знаете где их искать - вы их строите из тех, что есть - что я и сделал.
Нанокосмические технологии тут не при чём, код Реакторского Gate может быть в сотни раз сложнее того, что я из кубиков сваял в Бидюле - для вас же внешне это простой себе кубик со входами-выходами.
Ну и с точки зрения работоспособности мой написанный модуль от Реакторовского ни чем не отличается, раз есть случай выбивающие и его из рабочего состояния. Что собственно подтверждает, что задачка только на поверхностный взгляд проста.
 
Последнее редактирование:

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Ладно, раз всё, похоже, увядает, то придётся "любой сложности :)" помочь дополнительными силами :).

Костыль для данной разработки таков: чуток помочь Реактором + бидьюлевская группа из поста #18 (в которой ещё нет подвешивающего фикса).

Костыль таков:
gggg.png


То есть, миди к вашей группе подключаем через Реактор, а не напрямую. Таким образом получается, что:
- первый случай со стыками нот вплотную вы решили в группе из поста #18
- второй случай с накладкой конца и начала нот в бидьюлевской группе не решён, но теперь этим решением занимается Реактор

Таким образом: приходит какая-либо нота в Реактор, в момент 1 на выходе Gate (он в моно включен) триггерится Note-On ноты 60, в момент 0 - триггерится Note-Off, то есть группа аудиореле всегда получает ноту 60. Всё работает очень хорошо :)

Посему, большое спасибо за помощь :) Если всё же, при случае, попадётся реализация, при которой можно обойтись без Реакторовского костыля - было бы вообще супер, но в целом и так вполне ОК :)
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Ладно, раз всё, похоже, увядает, то придётся "любой сложности :)" помочь дополнительными силами :).
Формулировка - "Любой Сложности" не предполагала искусственный интеллект, который бы предугадывал не стандартные действия пользователя.
Midi тригер НОРМАЛЬНО работает когда в пиан роле есть ноты у которых есть начало и конец, они не совпадают, что приводит к не определённости и поиску костылей.
 
  • Like
Реакции: Vadim_K

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Понимаю. Но фактически, что делает здесь мой Реакторовский костыль это лишь то, что в этом случае после окончания первой ноты ваша группа не получает Note-Off. То есть данный случай это Note-On первой ноты -> Note-On второй ноты -> Note-Off второй ноты. И вот так всё отлично работает с версией из поста #18, вообще сбоев нет. То есть, группа получает Note-On C5 -> Note-On C5 -> Note-Off C5.
2.png
 

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Всё хорошо, держит до упора. Note-Off только от последней длинной ноты проходит.
scr.png

[DOUBLEPOST=1426624020,1426623188][/DOUBLEPOST]Да, действительно хитро Реакторовский гейт устроен, как он знает, что Note-Off от длинной ноты ещё придёт позже и что Note-Off от средних нот выдавать не нужно. И правда искусственный интеллект какой-то получается)))
[DOUBLEPOST=1426624277][/DOUBLEPOST]А не, нет искуственного интеллекта никакого:)
Вот так уже после средних нот Note-Off идёт:
scr2.png


Но если длинную ноту поставить выше всех остальных, то по ней будет Note-Off. Может Рипер посылает в VST ноты снизу вверх и какая-то микро-задержка между нотами возникает (ведь не могут совсем одновременно 2 миди-сообщения прийти), так что Реактор всегда получает верхнюю ноту последней и по ней Note-Off тогда выдаёт ? Мне кажется, что-то с этим связано это.
 
Последнее редактирование:

EUGEN27771

Well-Known Member
23 Апр 2010
2.293
1.995
113
Может Рипер посылает в VST ноты снизу вверз и какая-то микро-задержка между нотами возникает
так всегда и происходит,и не только в Рипере,байты же в миди идут последовательно.
MIDI в деталях
"Последовательный интерфейс означает то, что импульсы по MIDI-кабелю передаются один за другим, подобно отряду муравьев, шагающих колонной по одному. Так что в каждый момент времени приемника достигает только один импульс. Значит, передать одновременно несколько сообщений через один MIDI-разъем невозможно. При игре аккордов ноты каждого аккорда будут передаваться последовательно. Фактически, вместо аккордов синтезатор-приемник будет исполнять только очень-очень плотное арпеджио.
По одному MIDI-кабелю одновременная передача нескольких сообщений невозможна.
Этот факт служит одним из главных аргументов в устах людей, критикующих протокол. На слух запаздывание каждой последующей ноты аккорда неуловимо (так как составляет менее половины миллисекунды), да и к тому же в реальной жизни ни один исполнитель не сыграет аккорд, абсолютно одновременно взяв все его ноты. Однако это не многих успокаивает — все-таки гораздо лучше иметь точную во времени систему."
 
Последнее редактирование:
  • Like
Реакции: Vadim_K

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Да, тогда всё сходится :) Значит Реакторовский Gate не посылает Note-Off от текущей ноты, если до её Note-off успел прийти Note-On другой ноты, вот весь искусственный интеллект :)
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Может Рипер посылает в VST ноты снизу вверх и какая-то микро-задержка между нотами возникает
так всегда и происходит,и не только в Рипере,байты же в миди идут последовательно.
Беда в том, что в Bidule с MIDI не возможно заниматься вычислениями и элементарными логическими операциями, нельзя сравнивать значения контролеров и т.п.
Делать это можно только переведя MIDI в Parametr. Но все модули, которые переводят MIDI в Parametr не понимают ни как одновременного поступления на MIDI модуль MIDI сообщений - по факту на выходе Parametr-а имеем еденичный сигнал нижней ноты (причём, кстати, я нашёл случаи, при которых и это утверждение не верно - если стартануть Play Рипера с середины пачки нот - возьмёт с верхней).
(Проверял тщательно только с контролером Note, но думаю, с другими тоже самое будет!)

Да, тогда всё сходится :) Значит Реакторовский Gate не посылает Note-Off от текущей ноты, если до её Note-off успел прийти Note-On другой ноты, вот весь искусственный интеллект :)
А почему-же тогда там не работает нормально последний приведенный вами вариант?

Но я кажется нашёл способ в Bidule Решить эту задачку -

В общем проверяйте!
Я проверил ВСЕ приведенные здесь сочетания и варианты с любым кол-вом нот - у меня работает как часы.
Если и эта группа у вас работать не будет - тогда точно к Автору Bidule обращусь за помощью, но добью эту задачку - она меня разозлила, какое-то чувство не полноценности начало развиваться.... :)
 

Вложения

Последнее редактирование:
  • Like
Реакции: keyboarder и Vadim_K

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Vadim_K сказал(а): ↑
Да, тогда всё сходится :) Значит Реакторовский Gate не посылает Note-Off от текущей ноты, если до её Note-off успел прийти Note-On другой ноты, вот весь искусственный интеллект :)
А почему-же тогда там не работает нормально последний приведенный вами вариант?
Ну как же ? Потому что, как мы уже выяснили со ссылкой от @EUGEN27771 , хост посылает ноты снизу вверх в случае их одновременного расположения старта. То есть, длинная нота посылается второй, а 4 и 5 нота (если смотреть снизу вверх) приходят после неё. Всё логично - Реакторовский Gate получает Note-On нот 4 и 5 уже позже Note-On длинной ноты и поэтому реагирует теперь уже на первый пришедший Note-Off после этого.

Сейчас проверим :)
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Ну значит я в Bidule создал всё-таки искусственный интеллект, так как он реагирует именно так как вы хотели и по барабану ему какая нота какой выше - он за всеми следит теперь. :)
[DOUBLEPOST=1426635309,1426635136][/DOUBLEPOST]
Ну как же ? Потому что, как мы уже выяснили со ссылкой от @EUGEN27771 , хост посылает ноты снизу вверх в случае их одновременного расположения старта.
Нет, это не совсем так. Можете в этом убедиться, стартанув этот вот пакет нот с середины - первой тогда прийдёт верхняя, а не нижняя нота.
 

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
Да ! Вот этот вариант работает как надо, стабильно и действительно вот эту ситуацию держит (а Реакторовский Gate в моно-режиме нет - только в поли) :) Огромное спасибо !!! :)
Note007.png

Я посмотрел, как вы сделали - выглядит надёжно :) Хоть в Бидьюль я пока ноль, но, если я правильно понял, у модулей Note Extractor вы взяли гейт (аналогичный как в Реакторе, как я понимаю, 1 и 0) и когда хотя бы один гейт = 1, на выходе всего модуля 1 (после сравнения с 0).
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
В общих чертах да.
Там ключевым является 128-и канальный Note сплитер, т.е. каждая приходящая нота поступает на свой выход и дальше каждая на свой модуль превращения ноты в параметр.
А вот на модуле Экстрактора - на первом выходе имеем частоту ноты, на втором - велосити, третий даёт 1 если нота нажата и ноль, если отжата, а четвёртый тригером 0-1-0 срабатывает когда приходит Note Off.
Я подключил все 128 выходов с каждого третьего выхода Экстрактора к модулю сравнения входа с нулём и получается так, что пока хоть одна нота нажата - нуля не будет, а значит на выходе модуля будет еденица, а вот только когда все ноты отжаты на входе в модуль сравнения появляется ноль, и на выходе соответственно ноль.
Ну и в конце нода модулятора управляющего Кросфэйдером - в котором, кстати, можно менять тип кривой этой самой переброски. Также, если это необходимо, можно сделать ещё и релиз меняющийся на переброску....
 

Vadim_K

Well-Known Member
29 Май 2004
1.189
115
63
42
ОК, значит, я правильно понял.
А что вы имеете ввиду под релизом, меняющимся на переброску ?
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Не моментальная переброска, а как делал раньше - со сглаживанием.
Ну и у КросФэйда, в отличии от микшера, есть выбор кривых перевода звука с одного в другой каналы, я их вывел в GUI ноды.
 
28 Ноя 2013
44
1
8
Петрозаводск
@Aleksandr Oleynik, Здравствуйте! подскажите пожалуйста, как запрограммировать с помощью бидюли смену миди канала в записываемой ноте. идея такая - я записываю инструменты с миди клавиатуры. и хочу, чтобы сообщение проходило как бы через фильтр, который меняет в нем миди-канал.
 

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Бидюля для этого вообще не нужна!
Для этого достаточно поставить в Input FX плагин от PizMIDI - midiChannelize -
 

Вложения

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.064
113
62
Киев
Бидюля для этого ну просто не нужный монстр!
Она нужно вот для такого -
 
Последнее редактирование:

Сейчас онлайн (Пользователей: 0, Гостей: 1)