reverse sustain pedal

kanter

2020-04-10 12:18:22

I am attempting to reverse the functions of my sustain pedal, which has inverted polarity against the keyboard it is connected to. It seemed too easy to be true (I just transformed incoming pedal pressed to outgoing pedal unpressed, and vice versa, no rules formulated) and it's only a 50% success- the state (permanently pressed) that I had with the pedal unpressed is gone, but conversely I cannot seem to activate the sustain function when I depress the pedal. Grateful for any pointers!


Attachments:

PedalInvert.bmtp

Steve-Bome Forum Moderator

2020-04-10 16:24:10

Hi, I did the following

Disabled your second translator as it is no longer needed.

Translator 0.0 - Renamed and set incoming value to qq

Added 2 rules

// This will ensure everything greater than 0 is seen as 127

if qq>0 then qq=127

// This will toggle the value to the opposite state as the input

qq=qq^127

Then I changed the output value to qq instead of hardcoded to 127

 

Since you have a default path set, everything else should go through untouched.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz


Attachments:

PedalInvert-sjc.bmtp

Steve-Bome Forum Moderator

2020-04-10 16:25:24

comment

I just noticed the output is Control change 60 (3CH). You will need to change that to 64 (40H) or whatever your application expects.

kanter

2020-04-10 20:15:30

thanks much Steve, it does work with the proviso your appended note suggests

kanter

2020-04-11 14:14:08

As I am trying to get my head around this, I don't seem to be quite there yet, so if I may- I have attached a further screenshot of the next problem I am running into.

The piano pedal I use is a 3-fold (VFP-3), with soft, sostenuto and sustain from left to right. The attachment shows the log window when I press and release sustain (lines 1 to 4), soft (5 to8)- note that soft (leftmost) also works as intended without "Bome-ing". Now the middle pedal (Sostenuto, lines 9 to 16) not only works in reverse, like the sustain did before you amended my patch, but it also activates the leftmost (soft) function, and also "reverses" it- that can probably also be read from the log window data.

I tried to "reverse-engineer" your prior solution to accomodate this new problem, but I am failing. Whenever you have the chance to have another look, I'd be most grateful. Happy easter!

Alexander

Steve-Bome Forum Moderator

2020-04-11 15:54:13

comment

I don't see an attached log file.

kanter

2020-04-11 16:34:00

Many apologies, here is the log file screenshot- will that do or should I export something more proprietary from the editor? thanks


Attachments:

BomeSostenuto.jpg

Steve-Bome Forum Moderator

2020-04-11 17:13:00

Hi, if your ouput uses standard MIDI CC's as documented below:

 

https://www.midi.org/specifications/item/table-3-control-change-messages-data-bytes-2

 

Then the attached project file should work.

 

According to your log, I followed the below strategies:

Strategy - Invert Input

----------------------

Sustain on - B0 40 00

Sustain off - B0 40 7F

 

Strategy - Pass through Untouched

----------------------------------

Soft on - B0 43 7F

Soft off - B0 43 00

 

Strategy - Ignore Soft (Handled above) Invert Sustenuto

------------------------------------------------------

Sostenuto On - B0 43 00 B0 42 00

Sustenuto Off - B0 43 7F B0 42 7F

 

Basically inverting Sustain, Leaving Soft alone (passing it through) and inverting Sustenuto.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 


Attachments:

PedalInvert-sjc-2020-04-11.bmtp

kanter

2020-04-11 18:26:11

comment

Many thanks Steve. The only dysfunction that survived is when I *release* the Sostenuto (middle pedal), the Soft gets pressed and stays that way, until I press the Soft pedal itself (it subsequently adopts normal behaviour until I touch the Sostenuto again).

Steve-Bome Forum Moderator

2020-04-11 18:37:17

Many thanks Steve. The only dysfunction that survived is when I *release* the Sostenuto (middle pedal), the Soft gets pressed and stays that way, until I press the Soft pedal itself (it subsequently adopts normal behaviour until I touch the Sostenuto again).

SJC> Change the MIDI output of your Sustenuto translator to 

Raw MIDI:  B0 43 qq B0 42 qq

And it should work

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

kanter

2020-04-11 19:21:33

Getting there- now the sostenuto pedal still co-triggers the Soft pedal, but at least both comply with pedal direction (see attached log of pressing and releasing Sostenuto)


Attachments:

BomeSostenutoAmended.jpg

Steve-Bome Forum Moderator

2020-04-11 19:30:03

Try this.

 

I reversed polarity of the soft pedal when hitting sustenuto. Rules in translator 0.1

 

if qq>0 then qq=127
qq=qq^127
// Reverse soft
rr=qq^127


Attachments:

PedalInvert-sjc-2020-04-11a.bmtp

kanter

2020-04-11 19:58:02

comment

the soft pedal function is still affected by the sost. pedal.. the latter "behaves" well, but as soon as I press sost. once, the soft pedal assumes and maintains the opposite state of the sost. pedal (without me having touched the leftmost pedal, obviously) So I need to block communication between triggering the sost. pedal and activating the soft function, if that makes sense

Steve-Bome Forum Moderator

2020-04-11 21:25:44

Try this.  I think this is what you want. If forces releasing of soft pedal on output any time you hit Sostenuto (middle)  and also reverses the polarity of Soteenuto. It also forces soft off when Sostenuto pedal is released.

 

 


Attachments:

PedalInvert-sjc-2020-04-11c.bmtp

kanter

2020-04-11 22:09:49

comment

Thank you sir for your time and competence. It works. I also hope to reverse-decode your démarche to learn these things, at some point. Happy easter!

Steve-Bome Forum Moderator

2020-04-11 22:11:46

comment

My pleasure!