groovy wrote:I have a kernel with 1000 Hz system timer under Armbian Buster now.
... Everything works as expected and the CPU on the Odroid N2+ is so powerful, that I don't see any performance drop by the now higher 1 ms resolution.
That is very encouraging. Based on your efforts and Marcos Daniel, I tried Armbian again, (Focal XFCE version).
- I do also feel Armbian runs more cleanly than Ubuntu from Hard Kernel. I will switch over to Armbian since I feel it offers more out-of-the-box performance benefits for running Pianoteq - with the analog 3.5mm out and 1000Hz system timer being the main issues.
- overclocking the CPU to 2.4Ghz with armbian-config was painless. performance index is now 37, up from 34 - and armbian-config also let me un-install extra programs I didn’t need.
- I tried running Pianoteq with and without taskset. The Armbian CPU scheduler is much better behaved with 6-cores giving a steady performance index of 37, none of the wild performance index fluctuations of Ubuntu. I feel that assigning the 4x high-performance cores still lowers the audio load slightly, but the difference between assigning 4x high-performance or a mix 6x high/low performance cores is now very minimal.
- Additionally, I wonder if running all 6x cores, slightly increases the audio load, but, makes the Performance Index more stable?
- another benefit of Armbian - it basically runs read-only. I find myself switching my “Pianoteq Sound Module” on/off like any other audio hardware or appliance, so read-only was on my to-do list to make sure that the OS didn’t get corrupted.
- There is also an armbian-config setting to run Armbian completely read-only, but I still have to test the setting to see if it will let Pianoteq save changes. Otherwise, by default, Armbian runs “mostly” read-only, which is pretty good already.
- The XFCE desktop is more touchscreen friendly I can easily setup shortcuts on the desktop to run scripts for troubleshooting, and even better, I can setup script to re-launch Pianoteq with different configurations.
- The JACK sound server also ran much more smoothly on Armbian. I mainly use ALSA with Pianoteq, but I want JACK configured in case I want to record in Reaper. I didn’t feel comfortable doing this in Ubuntu, but I feel more confident in the stability/responsiveness of Armbian. I tested JACK through HDMI audio and played some demanding pieces for around 15 minutes (actual playing not MIDI files), normally I’d get a few x-runs in Ubuntu, but zero x-runs on Armbian!
- the default PulseAudio settings in Armbian are also very “quiet”. I didn’t notice any of the common PulseAudio glitches from Ubuntu. I’m still disablingPulseAudio on startup, but it’s nice that it’s setup for minimal fuss.
- USB latency seems the same between Ubuntu and Armbian, but I’m noticing more and more, the N2+ onboard sound chip has much less latency than my USB audio interfaces. And while the USB audio interfaces are very usable, but I find myself gravitating towards playing thru the onboard sound - (unlike the Raspberry Pi which is in the opposite situation).
Re: 3.5mm analog audio and 1000Hz system timer
I still need to do the technical deep dive to get these two features working, but they’re next on my list. Additionally, I'd like to lower the "connection interval" for MIDI over Bluetooth (BLE-MIDI).
Wish List:
- Real-Time Kernel (not just real-time scheduling) - it probably won’t make a difference for everyday playing, but I want to see if we get better performance/stability in extreme cases (e.g. demanding pieces where polyphony soars above 128, heavy presets with extra mics, f/x and heavy pedaling). - and most of all, eliminating x-runs.
- In the long run, maybe create an Armbian-Pianoteq distribution image, with all these optimizations baked in.
Last edited by Groove On (29-04-2021 04:03)