Polyphony Tracking of Strings and Multi-Core/Thread Processor Optimization

This video shows some of the limitations on tracking basic chords (with 7ths).

Open Source DSP-MIDI Optimizations
With Apple’s multi core M-Series moving into the entire product line, it seems there should be no reason why each string can not have a dedicated processor and software ‘thread’ to make sure the polyphony recognition and tracking works better than most hardware solutions.

I think Open Sourcing a ‘threaded’ model for DSP processing is the next evolution of the architecture. If not done with this product, Apple will surely make this move to dominate the industry with GarageBand and Logic Pro.

The hardware is ready, and Jam Origin could dominate with the right approach.

1 Like

Very useful!!! Thanks ( you wouldn’t happen to have also the Fisherman Tripleplay that you could test ?)

I don’t have the Fishman Tripleplay, but am be willing to try that option. I’m looking into it now. They do in hardware what I’m thinking multi-threaded DSP software could do in MIDI Guitar V3.0.

I’m sure it helps to have separate piezo or magnetic pickups per string, but is it necessary given the compute power and simultaneous cores offered by apple?

Maybe I don’t have his technique quite yet, but I want a product that can track this well and pick up all the embellishment notes, not just the simple polyphonic chord forms.

If anyone has a demo like this for MIDI Guitar 2.x, please post.

Fishman Triple Play Polyphonic Tracking with Complex Chords

FreeSpirit. I’m all for unorthodox thinking, but it doesn’t make any sense.

We haven’t been CPU bounded since iPad2/iPhone 4s came out. All the processing power in the world doesn’t address the constraints of physics, heisenberg uncertainty, etc.

The M1 is great and I had the pleasure to work with apple scilicon for a year now because Apple lend us a dev kit in advance. But it has nothing to do with tracking and latency.

Parallelizing adds latency, not subtract, and you somehow strangely assume we can work on each string separate, with a hex pickup, which is exactly what we can avoid.

Yes, there are problems, quick misfires, minor second intervals, wide chords may come out without one string, etc, but we are working on it for 13 years now and will publish updates as soon as we can.


If you don’t have a mic on each individual string , there is no way the software on its own can understand which of the 6 strings is ringing, all it knows ( and that already is a major achievement) is which note is being played, but not where on the fretboard it is being played. You absolutely need a hexaphonic pick up or individual mics per string to achieve this.



In our lab we can actually simulate a hex pickup and get close to reasonable accuracy in also determining which string each note belong to, but even such feature isn’t all that useful when you think about it (for other than assigning different instruments to diffrent strings and virtual tunings/capo). But this has nothing to do with improving latency or any other things mentioned.


Amazing technology guys !! Can’t wait until you come up with your next upgrade. Keep up the good job !

1 Like

It would be very useful for me identifying the string and note. I am looking for midi for educational purposes. Show what I am playing in a virtual neck, or do an overlay with the notes