MIDI DESIGNER
The only MIDI controller for iPad, iPhone, and Mac


Talk to other MIDI Designer users about MIDI Designer, iOS MIDI and related topics. Or share layouts, pages, and ideas.

Check out our Facebook Group.

Of course, if you want to send us an email, feel free.

Open problem reports

Summary of user requests

Select witch MIDI Port to use for page or controller

0 votes
asked Jul 7, 2023 in Suggestions (Reviewed) by jakiv (460 points)
What’s the tldr here? You need Sysex to route to different midi ports? Could midi fire do this?
Midi port per page?
added to user requests

2 Answers

0 votes
This is a pretty advanced situation, one that i have not encountered before.  When there are duplicate devices on the same MIDI network, most manufacturers provide a SysEx Device ID byte to differentiate the individual devices and avoid this type collision.

MIDI Fire can be connected to the output of MDP2.  You can then have separate StreamByter rule sets for the connections to each of the two PSR ports, blocking specific messages that you don't want on that port.  In MDP2, you would only select the MIDI Fire connection for output.

For MIDI output from both the PSRs, you could either go via MIDI Fire, or just directly connect both to the MDP2 input.
answered Jul 10, 2023 by jkhiser (19,870 points)
I have now asked Yamaha about volume Sysex for Panel Sound and MIDI Song.
Below is the communication.

--

Hi Yamaha

I would like to be able to turn up and down the volume on Song Midi Track 2 and the sound on Panel/Right 2 via SysEx.
My problem is that Song Track 2 and Right 2 respond to the same SysEx code >F0 10 4C 08 01 0B NN F7<

I don't know which of them is correct and which of them will also respond to a different SysEx value.
Maybe they both have a separate SysCode, but I can't find.

Hope you will forward this to your main support in Japan, to see if they will help me.

Sincerely.
Jan Iversen



From: Yamaha Customer Support

Dear Jan Iversen

We are very sorry, but we are unable to provide you with this information for your keyboard as there are no specific lists available with this data that we can share.

All the Yamaha PSR series has 32 MIDI channels.
MIDI Port A -16 channels used for the panel sounds and style.
MIDI Port B -16 channels used for songs.
If you want to control Volume for Song Midi Track 2 and the sound on Panel/Right, use both MIDI Port A and B.
To control these volumes independently, a Sysex volume control value must be used on each of MIDI A and MIDI B.
Send F0 10 4C 08 01 0B NN F7 Sysex on port A to control Style Volume.
Send F0 10 4C 08 01 0B NN F7 Sysex on port B to control MIDI song volume.
It's the same sysex code, but depending on which port you send to, it will change the volume of either Panel/Style or Song/MIDI.
I hope it helps

Thank you and best regards,
Steve
Yamaha customer service and support


This is why I want to be able to set each knob or fader to which MIDI port to send through.
I can easily have both MIDI ports connected to MD2 at once, but cannot choose which one to send to / use.

Hope this explains my problem a little better.
I would also prefer to avoid having to use other 3rd party programs to fix this.

Best regards
JAKIV
Hi jhhiser
Can't quite see how MIDI Fire / StreamByte rules can solve that. I do not want to block the sysex code on either Port A or B.
If I want to change the Volume on Sound Panel Right 2, I have to send the sysex code on port A.
If I want to change the Volume on Song -MIDI track 2, I just send the same code, but on Port B.
If I block the specific sysex messages on one of the two MIDI Ports, there will also be one of the 2 controllers that will not work on the keyboard.
If instead the fader or the button in MD2 could contain which Port I want to send to, then the matter was solved.
But I understand that it is probably not a solution that is right on the stairs :-)
JAKIV
0 votes

re: I would also prefer to avoid having to use other 3rd party programs to fix this.

Understand, but here is a MIDI Fire solution.

Make two buttons in MDP2, type toggle, SysEx, first is 58 00 V (1 byte).  In the second, replace 00 with 01

Hook the output of MDP2 as shown in MIDI Fire, one path to Port 1, one path to Port 2.  Don't need the event monitor - was using for checking the code is correct.

In the StreamByter modules, enter the following:

=====

# Red Heron Music
# Aug 19, 2023
# Block all SysEx on command

If Load
    Ass i0 = 0 # Block Flag, default 0 = no block
End

If M0 == F0
    If M1 == 58
        If M2 ==  00 # 00 for module 0, 01 for module 01, etc
            Ass i0 = M3
        End
        Block
    Else
        If i0 != 0 
            Block
        End
    End
End

=====

In the second StreamByter module, change the If M2 ==  00 to If M2 ==  01

When the first button is on, it will block all SysEx to Port 1, second button blocks Port 2.

re: If instead the fader or the button in MD2 could contain which Port I want to send to, then the matter was solved.
But I understand that it is probably not a solution that is right on the stairs :-)

Many features have come from user requests.  Never say never - we have a discussion in the near future to talk through recent requests, including this one.

Images
Witch ports.png
Witch ports.png
answered Aug 20, 2023 by jkhiser (19,870 points)
...