Roland FR3xb и контроллер№11, который он выдаёт наружу (1 онлайн

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
Будет интересно узнать ответ
Скорее всего буржуи ответят так же, как и в последнем письме на мой вот такой запрос
- >Feature firmware request - "TX controller number" - for example, I want that bellow transmit Modulation wheel (CC01), but not CC11. Is it possible to make TX CC number settings?

они написали:
It coud be possible but I don't know when... We are working to develop a lot of new products for the next year..
I will consider your request but I cannot promise it :)

Have a nice day
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
Мы для вас все, но не можем обещать.
Да в том то и дело, что второе явно, а первым и не пахнет. Иначе бы, например, последняя прошивка уже была на всех сайтах с лета.. Они подчистили основные баги в старшей 7й модели, а 3x вообще задвинули в дальний угол, как будто этой модели нет. Кстати, у 7го такая же беда со ступеньками на экспрессии. Ещё у 7го баяна слабая клавиатура - знакомый уже менял (7й первый, который не FR7XB), возможно из за афтертача, хотя не буду гадать - не знаю. Плюс что-то у седьмых бывает неладное с экранами.
 
Последнее редактирование:

Задвижкин

New Member
21 Фев 2010
17
0
0
Ну тогда я наверное правильно сделал что 3й купил. Жаба задушила, это основное конечно. А во-вторых подумал, что точно не буду использовать в работе 80 или сколько там типов аккордеонов и баянов :smile:
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
А новая прошивка реально дала что-нибудь
Мне - дала, плавнее кривая меха - не стали слышны рывки на тихой громкости, если встроенными звуками играть. я картинку вывешивал в соседнем топике
 

Задвижкин

New Member
21 Фев 2010
17
0
0
Кстати посмотрел сейчас в сет эдиторе для 7го. Там реализована функция двойных регистров для оркестровых тембров)) почему же для 3го не сделали так?
 

Задвижкин

New Member
21 Фев 2010
17
0
0
Мне - дала, плавнее кривая меха - не стали слышны рывки на тихой громкости, если встроенными звуками играть. я картинку вывешивал в соседнем топике
я рывков не замечал у себя. может уже прошит изначально был.
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
отправил сегодня роландам очередной видеовопрос http://www.youtube.com/watch?v=dXBa-Z5Ul8s

Потому как, судя по тому, что нам отвечает европейский роланд на моё последнее видео, "прочитайте инструкцию","прошейтесь последней версией",
они совсем не вникли в мою картинку и думают что мы совсем дремучие, на деревьях сидим
... :dash2:

Please take care to upgrade the FR-3X with 1.04 Software version.
After this upgrade users can choose 4 different settings to manage in the best way the bellows expression:
 

Вложения

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

Задвижкин

New Member
21 Фев 2010
17
0
0
Если я правильно понял, то как раз сохранить как программу. А потом вызвать путём нажатия на кнопку User Program и потом выбрать регистром номер сохранённой программы.
Попробовал. Немного не так. Мне нужно следующее. Поставил аккордеонный тембр 13, далее оркестровый тембр труба, потом органный тембр 5, включил функцию dual. После хочу все это сохранить. Чтобы можно было включить инструмент в следующий раз и все эти тембры и настройки вызвать одним нажатием. Такая функция есть? В мануале не разобрался на эту тему.

У меня прошивка кстати 1.03
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
ну, а вызовом сета эта задача не решается? (после включения инструмента нажать сет, потом кнопкой 0 выбрать один из 4х пользовательских сетов?
Или я что-то не понял?

Насколько я понимаю, в одном режиме (например, аккордеонном) на одной планке регстров не уживутся одновременно тембры аккордеона, оркестровые и органные.(на первом регистре бандонеон, на втором - флейта, на третьем - орган). Они, так сказать, из разных "миров".
 
Последнее редактирование:

Задвижкин

New Member
21 Фев 2010
17
0
0
Да. я так и понял. что нужно просто сохранить каждый инструмент отдельно. Я лишь хотел узнать есть ли функция глобального сохранения всех настроек. Чтобы режимы и инструменты, которые использовались последний раз, сами загружались. Но видимо такой функции нет
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
В программе много всего сохраняется.
Тоесть, если я правильно понял, вызвав программу, мы сразу попадаем в нужный нам сет, в каждом режиме уже стоит нужный нам регистр - который использовался последний раз. Это разве не то?
 

Вложения

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

Задвижкин

New Member
21 Фев 2010
17
0
0
"Если горит индикатор USER PROGRAM, выбор наборов становится невозможным" (мануал, стр. 61)
А мне нужно, чтобы инструмент был обычном режиме и все настройки прежние загружены. А иначе приходится при новом включении переключать разные наборы и заранее включать инструменты (оркестровые, органные, аккордеонные)
Может я просто объяснить нормально не могу :smile: это наверное скорее всего. Спасибо за терпение
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
да, я что-то не понял задачу на самом деле..
 

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
залил видео на ютюб:
Скажите, пожалуйста, как решили проблему со ступенчатостью контроллера? Меня это тоже сильно напрягает, модель 7xb. И, может быть, вы все-таки выложите свой "кондиционер", или подскажете другой способ решения проблемы. Меня интересует только связь контроллера по миди с daw Cubase и контактовскими библиотеками. Может у кого-то есть предположения, как в кубейсе отредактировать записанную автоматизацию контроллера 11 для избавления от ступенчатости?
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
Здравствуйте!
На данный момент нет нормально работающего варианта - проскакивают ошибки. В целом, проковырявшись с этой затеей уже не один год, могу сказать, что получаемый результат взаимодействия баян-миди-секвенсер ни разу не был на 5, скорее это 4-, а то и вовсе трояк.
Мне до сих пор не удалось "уговорить" кондиционер корректно работать - подумываю, может сделать его в другой среде, не в Plogue.

На данный момент кондиционер позволяет переключать штрихи инструментов(выборной клавиатурой), включать запись/воспроизведение, отменять последнее действие(наживая басы в левой). Также есть возможность посылать в секвенсер новую ноту автоматически возникающую от смены меха (для инструментов с RR-семплами), чтобы тремоло звучало разными нотами на сжим/разжим.
Да, проблема ступенек есть и в 7xb, и в 8xb.. но я не теряю надежды всё-таки доделать кондиционер до какого-либо рабочего варианта, которым можно будет делиться. Ещё сейчас я не в россии, под руками нет ни инструмента, ни программы/патчей, смогу продолжить не ранее конца марта.
 
Последнее редактирование:

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
Спасибо за ответ! Надеюсь, что вы сможете доделать этот кондиционер. Удачи и всех благ!!!
 

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@V_ad_im, Здравствуйте! Обращаюсь еще раз к Вам с просьбой по поводу кондиционера. Может выложите хоть какой-нибудь вариант, если что-то не так работает, ничего страшного. Пытался разобраться в Plogue, но не понял, какими средствами это можно сделать. Очень надеюсь на Вас.
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
Здравствуйте! прикрепил сюда простенькую версию из первых, в ней толком удобств ещё не было, но зато она меньше глючила.
Я примерно понял некоторые недостатки Бидуле - дело в самой Бидуле, в том каким образом в ней происходит обработка миди событий. Она попросту не успевает их обрабатывать, особенно если несколько нот (аккорд) приходит на один миди-тик.. Поэтому в настоящий момент, когда выдаётся время, подбираюсь поближе к матчасти, чтобы написать для бидуле пару-тройку модулей на C++, чтобы, в частности, кондиционер заработал без глюков и с меньшей задержкой. Так что я сейчас пытаюсь решить эту проблему несколько более технологичным методом.

В зипе два файла - для запуска в стендалонном Бидуле и, как вариант, для запуска внутри Бидуле-VSTi.
Надо вместо входного моего порта вам указать (вставить) свой (к которому подключен баян по миди). в итоге на треке в кубейсе появится дополнительные 4 входных порта - выходы из Бидуле: Right (правая клавиатура баяна), Bass, Chord (аккорды) и Elective (выборка).
Ещё тут есть возможность скопировать сообщения меха (CC11) на контроллер модуляции СС01 - для некоторых инструментов может пригодиться. Чтобы это работало, правый ремэппер надо перевести в режим байпас. Чтобы работало с ремеппером - перевести его в режим Processing. Чтобы сообщения меха не отсылались на СС1, перевести его в режим Mute.

Да, и ещё такой момент. Наличие отдельных 4 портов-входов с баяна - это с одной стороны удобно, но есть и другая сторона - если вы пользуетесь ретроспективной записью в кубейсе, она перестанет работать, точнее будет работать с глюками. Это из-за того, что она будет получать сигнал сразу с 4х портов баяна. Поэтому, либо мьютировать в бидуле ненужные порты, либо не использовать в кубейсе ретроспективную запись. Пока что не реализовал обход этого неудобства (хотя есть некоторые идеи).
 

Вложения

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

dr-music

Well-Known Member
8 Апр 2007
2.607
5.582
113
Moscow
Она попросту не успевает их обрабатывать
А если через Bome Translator? Кажется, эту программу невозможно загрузить так, чтобы она что-то не успела. Да и работы тут (если я верно представляю задачу, V-баяна-то у меня нет) на час максимум.
Могу описать алгоритм, как я его вижу.
Последнее значение СС11 запоминается в переменной. Каждое следующее событие сравнивается с записанным в переменную и запускает многократный таймер с количеством повторов в разницу между значениями СС. Таймер посылает СС11 с шагом 1. Таймер в Bome выставляется по миллисекундам (не знаю, какое значение подойдет – 1, 2. 3...). Еще каждое новое сообщение СС11 на входе (полученное с баяна) должно убить предыдущий таймер (на случай, если он еще не закончил работу). Вот вроде и все.
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
запускает многократный таймер
не совсем понял - а что собой представляет этот таймер?

Задача такая:
1) посчитать две разницы между значениями A и B (временнУю TimeDelta и разницу значений СС ValueDelta)
2) Посчитать, сколько условных временных отсчётов (Step) помещается во временнОй разнице TimeDelta: StepQuant = (TimeDelta/Step)
3) Поделить ValueDelta на StepQuant - получаем число StepDelta, которое на которое надо прибавлять значение на каждом шагу
4) Построить интерполяцию из количества шагов = StepQuant, начиная от первого значения (A), заканчивая последним (B), каждый раз прибавляя StepDelta

Можно такое сделать с таймером?
В планах ещё сделать не только простую интерполяцию, но и , как вариант, кубические сплайны или кривую Безье (см картинку)

должно убить предыдущий таймер (на случай, если он еще не закончил работу)
если так делать, то мы получим обрыв нашей плавной горки и резкий скачок к следующему значению..
 

Вложения

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

BAYANBAYAN

Active Member
4 Мар 2010
515
246
43
@V_ad_im, Спасибо, что откликнулись и поделились этой версией. Буду пробовать. Сейчас перехожу на Рипер, так что с кубейсом вопрос пока не актуален.
 

dr-music

Well-Known Member
8 Апр 2007
2.607
5.582
113
Moscow
Пара вещей, которые я не понимаю.
не только простую интерполяцию, но и, как вариант, кубические сплайны или кривую Безье
Это же все должно делаться внутри контроллера («микросхемы») внутри баяна, не? ADC оцифровывает с битовой избыточностью (ну, скажем от балды, 4096 значений) датчик давления (мехА баяна), а после контроллер цифровым образом фильтрует данные, кладет их на сетку из 128 уровней (согласно заданной кривой) и формирует MIDI события. После формирования MIDI-событий (сс11) той избыточной информации, полученной при оцифровке датчика, уже нет, и сплайны с Безье будут уже чистой химией.
временнУю TimeDelta
Это если информация, например, записана в DAW. А как брать TimeDelta в реалтайме? Любой алгоритм будет применяться уже после наступления второго (последующего) события.

Я представляю проблему так. Пришло сообщение сс11=4. А следующее идет сс11=9, т.е. с разрывом, хотя предполагалось плавное движение.
Bome Translator работает с MIDI, а не с данными ADC, поэтому функций из «настоящей математики» в нем нет. Но есть все арифметические функции (+ - / * mod...) и логические функции (or, xor, and, shift...). В Bome можно писать строки условия (if... then...), делать переходы (goto) и всю прочую скриптовую шнягу.

То, что я предлагал в предыдущем посте, выглядит так. Пришло сообщение сс11=4 – записалось в переменную. Пришло следующее сс11=9 – Bome посчитал ValueDelta и запустил многоразовый таймер, который ВМЕСТО сс11=9 пошлет 9-4=5 раз сс11 с шагом +1 (5, 6, 7, 8, 9) и временным интервалом в несколько <=1, 2, 3...> миллисекунд. Разумеется, это тоже будет с опозданием, но оценить приемлемость задержки можно только тактильно.
Можно задать разный шаг для разных ValueDelta. Например, если ValueDelta>16 и <32, то таймер будет работать с шагом +/-2, если ValueDelta>32 и <64, то с шагом +/-4. Можно сколько угодно создавать таймеров и условий.
Упомянутое убийство таймера (kill timer) это чисто техническая вещь. Если пришло третье сообщение в то время, когда таймер еще отрабатывает разницу между первым и вторым, то таймер просто перезапустится от последнего отработанного значения.

Другой алгоритм – «тупо» создать таблицу типа:
if cc11<3 then cc11=1
if cc11<5 then cc11=2
и т.д.. Т.е. просто перенести возможные разрывы в нижнем диапазоне значений в другой, менее чувствительный диапазон. Опять же, без тактильной проверки баянистом цифры останутся спотолочными.

На сайте Bome есть бесплатная версия Pro, но она работает только 20 минут – для программирования это пытка. Но я мог бы (не раньше вторника) накидать стартовый пресет на пробу.
 
Последнее редактирование:
  • Like
Реакции: V_ad_im

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
Это же все должно делаться внутри контроллера («микросхемы») внутри баяна,
в том то и дело, что должно, но изготовителям пофиг на то, что они сделали по сути брак и пофиг на просьбы пользователей.
Поэтому приходится задним числом исправлять.

ADC оцифровывает с битовой избыточностью
В данном случае у нас проблема с частотой отсылаемых значений из баяна - он их реже чем нужно отсылает. И есть ощущение, дело не в цифровой фильтрации, а в том, что он просто не умеет делать это быстрее.

А как брать TimeDelta в реалтайме?
В бидуле есть такая функция, уже готовая - она показывает время между последним и предпоследним событием. Так и называется, кстати, TimeDelta. Поэтому есть возможность интерполировать и время, и значение, чтобы вообще не было перепадов.
 
Последнее редактирование:

dr-music

Well-Known Member
8 Апр 2007
2.607
5.582
113
Moscow
ни сделали по сути брак и пофиг на просьбы пользователей
С велосити у Фатаровских клавиатур ровно та же фигня, user=911 не зря переделывает электронику в новой свежекупленной клавиатуре. А оцифровка колес модуляции/питча так ваще мрак... И так десятилетиями.
бидуле есть такая функция, уже готовая
Дык это я понял, что есть. Но не вижу в ней большого толку, если честно. События УЖЕ пропущены, если мы про реалтайм говорим. Тут бы как можно быстрее заполнить пропуск, и большее значение имеет скорость реакции SoundEngine на входящие СС. Думаю, обсчет TimeDelta и замедляет работу Bidule. Bome Translator декларирует максимальную скорость обработки (задержки в микро-, а не в миллисекундах), не создавая внутри себя временной шкалы. В моем случае (CMC-FD) Транслятор обрабатывает без пропусков 4 питчбенда в реалтайме, дальше я не проверял.
 

V_ad_im

Well-Known Member
1 Ноя 2006
2.696
2.270
113
48
События УЖЕ пропущены, если мы про реалтайм говорим. Тут бы как можно быстрее заполнить пропуск
нам для заполнения в любом случае надо знать два события из прошлого, и заполнять пробел между ними. Потому как для заполнения пробела между уже состоявшимся событием и тем, которого ещё не было, нам нужно быть телепатами. :) Куда строить кривую - вверх или вниз? А если не угадаем?
В моём алгоритме есть некий временной порог (очень небольшой), если TimeDelta его не превышает, то патч не выдаст на выход последнее событие, а сначала выдаст построенную интерполированную кривую, и только потом последнее событие, отстоящее по времени на величину, равную TimeDelta. Повторюсь, это происходит в крайне малых временных рамках и при игре эта задержка практически не заметна. Если TimeDelta больше порога (т. е. мы перестали двигать мехом) то патч выдаёт кривую и последнее событие отстоящее по времени на величину, равную этому порогу ("не дождался, тогда делает по-своему")

т. е. патч работает как банк-посредник - не даёт деньги клиенту, пока их не "прокрутит"))
 
Последнее редактирование:
  • Like
Реакции: dr-music

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