What would be the best approach to teach an AI to learn how to "sing" along a beat?
You have to define a function between voice and a corresponding sound, but there is no a best way to do it, it depends on what kind od output you care, for example you could create an algorithm that receives music and siging as separate "files" and then that algorithm finds the relation between them now you can give that algorithm a new music only file and it will create the singing part with the function of the previous music-singing "system".
This is sing this music as the other one was sang.

At least that is the way i would do it.