Радикальная переделка MIDI-клавиатуры Fatar VMK188+

  • Автор темы Автор темы user811
  • Дата начала Дата начала
она как бы и не отпускается
Вот именно, что "как бы". А реально её всё-равно надо сперва отпустить.
Т.е. никакого увеличения скорости не получается.
Данную фичу, наверное, справедливее с сустейном сравнивать.
 
Вот именно, что "как бы". А реально её всё-равно надо сперва отпустить.
Т.е. никакого увеличения скорости не получается.
Данную фичу, наверное, справедливее с сустейном сравнивать.
Ну так ведь педаль сустейн это и есть равносильно нажатой клавише, если рассматривать одну клавишу, а задержка команды нота-офф дает этот сустейн на конкретную клавишу при репетиции, при том, что другие не в сустейне, скажем так. То есть я могу два раза взять "ми" как под педалью, по идее это не то же самое, как два "ми" отрывочно при той же скорости. Увеличения скорости и не должно быть, там не увеличение скорости, а непрерывность звука одной последовательно дважды прожатой ноты.
 
То, как у меня в прошивке реализовано, позволят просто дать несколько подряд команд Note On без выдачи Note off между ними. Звукогенератор при этом как бы отображает повторный удар молоточка по уже звучащей струне. Что в принципе и есть двойная репетиция. А клавишу в любом случае можно не до конца отпускать, поскольку датчики считываются в точках, близким к нижнему положению клавиши.
 
То, как у меня в прошивке реализовано, позволят просто дать несколько подряд команд Note On без выдачи Note off между ними. Звукогенератор при этом как бы отображает повторный удар молоточка по уже звучащей струне. Что в принципе и есть двойная репетиция. А клавишу в любом случае можно не до конца отпускать, поскольку датчики считываются в точках, близким к нижнему положению клавиши.
А в связи с этим у меня такой вопрос-уточнение. Если после репетиции двойной или даже просто после первого удара, тут же произвести второй удар (получится на этом этапе двойная репетиция), но после этого второго удара удерживать дальше клавишу нажатой? Как будет? После этой двойной репетиции звук будет продолжаться пока я держу клавишу, как обычно, или, несмотря на нажатие клавиши после последнего удара, будет в какой-то момент сбой, как расплата за то, что была уловка в середине маневра и мы после задержки Note off получим прерывание звука, несмотря на удержание нами клавиши?
И еще вопрос, который давно хочу вам задать. Подобные чудеса возможны только с фатаром? Разве все ц.п. в каком-то плане не схожи и разве нельзя вот так же по тому же принципу увеличить время Note off, ну то есть то же самое сделать на другом контроллере или плате уж не знаю, как корректнее выразиться?
 
А в связи с этим у меня такой вопрос-уточнение. Если после репетиции двойной или даже просто после первого удара, тут же произвести второй удар (получится на этом этапе двойная репетиция), но после этого второго удара удерживать дальше клавишу нажатой? Как будет? После этой двойной репетиции звук будет продолжаться пока я держу клавишу, как обычно, или, несмотря на нажатие клавиши после последнего удара, будет в какой-то момент сбой, как расплата за то, что была уловка в середине маневра и мы после задержки Note off получим прерывание звука, несмотря на удержание нами клавиши?
И еще вопрос, который давно хочу вам задать. Подобные чудеса возможны только с фатаром? Разве все ц.п. в каком-то плане не схожи и разве нельзя вот так же по тому же принципу увеличить время Note off, ну то есть то же самое сделать на другом контроллере или плате уж не знаю, как корректнее выразиться?
Все будет как положено. Репетиция - это просто две команды Note On подряд. Первая дает начальный звук, вторая - звук по уже звучащей струне (номальные piano-vst и звукогенераторы такую ситуацию обслуживают. Далее, если продолжать держать клавишу, никаких команд не будет. Если у нас звук ф-то, то он как и положено затухнет. Если орган, то так и будет играть, пока клавишу не отпустим. При отпускании клавиши разом генерируется столько note off, сколько было note on. Так положено по правилам MIDI.

То, что у меня сейчас сделано, аппаратно и программно расчитано на конкретнуе модели: VMK 161/176/188 и VMK 161/176/188plus
По разъемам плата совместима с любыми пианинками, где используется клавиатура Fatar TP/40. Но все остальные контролы работать не будут, поскольку аппаратно и программно все расчитано только на упомянутые модели.

Я по мере наличия времени медленно пилю более универсальный вариант, но стимулов не очень много у меня. Текущий проект я сделал на энтузиазме, его нельзя назвать сколько-нибудь коммерчески успешным. Скрорее он принес мне пользу в смысле повышения разных скилов.
 
  • Like
Реакции: dr-music и sintez
При отпускании клавиши разом генерируется столько note off, сколько было note on. Так положено по правилам MIDI.
Спасибо, в целом ясно но не совсем уверен. При опускании клавиши генерируется столько note off, сколько было note on, но ведь мы не отпускаем второе нажатие, значит у нас сгенерировано 2 раза note on, но только один раз note off. То есть он не ждет второй команды note off, чтобы уравновесить две перед тем полученный note on, он все равно выдаст затухание звука, хоть фактически в данный момент будет прижата резинка на плате?
 
но ведь мы не отпускаем второе нажатие, значит у нас сгенерировано 2 раза note on, но только один раз note off.
Все чисто программно. Считается, сколько было note on, а когда клавиша отпускается, сразу пачкой генерируется столько же note off
 
  • Like
Реакции: Morpheus
Все чисто программно. Считается, сколько было note on, а когда клавиша отпускается, сразу пачкой генерируется столько же note off
Ну так пока мы не отпустили клавишу, то "пачкой" note off значит еще не генерируется? То есть пока не отпустили - будет звучать, взятая нота вместе с той, что была взята за долю секунды до того (а первая команда note off как бы ждет своего момента, чтобы "пачкой" реализоваться после отпускания клавиши второго нажатия) ? А потом при отпускании сгенерируется сразу две команды note off, что по сути как одна?
Там ведь вроде так: команда note on получается после нажатия двух контактов, потом один контакт размыкается, но пока не разомкнут другой контакт - команды note off еще нет. Верно? В нашем случае после размыкания двух контактов идет задержка формирования команды note off, и когда она уже должна была быть исполнена и звук прерваться, у нас уже снова там прижата резинка-контакт, так как в моем примере мы держим клавишу нажатой после второго прожатия. Я все верно учел? В связи с этим тогда не ясно, точно ли сигнал прервется несмотря на нажатую клавишу, которая удерживается, пока она удерживается. Или все же не прервется. Или команда note on формируется вовсе не замыканием только двух контактов на плате?
 
Как-то сложно вы написали.
1)жмем клавишу.
2)Замыкаются два контакта
3)Генерируется note on
4)отпускаем клавишу.
5)контакты размыкаются
6)ждем. Если через заданное время ничего не произошло, генериуем note off
7)Если за это время снова нажали клавишу и замкнули оба контакта, то снова note on и опять начинаем отсчет времени
8)опять отпускаем клавишу, и опять ждем. Если нажатий больше нет, то генериуем два note off подряд
9)а если опять нажали в этот промежуток времени, то снова note on.
10)Если время прошло, а клавишу больше не жмем, то генеририруем столько note off, сколько было незакрытых note off
 
  • Like
Реакции: sintez
5)контакты размыкаются
6)ждем. Если через заданное время ничего не произошло, генериуем note off
7)Если за это время снова нажали клавишу и замкнули оба контакта, то снова note on и опять начинаем отсчет времени
Ага, ясно, спасибо. Так мне понятнее.
Нюанс вот такой еще. Мы же замыкаем не одновременно, а в начале один контакт - потом другой, так же и размыкаются контакты не одновременно, а сначала один, а потом второй. В связи с чем вопрос, оформлю по типу вашего ответа:
1. замыкается один контакт
2. замыкается второй контакт (и этим формирует команду note on)
3. размыкается один контакт
4. размыкается второй контакт (тут идет ваша задержка команды note off, которая берет обратный отсчет)
5. замыкается один контакт снова
6. ..а вот тут если не замкнется второй контакт для формирования второй команды note on, то что будет при этом одном замкнутом контакте во время вашей задержки команды note off? Сработает команда note off все равно? Или ваша задержка команды note off продлится, так как один контакт все же фактически зажат и мозг контроллера подумает, что это просто не дана еще команда note off?
--
Или один контакт тут это как считай ничего?
 
Один контакт ничего не значит. Событие - это всегда последовательное замыкание или размыкание двух контактов.
 
  • Like
Реакции: sintez
Один контакт ничего не значит. Событие - это всегда последовательное замыкание или размыкание двух контактов.
Если я не надоел.
А как устроена педаль сустейн? Она дает всем клавишам возможность миновать команду note off. Как это реализовано простыми словами если объяснять? Почему нельзя вывести для каждой клавиши свой сустейн, грубо говоря?
 
Последнее редактирование:
Один контакт ничего не значит
Ну, так и получается, что клавишу надо полностью отпустить, т.е. никакого увеличения темпа не получить.


как устроена педаль сустейн
Сустейн - отдельная команда в протоколе МИДИ.
 
Ну, так и получается, что клавишу надо полностью отпустить, т.е. никакого увеличения темпа не получить.
Оба контакта расположены в нижней четверти траектории клавиши. Так, что можно не до конца.
 
На 188 пропало midi. Втыкаю кабель и дисплей гаснет с сильным перегревом транзистора на плате STM. Как показали консультации с К. вышла из строя Большая Плата (далее БПл). Прозвонка нехитрых цепей БПл КЗ не показала, на 5 контакте МИДИ - 3.3 вольта, на обоих портах. Прозвонка Кабеля тоже не дала КЗ. После этого "отвала" МИДИ пропал цифровой шум, перестали выдаваться хаотичные eventы. И, да, сначала это проявилось после того, как очистил флешку и вставил чистую. Потом вернул один пресет проблема ушла (вставка кабеля не нагружала транзистор и пианино не уходило в даун), но после перезагрузки опять вернулась. Подозреваю нехватку напряжения портах МИДИ, думаю шунтировать, по совету К. 100 Ом резисторами. Но раньше работал МИДИ и на 3.3 В, проблем, кроме хаотичного шума не было. Элементы не выпаивал, тыкал прямо на плате. Хотя может стабилитрон накрылся?

Может кто помочь советом, куда дальше смотреть?
 
Последнее редактирование:
С чего бы это? Или о каком контакте речь?


Попробуйте обратиться к Д. :Dle60:
К. - это автор темы ;) и один из разрабов этой платы

5й контакт на порте, там, где по стандарту должно быть +5В, но автор снизил рабочее напряжение, по причине работы STM на 3.3В. Возможность возврата протокольного напряжения есть, посмотрите ближе к началу темы, там Автор показывает, как это сделать.

Упс, виноват, 2й - это земля. 5й - +5
 
Последнее редактирование:
Мне кажется, кроме меня вряд ли кто еще ответит на ваши вопросы. Так что звоните, или в личку пишите.
 
Я как таковую приципиальную схему даже и не изображал, сразу рисовал разводку платы. В итоге оно все документировано только так, чтобы я сам понимал, а чтобы кому-то передать, требует дополнительной работы. Но пока я это не планировал.
 
понял! спасибо! а Gerbers печатки есть для повторения? у Вас там вроде детали подписаны
 
Драсте! А что за резисторы в питчмодуляторе? Чем их можно заменить? Есть ли смысл их менять? Отключил я сгодня джойстик и шума стало решительно меньше. (осталось выяснить замыкание на МИДИ выходе)
 
Обычные переменные резисторы на 5К с линейной характеристикой. Ось под ручку - полукруглая. Вообще, проще разобрать , вытащить один из резисторов и покупать уже с образцом в руках.
 
Обычные переменные резисторы на 5К с линейной характеристикой. Ось под ручку - полукруглая. Вообще, проще разобрать , вытащить один из резисторов и покупать уже с образцом в руках.
Таки есть смысл их сменить? Снизит это цифровой шум?
 

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