I have an opensource project that uses Microsoft Speech AI. You have to sign up for a free Azure account, but Microsoft gives you 500,000 characters per month free. That’s about 10 - 15 hours of text. I just updated this week and there are now 95 voices. There are 300 or 400 from Azure Speech, but I only use the English ones. You can filter by male or female and country.
I made this after reading this post. This is a Great Britain Voice Hollie, Emotion Angry.