I would probably start making attempts using OpenVoice2 through Pinokio. The problem here would be either having it live read the text, or process the entire text at a single time. Might have to do something clever to get that setup to work.
pinokio.computer
https://pinokio.computer/item?uri=https://github.com/cocktailpeanutlabs/openvoice2
https://github.com/myshell-ai/OpenVoice/blob/main/docs/USAGE.md