Re: Pianoteq performance on the Odroid N2+ (Ubuntu-MATE)

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

Post Reply
Groove On
Established Member
Posts: 7
Joined: Fri Mar 19, 2021 8:51 am

Pianoteq performance on the Odroid N2+ (Ubuntu-MATE)

Post by Groove On »

This is a re-post from the Odroid forums, but I thought people here would appreciate it.
********************************
I was able to get a very nice performance boost from Pianoteq on the Odroid N2+ by assigning the 4x high-performance cores to Pianoteq and leaving the 2x low-performance cores for the Ubuntu-MATE OS.

The taskset command assigns the 4 cores to Pianoteq on startup (2,3,4,5 are the 4x high-performance cores).
taskset -c 2,3,4,5 'Pianoteq 7 STAGE'
When Ubuntu-MATE was doing the core load-balancing, it did a poor job. Ubuntu-MATE mostly overloaded the first 2x low-performance cores and under-utilized the 4x high-performance cores (grrrr ...). Eventually it would re-distribute the load to the other cores, but for live music, it was too slow. By the time it figured out there was an "intense musical event" happening, it was too late, the moment had passed. Performance in Pianoteq was sub-par, the program was always gasping for air.

After the 4x cores are assigned to Pianoteq, it gets super-charged, performance sky rockets. There are still polyphony limits with the Odroid N2+/Amlogic chip, but for everyday playing and performance Pianoteq runs better on the Odroid N2+ than my 2013 MacBook Air (i5-5250U).

Here's the normal core load-balance with Pianoteq and Ubuntu-MATE's default load-balancing. Notice the 1st low-performance core is overloaded. Image

Here's the core load-balance with Pianoteq assigned to the 4x high-performance cores (CPU3,4,5,6). Notice the high-performance cores have a nicely distributed load. Also notice the first 2x low-performance cores are free to attend to OS requests.
Image
Last edited by Groove On on Fri Mar 19, 2021 8:59 am, edited 1 time in total.
Groove On
Established Member
Posts: 7
Joined: Fri Mar 19, 2021 8:51 am

Re: Pianoteq performance on the Odroid N2+ (Ubuntu-MATE)

Post by Groove On »

Here's a comparison of the internal Pianoteq Performance Index, before and after assigning cores.

Before assigning cores to Pianoteq, the program is gasping for air. Take a look at the Performance Index/Audio Load graph. The blue line represents overall CPU availability, in real-time, that line keeps fluctuating between 18-35, depending how Ubuntu is feeling. The orange graph represents the audio load, as you can see it's exceeding CPU availability. RED lines are basically x-runs/drop outs.

note: I'm running Pianoteq full blast, with all the settings at MAXIMUM.
Image

After assigning cores, Pianoteq runs solidly at a Performance Index of 34 with only small fluctuations (30-35). Notice the blue line is pegged to the top of the graph, which means CPU cycles are readily available for Pianoteq. In real-time, the blue line basically stays there, only rarely dropping a few points. Notice the orange audio load is more efficiently managed and well below the blue line. There are still occasional x-runs, but rare. The main limit is polyphony. The Odroid N2+ performs solidly up to around 128 polyphony, above that, it begins to run out of gas.

note: I'm running Pianoteq full blast, with all the settings at MAXIMUM.
Image
Groove On
Established Member
Posts: 7
Joined: Fri Mar 19, 2021 8:51 am

Re: Pianoteq performance on the Odroid N2+ (Ubuntu-MATE)

Post by Groove On »

To get an idea of what kind of performance to expect, I ran a musical stress test using "challenging" classical pieces from the Yamaha Signature MIDI Collection (MIDI recordings of actual performances/competitions)

MUSICAL STRESS TESTS PLAYLIST for the Pianoteq and Odroid N2+
https://www.youtube.com/playlist?list=P ... z0JrQRAfnF

The Pianoteq/Odroid N2+ played back the MIDI files very cleanly below 128 polyphony. But in pieces where the polyphony soars to 190+, the Pianoteq/Odroid N2+ crashed and burned. To get better polyphony performance would require something better than the ARM chip in the N2+ - something like a hexacore i5.

Here's an example with the 3rd Movement of Moonlight Sonata. Pianoteq is running full blast, with all the settings at MAXIMUM. Notice the Performance Index mostly stays pegged at 34, rarely fluctuating. There were only 5-6 minor x-runs/drop outs, not noticeable from the playback. notes: MIDI file is from the Yamaha Signature MIDI Collection. Performer is Scott Meek.
VIDEO: [youtube]https://www.youtube.com/watch?v=9-I1pikMJF4[/youtube]

Here's an example with La Campanella where the Pianoteq/Odroid N2+ crashes and burns. Pianoteq is running full blast, with all the settings at MAXIMUM. The playback is clean up until 4:10 where the polyphony soars to 190+ and crashes the playback. notes: MIDI file is from the Yamaha Signature MIDI Collection. Performer is Liza Ali.
VIDEO: [youtube]https://www.youtube.com/watch?v=m7GKfdchF4g[/youtube]
Last edited by Groove On on Fri Mar 19, 2021 9:05 am, edited 1 time in total.
glowrak guy
Established Member
Posts: 2315
Joined: Sat Jun 21, 2014 8:37 pm
Been thanked: 251 times

Re: Pianoteq performance on the Odroid N2+ (Ubuntu-MATE)

Post by glowrak guy »

I'd never heard of Odroid's...typical sorry old dinosaur :roll:
Thanks for the PianoteQ stats and usage ideas, and interesting links.

There is a 3rd-party smartphone app for an amp-room-in-a-matchbox gizmo
for electric guitars, the Nu-X Mighty Plug 2 (and related wireless amp,
the Nu-x Mighty Air) but I have no android smartphone or iOS device to
test it. (dinosaur X2 :( )

https://play.google.com/store/apps/deta ... ightieramp

Current forum disscussion picks up here:

https://www.thegearpage.net/board/index ... t-32250099

If you have some curiosity, I'd love to know if the free app by Tuntori, 'Mightier Amp', shows up in the
android version that comes with Odroid 2 (assuming you installed it :wink: )

Pianoteq and the headphone ampsim on a mini-computer would be a great
couch/vacation/ManCave/caveman rig.
Cheers
Post Reply