Want to learn jazz?

Have you seen my latest Blues Course - Slow 60 Blues?

Author Topic: SoftWare vs. HardWare, speed of Pitch recognition and triggering, measurements  (Read 4964 times)

Vladan

  • http://vladanmovies.blogspot.com
  • Hero Member
  • *****
  • Posts: 688
  • High on own Supply
    • View Profile
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 ...

 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.

 Also if we are comparing spped of triggering (as oposed to above "spped of recognition engine") The question would be: Is the difference in latency caused by ASIO input buffer vs. MIDI input buffer big enough, in favour of ASIO, to make "MG" trigger synth within DAW before Roland does? To answer that question, the compensation I proposed should be changed in a manner to only compensate "MG" results by some 3ms for digital mixer and not compensate Roland for MIDI input buffer. And the result is ... The difference is reduced, but still there, in Roland's favour.

 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.

 P.S.
 An observation: As long as it's all different notes, played on couple of different strings there is no problem at all. Roland HEX PU picks up some more garbage which result in false triggerings. I.e. time to work on technique.
 Where both Roland and "MG" fall short, for me, is fast tremolo picking of only 1 note. It gets worse as you go down in pitch. In my case, both MG and Roland start to fall apart on A (110 Hz), while on low E (82.4 Hz) it's not even worth trying. Again, maybe it's more due my technique, but for sure both MG and Roland behave quite similarly.

reb

  • Hero Member
  • *****
  • Posts: 976
    • View Profile
i have wondered about that G3 pickup.  my 'ah-ha!' moment came when i realized 'i am used to how audacity behaves with real instruments thru my board. introduce another factor, and i may be 'off by a factor of 10' again....and all i want to do is record straight ahead music.'.  if i need a keyboard, i got a cheap yamaha.  i got mics. i don't want to deal with a lot of synthetic stuff or modeled stuff as i kinda understand it, but that don't mean i can make it work.

just read a review of that jam thing.  it appears they have focused on ios systems a lot, if my reading is consistent with what you're looking at.

Vladan, do you have a scientific background? (no great detail necessary, as this is a public board) it sounds like it from this post.

Vladan

  • http://vladanmovies.blogspot.com
  • Hero Member
  • *****
  • Posts: 688
  • High on own Supply
    • View Profile
No, no scientific background, but you could say I'm inclined towards it.
What I enjoy is to observe, permutate and crunch meaningless numbers and pieces of info untill I come with something out of it.

Vladan

  • http://vladanmovies.blogspot.com
  • Hero Member
  • *****
  • Posts: 688
  • High on own Supply
    • View Profile
Just for the record, this is Roland system in practice. Not nearly at high speeds, but with some care it works flawlessly.
There was only one caase of false triggering, in rhythm guitar, my left hand trembled and the result is a cluster of higher pitched notes at 1:49

BTW. Left channel: "Audio chords" and MIDI trumpet; 
Right channel: MIDI Piano and "audio lead guitar"
Audio chords were simultaneously recorded with MIDI piano, both played on guitar in one take.. MIDI trumpet was simultaneously recorded with "audio lead guitar", both played on the guitar in one take.
Rhythm is just strumming, lead is just noodling. No special preparation, or adapting style for MIDI pick up. I did not follow "changes". Somewhat out of key, I started that way after mistake in melody of the head, so ...

http://www.youtube.com/watch?v=VlbmF-0EcsM