The problem with “sake” is that there is another English word meaning “rice wine” which it’s pronouncing instead: Sake - Wikipedia
In the case of the “caved” example, which I agree with you is pronounced incorrectly, I think it’s a more subtle mistake where the voice is not audibly pronouncing the “v”.
In both cases, getting the TTS (text-to-speech) to pronounce more context around the word does improve the pronunciation. e.g. “caved in” and “sake of” are pronounced correctly. It would be great if Readlang, which has access to this context, could feed it to the TTS service so that it will give the proper pronunciation. But there isn’t a simple way to do this with the TTS service I’m using.
One workaround I’ve been playing with is to use ChatGPT to provide the pronunciation using the IPA (International Phonetic Alphabet) and then to feed this along with the normal spelling to the TTS service. This seems like a promising approach which I might continue working on.