Potential problem with Micro Scale

Hello,

I think I have a problem with the Micro Scale modifier.

1 - Here is the content of the Scala file I use:

! 12-17.scl
!
12 out of 17-tET, chain of fifths
12
!
70.58824
141.17647
282.35294
352.94118
494.11765
564.70588
635.29412
776.47059
847.05882
988.23529
1058.82353
2/1

2 - On my MIDI keyboard, I play the sequence “49 48 48 48 48”.

3 - Here is my MIDI log (I use Protokol monitor):

RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(PITCHBEND) CHANNEL(1) DATA(5783)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(NOTE_ON) CHANNEL(1) DATA1(49) DATA2(77)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(NOTE_ON) CHANNEL(2) DATA1(48) DATA2(71)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(NOTE_ON) CHANNEL(3) DATA1(48) DATA2(79)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(PITCHBEND) CHANNEL(4) DATA(8192)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(NOTE_ON) CHANNEL(4) DATA1(48) DATA2(87)
RECEIVE | ENDPOINT(Midihub MH-3SJCSH3) TYPE(NOTE_ON) CHANNEL(5) DATA1(48) DATA2(92)

4 - Something is definitively wrong here: the PITCHBEND(8192) message should be sent just before the first C/48 is played. Consequently, the first and the second C/48 are “out of tune”.

Does anyone have a clue?

Thanks, in advance,

The Midihub assumed these channels were already at ‘no pitch bend’ position, and it sends PBs only when it’s necessary to change it.

I guess the pitch was bent on these channels outside of a Micro Scale pipe, or something was rerouted?

Could you give some more context on how the Micro Scale pipe may not have been aware of the different PBs on these channels?

Thanks for your answer. I have a very simple setup :

  1. MIDI keyboard into MIDI DIN D of the Midihub
  2. the following preset in the Midihub : Dropbox - ms.png - Simplify your life (I use a Virtual port to send the MIDI messages from the keyboard to both a hardware synth and my computer, so as to be able to monitor the messages in Protokol).

I don’t see how and why could the Midihub assume a pitch bend value. I also monitor the output of my MIDI keybard and can affirm that only note on/off messages are sent. Giedrius, could you please tell me if you see a more robust testing protocol? To me, it looks like a bug.

Thank you very much, in advance.

Best,

In the original post, was this monitor data taken just after switching to the preset on Midihub, or just after turning it on? The very first time, it would send the ‘0x4000’ pitchbend messages to each new channel where necessary, but afterwards, if the allocated channel for the now note already has the correct PB value from when it was used previously, Midihub would skip sending the PB message.

I tried to reproduce the issue, but looks like it worked fine. Any more details would be helpful. :slight_smile:

I tried three scenarios:

  1. In the Midihub editor, right after storing the current preset
  2. Outside the Midihub editor, just after having switched on the Midihub, and just after having changed the preset.
    Same behavior.

I tried something else: allowing only ONE channel in the MCR SCALE filter, and playing only strict monodies with no overlapping notes. It seems OK, correct PB values are send.

Do you imagine some more tests I can make to diagnose the situation?

Thank you very, very much, for your help.

Best,

Could you try using this version of firmware: [Download] Midihub Editor 1.11.8 & Firmware 1.11.10 - #15 by Synthfluencer - it has some changes in Micro Scale pipe that may impact this.

I’ve made the firmware update. And I have exactly the same problem. I tried to set up a good test protocol, and don’t see what I can do more on my side. Is the Micro Scale pipe code opensource? I’d be very happy to have a look on it.

Thanks

No, it’s not open source. :slight_smile: Could you please post some MIDI clips in .mid format and the appropriate minimal Midihub preset with which you get the issue?

Thank you very much for your response!
Here is a very short MIDI file, the preset and the SCL file I used:
https://github.com/Amleth/MyREAPER/blob/main/notes/2021.04.04.MID?raw=true

The high-pitched melody plays the following notes: D#5 C#5 C#5 C#5.
I can hear a pitch variation on the last C#5.
I also see it on the MIDI event log (in Reaper):

Line 7: the Pitch Bend is sent only before the third C#5.

I hope I am not misinterpreting the data.

Thank you again for your help.

Thank you, will look into it.

Hello,

Were you able to look at my problem with the data I submitted?

Thanks,

Th

Hey, sorry about it, I got a little bit ill just when you submitted the sample data and I must have forgotten to mark this issue down!

Anyway, I’ve looked into it now, and I couldn’t reproduce the issue - the pitch bends seem to be as expected - if the last pitch bend value set for a channel remains the same, then it gets reused, if the required PB value is still the same.

Does Reaper respond correctly to Pitch Bends on different channels for the same instrment? I don’t have experience with it, but I can say that Ableton is unable to work like this - there you have to duplicate the synth tracks and set each one of them to respond to a different MIDI channel rather than using “All Channels” setting.

Btw, the preset you’ve attached uses 2 separate micro scale pipes sent to the same destination - they have no awareness of each other, so they’d produce incorrect pitch bends, if their configured channels are overlapping. To combine multiple Micro Scale pipes sent to the same port, make sure that one of them uses say channels 1-8, and the other uses channels 9-16, so they don’t conflict with each other.