Notation would be relatively simple, but tablature? I don't know. Since there are multiple ways to play/finger a given bass line, how would SMP know which one to choose? Would you want it to suggest several tabs and let you pick the one that works best for you?
The problem may have to be attacked by solving the standard-notation subproblem first, but I’m certain the final tab problem can also be solved.
I look at this as a classic dual-optimization engineering problem.
Optimization “A” would be to minimize the error between the truth and the proposed bass line from a sonic perspective. The truth is the extracted bass line stem and the proposed is what the algorithm comes up with at any given iteration. Thousands of iterations may be needed.
The differences between the open string G and the fifth fret G on the D string and the tenth fret G on the A string would be dealt with at this stage. Frequency analysis (FFT), harmonic analysis, amplitude enveloping and/or timbre analysis could be used.
Optimization “B” would be to minimize the amount of finger gymnastics required to play the tab. This could be accomplished by dividing the fretboard in zones with the goal of the final tab to minimize the number and/or the frequency of moving from one zone to another. Thousands of iterations may be needed here too. But a few thousand iterations on an i9 machine may be a handful of seconds.
These optimizations could be sequential or one could be nested inside the other. Either way, the objective would be to a) sonically represent the extracted bass line as closely as possible and b) to make it as easy as possible for the bassist to play the tab.
I’m sure there are other approaches to solving this problem; using elements of AI may be another approach. Of course, this could be extended to 6-string guitars as well.
And sure, SMP or any program, could provide a choice of tabs to choose from. An easy, medium or difficult set of choices would be a great learning tool for us non-pros.