There is no need to call vcgencmd get_throttled
repeatedly, because it is latching. Bit 2 just shows the actual status of being throttled at the moment of calling.
Documentation: https://www.raspberrypi.com/documentation/computers/os.html#get_throttled
Thx for all the help so far. Following Ribans suggestion of making a seq pattern to trigger a lot of notes instead of actually playing them, i found out that there was no XRuns when running the pattern. So i tested for different USB cables and ports, but nothing there. Then i played another keyboard and got NO XRuns!.
Then i took a look at the Midilog:
CH#01 NOTE_OFF 81, Vel: 106
CH#01 CONTROL_CHANGE 88 => 108
CH#01 NOTE_ON 75, Vel: 57
CH#01 CONTROL_CHANGE 88 => 77
CH#01 NOTE_ON 55, Vel: 51
CH#01 CONTROL_CHANGE 88 => 68
CH#01 NOTE_OFF 50, Vel: 99
CH#01 CONTROL_CHANGE 88 => 3
CH#01 NOTE_ON 57, Vel: 40
CH#01 CONTROL_CHANGE 88 => 16
CH#01 NOTE_OFF 75, Vel: 104
CH#01 CONTROL_CHANGE 88 => 123
CH#01 NOTE_OFF 55, Vel: 99
CH#01 CONTROL_CHANGE 88 => 84
CH#01 NOTE_OFF 57, Vel: 103
CH#01 NOTE_ON 69, Vel: 61
CH#01 NOTE_ON 52, Vel: 51
CH#01 NOTE_ON 53, Vel: 90
CH#01 NOTE_ON 67, Vel: 8
CH#01 NOTE_ON 54, Vel: 50
CH#01 NOTE_ON 66, Vel: 8
CH#01 NOTE_OFF 69, Vel: 0
CH#01 NOTE_ON 63, Vel: 102
CH#01 NOTE_OFF 67, Vel: 0
CH#01 NOTE_OFF 52, Vel: 0
CH#01 NOTE_OFF 53, Vel: 0
CH#01 NOTE_OFF 66, Vel: 0
CH#01 NOTE_ON 59, Vel: 8
The first half is from the Privia kybd (the XRun keybd). There are note values on/off with velocity, but also CONTROL_CHANGE messages.
The second half is from Akai MPK mini (The NO-XRUN Keybd). There is only note on/off with velocity.
I conclude that there is a high probability thet iāve forund the source of the XRuns, and that the solution is in the Midisource!?
Can someone comment on what āCONTROL_CHANGEā is and why the keyboard would sent that?
and i feel i should have found this before calling the rescue service!
But alas, iām learning. Any time i actually do something in terminal iām having a good time, and learning
Control Change (CC) are MIDI messages that allow parameters to be adjusted. CC88 is the high resolution velocity control. (I didnāt know it exists!) I am guessing that Pianoteq supports this but adds more processing to handle it, although I donāt know why it should have such a substantial impact.
You could add a midi filter in webconf INTERFACE->MIDI Options. Enable Advanced View and then click on the button below āMidi filter rulesā. Add a rule to Ignore from all channels (or just the one your keyboard sends) Continuous Control Change 88. Remember to save and you may as well reboot for good luck.
Let us know if this resolves the problem.
[Edit] Pianoteq in zynthian has a configuration that maps CC88 to Reverb Early Reflection but the CC should not reach the synth engine as we strip CC and use them for zynthianās own MIDI learn / binding, unless you have enabled it in MIDI CC menu in chain options. So this may be zynthian struggling a little with lots of unexpected CC messages (which shouldnāt upset it either).
[Edit]
Or disable in your keyboard - it is probably an option somewhere.
[Edit] You can. Page E-40 of the user manual says there is an option to disable high resolution MIDI output.
Now I want to get a High Resolution Velocity keyboard and map CC88 to pitch bend.
We used to play a blues song that I wrote where the keyboardist played the bass part. (We didnāt have a bass player in the band.) I programmed the bass sound to do a whole note pitchbend up after a beat so that he could play the tripplet bass part then hold on the last note of the bar to give the desired bend⦠if we were playing at the right tempo! We didnāt have a drummer either so the drum machine solved that dilema, until we did a gig with a dep drummer!
This discussion on Modartt forum may be an interesting read.
Yes it is, and it is disabled, and i play full sample 128 poly with NO XRuns. Thx guys you are amazing!
But with Baggypants envying my keyboard and me having High Resolution Velocity that sits unused in my keyboard, makes me want to use that feature ,
How would you do that @Baggypants, and how does it work. The velocity is 0-127, is then the CC88 a subdivision of each velocity value, so the resolution is 128*128?
- i have not.
My next ācompositionā will be named āPlanet Zā
So, if you were to use a high resolution velocity keyboard with an engine that isnāt high resolution velocity capable the messages on CC88 just get ignored. But they are still sent, so you could map the CC to control another parameter, e.g. pitch bend, to get a seemingly random amount of change applied dependant on how youāre hitting the keys.
You have heard me play, havenāt you?
I may emulate your keyboard behaviour to try to diagnose the problem. It is great that youāre problem is solved but it does highlight that there is an issue to be investigated.
Yes thatās true. Let me know if i can do anything since i have a keyboard like that
From the Modartt forum
[18-08-2018 01:37
High Resolution MIDI Velocity CC#88 was adopted by the MMA around 2010, giving controllers and instruments a velocity range of 0-16,000+, instead of the basic MIDI 0-127. Pianoteq is one of the few software instruments that respond to it, and I am fortunate enough to have a controller (VAX77) that transmits it.
Are there any other controllers out there (especially 88 key with piano touch) that can transmit it?
Do you feel it actually makes a real-world difference vs 0-127? More subtleties in playing nuance, or you really canāt tell?]
It seems that CC88 extended Midi velocity (up to 16ā000 levels) is definitely clogging the Zynth audio engine with a CC message per note, if the keyboard controller can send it!
So, beware of those newest piano controllers @Zynthianers
Ok. Iām modernity personified. It is 128 squared then = 16.384
Iād be surprised if having a cc per note is causing the xruns. More likely Pianoteq has overhead for calculating VHV as Riban mentions.
I tried to reproduce by sending note on, cc, note off, cc but this does not seem to cause much (any) extra load. CC does not hit pianoteq and CC88 is mapped to something else anyway so may not trigger the high velocity function even if it did. This remains a mystery!
Anyway, just as a complementary bit of info, I have played around this evening with PT 8.4 Model D Hamburg at full sample rate and 128 voices, using my Roland RD-2000 as controller keyboard with some robust engagement of polyphony, long pedaling and a concert hall-size convolution reverb.
No x-runs or audio glitches of sort on my V5.1.
Zynthian/Pi5 with PT definitely rules!