SoftWare vs. HardWare, speed of Pitch recognition and triggering, measurements

Started by Elantric, February 01, 2016, 09:54:53 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Elantric

GK3/ GI20 combo vs. Jam Origin MIDI Guitar (trial version)

I made this for the pourpose of discussion on another forum, but maybe someone can find it useful ...

http://www.thegearpage.net/board/index.php?threads/software-vs-hardware-speed-of-pitch-recognition-and-triggering-measurements.1667627/

VladenMovies wrote>

Before you read this long borring and unnecessarry post ...

1. Get informed on what latency is and how it adds up.
2. Make distinction btw quality of tracking vs. speed of pitch recognition & triggering.
3. Note that we do not know inner "mechanics" of MIDI Guitar software, how it deals with various inputs and how it addresses VST synths
4. Note that his was not to measure how fast either "participant" is, but to observe general tendency of difference in pitch recognition engine speed, given all other conditions are as similar as possible.

Signal paths:
1. GK3: Guitar-GK3-Gi20 (Pitch Rec)-USB-"MIDI Guitar" MIDI in (virtual)-VST synth in "MIDI Guitar"-Audio out-USB-Digital Mixer-USB -ASIO in-DAW (RCh)
2. M G: Guitar-Digital Mixer-USB-ASIO in-"MIDI Guitar" (Pitch Rec)-VST synth in "MIDI Guitar"-Audio out-USB-Digital Mixer-USB -ASIO in-DAW (R Ch)
3: Audio (Paralel to above): Guitar-Digital Mixer-USB-ASIO in-DAW (left channel)

This way I could recorded stereo files to compare L and R channel and measure difference in accumulated latency btw two channels. Since path for L channel is common to both paths, difference in latency of R channel btw files recorded via one path vs. another is the real life application difference of the 2 pitch recognition engines.

That differnce is equal to difference btw all the latences accumulated as per following:
1. For GK3 path: GK3-Gi20 (Pitch Recognition)-"MIDI Guitar" MIDI input (virtual)
2. For M G path: Digital Mixer-ASIO in-"MIDI Guitar" (Pitch Recognition)

It is obvious couple of elements apart from "pitch recognition engines" are adding to the total, namely:
1. ASIO in buffer makes for 2.9ms of latency.
2. Digital mixer AD conversion and whatever, add for some number of saamples, probably about 3ms.
3. MIDI ports have minimal jitter/ delay/ latency of about 3.5ms, which can go to more than 10.

Knowing this, we can see that in order to strictly compare only pitch recognition engines, measured differences we should compensate by:
1. For GK3 at least 3.5ms, ie deduct 3.5ms
2. For M G at least 5.9ms, ie deduct 5.9ms

And now, measured results. Obtained by playing Bb major scale in 5th position, 6th string 6th fret root ...
Scale..A..Bb.C..D..Eb.F..G..A..Bb.C..D..Eb.F..G..A.Bb
GK3....27.38.36.34.43.38.27.34.28.32.27.29.25.27.25.26 all arround latency in ms
M.G....46 56 58 44 42 43 47 48 41 43 42 44 42 40 38 44 all arround latency in ms
Diff: .19 18 22 10 -1. 5 20 14 13 11 15 15 17 13 13 18 difference btw paths in ms

Frankly, I thought this was way wrong, so I measured again, this time in C (VII/6/8) ...
Scale ...B C D E F G A B C D E F G A B C
GK3 .....35 43 34 38 38 35 35 26 28 32 26 27 24 25 24 28
M G .....53 50 49 43 52 46 50 45 45 48 41 43 49 40 48 41

After compensation, the difference would be about 3ms smaller and even if I was biased, I could not steal more than maybe 4ms MAX, but you can trust me I did my best to stay within 1ms error window, in total, GK3/GI20 combo would still score better.
Using better PC hardware, like graphic card, processor ..., maybe I could've got more uniform results, but the difference would likely ressemble above findings.

So there it is.

It is fair to note that M G developper never claimed it was better, faster ... they modestly and precisely said "... comparable to hardware solutions ...", which it really is. With all the benefit of saving on unnecessarry hardware as well as, IMO, less false triggering, which may be more important than pure speed, you can conclude whatever you want.

jassy

Its good to have numbers but I think we must keep in mind that there are variables that are not fully defined.
We don't know what audio interface its used in this test, but i know it can be a very important question. Its know that many asio drivers add some (and sometimes too many) additional buffers (of which the host application is not informed so its not reported to the user) and that would add a big additional latency to the comparison. This could reach from 2,9 ms (latency reported by the host) to 5,8 (2x buffer) 8,7 ms (3x buffer) etc.
Also the A/D converter can add probably 1 ms or more.
So we are not sure if it can be even 10 ms to compensate...
Also the test does not address one of the most critical part of the midi conversion, the bass notes, if I understand correctly the test starts at the sixth or eighth fret.
A very interesting fact in this test is the regularity of the latency obtained with Midi Guitar, all notes have a similar latency, while in the other system latency grows as the note is more in the lower side. This has always been in my opinion one of the worst problems of traditional systems, variable latency, a musician can accommodate a fixed latency, but if this is variable is much more difficult.
Of course the most important thing is not in this test, the reliability and predictability a few mistakes and glitches here and there and the performance may be ruined.

jassy

I've been intrigued by these results and I made a quick  test  for myself to check the results of midi guitar.
I have recorded simultaneously a direct audio track and a MIDI track from the midi output of midi guitar using Cubase 8 and a Fireface 800 with  96 samples buffer (44.1 khz).
I know by real meassures that the real latency of this buffer is 3.97 ms (including the AD converter).
I played from the lowest note (E) to the highest one (Bb) and the distance between the real guitar sample to the midi event has remained constant between 20 and 30 ms in all the samples (24), except 2 notes that have exceeded 40 ms (41 and 42ms) and two that have fallen from 20 ms (18-19ms) with I will consider the exception to the rule.
if we eliminate the conversion factor and audio latency introduced by the computer, we would have to deduct 4 ms with what we would be in a Midi Guitar conversion rate of around 25 ms with a commendable consistency in the entire fingerboard.
That seems to be more related to the experience that I have when I play with Midi Guitar.

edit: the test has been done with Midi Guitar 2 beta 8, dont know if it would be better with the latest beta 12. The test done with the other guy is with the demo beta 4, maybe all that can have some impact.

Headless68

For me as a user - latency is no longer the issue as both the latest hardware and software systems are so quick its not that big a deal - it comes down to 'play feel' and (IMHO) for guitar to midi Jam Origin simply feels better, i.e. you can play more like you are just playing guitar. It feels to me like its the dynamics and capability to trigger accurately at very low input volumes which make the big difference.