Could evolutionary algorithms teach us anything about pick technique (today, or in the future)?


#1

I had a thought the other day - I think Troy has done a really great job with the cracking the code content to demystify a lot of the different components of picking technique.

I think we’re almost at a point now where we could write a big long list of every variable we know about and start trying to model things in a computer.

An evolutionary algorithm is basically a name for a computer program that models a number of different parameters in a computer, and then tries to optimise for some heuristic by combining some of the principles of evolution.

It starts with some initial values, a way to mutate these values (like randomisation, for example), and a way of deciding which of a population is “doing well” or “closest” to what is being optimised for. It would then generate population after population after population, each population’s parameters being informed by the winners of prior populations.

This can result in some fairly amazing things…

This is one of my favourite examples, which even models muscles and neural delay, and optimises for a “natural gait” (it’s amazing to watch!):

It’s an interesting thought, right? I know for a fact I’m not in a position to do this type of research myself. But I wonder if it’s feasible?

Do you think a bright computer science student somewhere out there could uncover some interesting lessons for us?

e.g, imagine optimising for all sorts of different scenarios:

  • 1 NPS, has to be alternate picking
  • 3 NPS, no creative constraints (tweak constants like action of strings, flimsiness of pick, so on and see what happens to optimised solutions)
  • Yngiwe malmsteen licks, does it come up with the yngiwe malmsteen picking system? (maybe you’d have to nudge it in the right direction when optimising but it would be fascinating if it derived it)

#2

It’s an interesting concept but I don’t know that the necessary data has been collected to do that. If you think of “how do they get the most detailed, accurate information” it’s from guitarists who they’ve had attach that camera to their guitars. OK, now think about who are “the winners of prior populations”? They’re the virtuoso players who’ve had the most successful careers. Whether it’s heavy metal/hard rock, which would be guys like Yngwie, Vai, Satriani, etc or jazz fusion guys like McLaughlin and DiMeola, not one of those guys has been recorded that way yet. I get why - they’re expensive. Why wouldn’t they be? They’re legends and can command that kind of money. Yet without seeing what the guys at the top of the food chain are exactly doing when they play, a lot of it would still be speculation at this point in time, wouldn’t it?


#3

It’s an interesting concept but I don’t know that the necessary data has been collected to do that. If you think of “how do they get the most detailed, accurate information” it’s from guitarists who they’ve had attach that camera to their guitars. OK, now think about who are “the winners of prior populations”? They’re the virtuoso players who’ve had the most successful careers. Whether it’s heavy metal/hard rock, which would be guys like Yngwie, Vai, Satriani, etc or jazz fusion guys like McLaughlin and DiMeola, not one of those guys has been recorded that way yet. I get why - they’re expensive. Why wouldn’t they be? They’re legends and can command that kind of money. Yet without seeing what they guys at the top of the food chain are exactly doing when they play, a lot of it would still be speculation at this point in time, wouldn’t it?

To be clear, I’m not talking about capturing the movements of any guitar players.

It’s more like, give a computer a good enough understanding of what an arm is, what joints it has with their respective degrees of motion, their range, how the muscles are operated and laid onto the bones, model all of the movements we’ve been talking about in as physical a way as possible. Model a guitar pick. For the sake of pragmatism, maybe teach the computer a few standard ways to hold a pick (or alternatively, have that be the subject of its own investigation)
Model guitar strings. Model the arm as it sits on the body of the guitar. Model the resistance that the pick meets when it hits the string. Model the vibration of the strings.

I’m forgetting a huge swathe of other important things, but the point is, the computer should be simulating at a level that we find useful, the different parameters.

The populations are then simulated populations in the computer, so distinct from actual guitar players.

The “winners of prior populations” can be thought of as the parameters that are doing well in the simulation.

Here’s an old flash game which uses the concept http://www.blprnt.com/smartrockets/

You can watch the rockets learn to get to the destination overtime. This is a good example because it clarifies what is meant by parameters. In this case, it’s fairly simple, it’s the thrusters. Which thrusters should fire, and when? This is analogous to a muscular problem. Which muscles to flex/extend, and when? (the guitar case would be suuuuuper complicated though)
You’ll have to watch it run for quite a long time to make any progress, however :slight_smile:

I hope that makes sense.


#4

That does make sense. I bet you somebody will do this in the future. It sounds like a hell of a lot of work to program all those variables but it would be very interesting to see the results. I’m not a computer expert by any means so, can you give me a couple examples of things you would hope this might teach us?

BTW, the way I originally understood it, I thought you were talking about using the picking movements of the guys who have had the best careers and then finding out what things they all have in common physically as far as how they actually play the way they do. It might not result in a single best way to pick, but it could at last give general guidelines as far as what things do all of these guys do that a lot of people don’t necessarily do?


#5

Wow, I was thinking about this exact thing yesterday!
I would think there should be a model of the wrist at least, in some biomechanics context out there, something like this or this. But for this a lot of things need to be combined as you said, model of strings under tension, evolutionary algorithm coding, etc. I was thinking this would be a sweet mech eng thesis to tackle…does anyone have any contacts? We could setup a kickstarter to fund the research haha.

I think it would be cool to investigate how different weights assigned to optimization goals lead to different motions. E.g. parameters such as error rate, hit frequency (speed), hit force, economy of motion (some quantitative metric like max distance of pick from string).


#6

Going out on a limb, I suspect that what would come back would be essentially akin to the picking mechanic of what the very best alternate pickers are already doing, with the caveat that just as certain players’ mechanics are custom-tailored to lines and approaches they tend to favor in their music, the resulting optimization would likely be in part reflective of the specific lines it was asked to optimize for.

I jumped around in that video a bit, and it looks like what the computer eventually arrived on as an optimization is essentially the normal gait of a human being, anyway, and the manner in which it was “successful” was correctly arriving at the same point that a couple millennia of human evolution, and then a youth and adolescence spent learning how to walk, brought us to. Which, let’s be honest, is pretty impressive, and v ery cool.

But, by the same note… A lot of guitarists already have extremely efficient picking mechanics that are very efficiently optimized for their phrasing and playing choices. For example, I have a hard time picturing a computer working out a better optimized picking mechanic for playing “Far Beyond the Sun” than what Yngwie worked out on his own. The main difference, is most guys playing at that caliber aren’t necessarily consciously aware of how their mechanic has been optimized, but rather it’s something that’s happened naturally over thousands to millions of iterations as they’ve practiced.

If there’s any single lesson I’ve picked up at CtC, it’s that the human body is very good at unconsciously and iteratively finding optimized solutions to playing problems, and that we already follow an approach very similar to what this program is doing, it’s just we aren’t consciously aware of it.


#7

Fascinating topic! Reminds me of a cool video I came across recently, showing a method for simulated characters to learn skills from video clips:

Bit different from what you have in mind, but I think along similar lines. Some really cool examples here and interesting description of the stages involved, like “pose estimation” and “motion reconstruction” and “motion imitation” and “retargeting”. This particular example seems to hold a lot of possibility for e.g. more realistic computer animations for video games, or vfx in movies…kind of an algorithmically superpowered alternative to motion capture.

Of course when it comes to guitar, we learn a lot from observation, seeing what great picking technique actually looks like from a wide range of elite-level practitioners. But as I understand, one of the really cool things about using evolutionary algorithms is that they can lead to counterintuitive solutions, even ones that a human might never arrive at naturally, that may be optimal / efficient but in a way we wouldn’t even think of.

Here’s one really cool example of what it might look like if a genetic algorithm designed floor plans, optimizing for parameters like minimizing walking time and traffic flow, or maximizing for windows:

This sort of thing often arrives at solutions that look and feel less “structured” and more “organic”. Not always practical, but quite interesting!

In one sense this sort of learning via genetic algorithm can be a way to make observations based on realistic data, just with way way more variety than possible in real life observation. In another sense it can be a way to injecting random variation that takes the training data outside the bounds of what we’d see in normal observation at all. However could still take into account certain constraints e.g. of physics, human anatomy, etc.

I found some good info on this site as well; they have more detail available (research papers and code) but these posts give a nice overview of some of these concepts pertaining to robots / AI learning with physical skills:



They also mention some open source software available that looks cool. I’m sure lots more out there too that could give a good starting point for developers.

No idea what this might lead to w/r/t guitar learning but would be interesting to see. @Drew makes a good point that many of the things we look at like basic picking motions are already pretty optimized and probably not such a complex system that there’s likely to be a whole other approach that works better. But I could imagine improvements or novel approaches for certain more specific combinations or larger scale strategies or something.


#8

This is true, but I feel that that knowledge is still decentralised and in people’s heads, where it has to be communicated in fairly imprecise language (and sometimes inaccurate).
In my opinion we still have deep mysteries to contend with.

For instance, if there is deep knowledge of how to play guitar embedded in Stephen Taranto, it’s not knowledge that we understand in terms of numbers. We can’t see how much muscle signal is going to what muscles, and we can’t tweak those signals and see what happens, which would just be mind blowing in my opinion.

Check him out if you haven’t https://www.instagram.com/p/BkMhW_pllYg/
His chops are out of this world :stuck_out_tongue:

But as I understand, one of the really cool things about using evolutionary algorithms is that they can lead to counterintuitive solutions, even ones that a human might never arrive at naturally, that may be optimal / efficient but in a way we wouldn’t even think of.

This is a great point. And I loved your post Brendan, lots of great links which I haven’t finished reading through yet.

I think it would be cool to investigate how different weights assigned to optimization goals lead to different motions. E.g. parameters such as error rate, hit frequency (speed), hit force, economy of motion (some quantitative metric like max distance of pick from string).

I totally agree! It seems super exciting and interesting. I feel like it would give us some incredible data too. Would also be great to see more motion capture work done to get that data from actual guitar players.