I have Arduino code which can generate any sounds in .wav format stored in sdcard using spi, it can play sounds while pwm(you mentioned servo) is running. The program use timer interrupt, I successfully use uart but they can never be running at the same time because they both use interrupts. Well, multitasking is not really multitasking, they use interrupt to switch from one routine to another. They call it preemption, but if you can provide short recorded sounds(let's assume in 250ms) that can make the transition smoothly from one sound file to another, then we are good. Another thing, you need to provide multiple sound files with respect to the number of variables you need.