Re: i2m Musicport has never worked properly
Posted: Wed Nov 20, 2013 5:32 pm
Look at the third note, which is the one that starts in MessyChange1.png, which is the first note that drops an octave...
The large signal between the notes could easily be intentional: fluidly moving between notes often gives this kind of level drop and the i2M has to follow it, and give appropriate MIDI velocity so that it follows what you play. So, the i2M will, in general, do a good job of that.
The problem arises where this tone is playing in the background while another note starts. On many instruments, and in particular bass, the fundamental tone doesn't become evident for a few cycles after the note has been plucked. To make the best analysis of the note, the i2M has to look at all the harmonics that are present and work out what the note is most likely to be. For a purely monophonic signal this is simpler (in fact the i2M's wind/voice mode uses a slightly different detection method for such "pure" monophonic signals). For sources which might not be monophonic (i.e., stringed instruments), the i2M tries to reject spurious tones that aren't related to the signal. But, once such tones are large (as in this case), it doesn't ignore them but assumes they are part of a monophonic signal. Sometimes this looks like a set of harmonics with no obvious fundamental so it generates the appropriate note -- which turns out to be an octave down.
Similar things happen if the note is played near the bridge. This excites more harmonics, and often no fundamental. Sometimes the i2M can work out the note correctly, sometimes the low-frequency content is so low it can't so the note jumps up an octave. That's why we recommend playing near the neck, and using the neck pickup -- there is more fundamental tone if you do that.
The detection is a very fine balancing act. Changing things so it doesn't do the octave-down jump when more than one string is playing is possible, but it causes more problems elsewhere. However we are exploring ways to give more configuration options to let users tweak things in these more extreme cases where they can decide which trade-offs they want.... but for now, this isn't available.
The very low latency of the i2M makes things worse: often there is only one cycle to measure and determine the note. Would you, for example, be happy to have longer latency with more robust detection? What other trade-offs would you consider?
Did you upgrade the i2M to the latest firmware? There were some improvements to chromatic mode since version 1.2.00.
Which mode is the i2M running in? Guitar, 4-string bass, 5-string bass, voice/wind?
The large signal between the notes could easily be intentional: fluidly moving between notes often gives this kind of level drop and the i2M has to follow it, and give appropriate MIDI velocity so that it follows what you play. So, the i2M will, in general, do a good job of that.
The problem arises where this tone is playing in the background while another note starts. On many instruments, and in particular bass, the fundamental tone doesn't become evident for a few cycles after the note has been plucked. To make the best analysis of the note, the i2M has to look at all the harmonics that are present and work out what the note is most likely to be. For a purely monophonic signal this is simpler (in fact the i2M's wind/voice mode uses a slightly different detection method for such "pure" monophonic signals). For sources which might not be monophonic (i.e., stringed instruments), the i2M tries to reject spurious tones that aren't related to the signal. But, once such tones are large (as in this case), it doesn't ignore them but assumes they are part of a monophonic signal. Sometimes this looks like a set of harmonics with no obvious fundamental so it generates the appropriate note -- which turns out to be an octave down.
Similar things happen if the note is played near the bridge. This excites more harmonics, and often no fundamental. Sometimes the i2M can work out the note correctly, sometimes the low-frequency content is so low it can't so the note jumps up an octave. That's why we recommend playing near the neck, and using the neck pickup -- there is more fundamental tone if you do that.
The detection is a very fine balancing act. Changing things so it doesn't do the octave-down jump when more than one string is playing is possible, but it causes more problems elsewhere. However we are exploring ways to give more configuration options to let users tweak things in these more extreme cases where they can decide which trade-offs they want.... but for now, this isn't available.
The very low latency of the i2M makes things worse: often there is only one cycle to measure and determine the note. Would you, for example, be happy to have longer latency with more robust detection? What other trade-offs would you consider?
Did you upgrade the i2M to the latest firmware? There were some improvements to chromatic mode since version 1.2.00.
Which mode is the i2M running in? Guitar, 4-string bass, 5-string bass, voice/wind?