well, neural networks don't have a lot of code.But you do have to decide which features to send in to the NN be trained. The hard part is that it's really hard to know what features actually help the NN do a better job and which features make no difference. And there needs to be some sort of universally accepted outcome.
NNs can get stuck in ruts where they find the local maximum, but not the global maximum, which means it may discover a pathway that creates really great mixes for one set of tracks, or one style of tracks, but completely destroys a separate set of tracks
People fall into the same issues though. that's where superstitions come from. When we attribute one thing to another because we find patterns in it, doesn't mean the patterns actually exist. But our brains are far more complex than NN, and we can naturally break the patterns when we recognize there is an issue.
For example, it's completely possible for a NN to spit out white noise and think it's ok. It needs to receive the feedback telling it it's wrong in order for it to know.
Also, NN are much better at doing their thing when the results have a statistical element to it. For example, if you have a zillion pictures, and you want to use a NN to do facial recognition to find somebody's face, it works really well. In google photos, I can enter my name and see a large list of pictures with my face in it from my personal library of pictures. It almost never gets it wrong. If that's all you see, then you would think it's 100% accurate. But what you don't see are all the pictures it's not showing me with my face on it because it go them wrong. Even if it's only 20% accurate, as long as the cutoff is set such that it only shows pictures of me that it is 95% possitive are me, then it looks to me like it's 100% accurate.
So while a NN can be really good and sorting through songs and picking out features that have good qualities, it's much harder to throw stuff at it and have it come back with 1 thing that is good every time.
I'm not saying it's not possible, I'm just saying that it's a far harder problem to solve than working the other way. Nobody wants a plugin that delivers really well 30% of the time but delivers pure junk 30% of the time.