What you can do, and is probably the best way to get this to work, is tackle this with machine learning. You will need lots sound samples of rocks, with details of the rock, and feed them to some (probably deep learning) model.
Speech mimicking with AI has shown we are able to mimick voices, so I think a similar approach would work for rocks. Probably need some tuning and a bit different architecture for nice results since the application differs a bit.
It will of course be an approximation, but that is any calculation. Since all models are wrong, but some are less wrong than others.
I think the need for programmers will always be there, but there might be a transition towards higher abstraction levels. This has actually always been happening: we started with much focus on assembly languages where we put in machine code, but nowadays a much less portion of programmers are involved in those and do stuff in python, java or whatever. It is not essential to know stuff about garbage collection when you are writing an application, because the compiler already does that for you.
Programmers are there to tell a computer what to do. That includes telling a computer how to construct its own commands accordingly. So, giving instructions to an AI is also programming.