<p>As far as my research goes the best architecture for making a TTS engine currently is Tacotron 2[<a href="https://arxiv.org/pdf/1712.05884.pdf" rel="nofollow noreferrer">Paper here</a>], a neural network architecture for
speech synthesis directly from text (can easily capture via <a href="https://en.wikipedia.org/wiki/Optical_character_recognition" rel="nofollow noreferrer">OCR</a>). It has achieved a <a href="https://en.wikipedia.org/wiki/Mean_opinion_score#:%7E:text=Mean%20opinion%20score%20(MOS)%20is,of%20a%20stimulus%20or%20system.&amp;text=MOS%20is%20a%20commonly%20used,not%20restricted%20to%20those%20modalities." rel="nofollow noreferrer">MOS(mean opinion score)</a> of 4.53 comparable to a MOS of 4.58 for professionally recorded speech. The official implementation of Tacotron 2 is not public but there is a tensorflow implementation made using tensorflow 1.15.0 <a href="https://github.com/Rayhane-mamah/Tacotron-2" rel="nofollow noreferrer">here</a>. There is also a pytorch implementation by nvidia <a href="https://github.com/NVIDIA/tacotron2" rel="nofollow noreferrer">here</a> which is more currently maintained. Both implementations can be retrained using dataset for a new language(language with no TTS implementation yet) for easy implementation of a TTS engine. You can also use the architectures above as a stepping stone to build your own architecture.</p>
How to create custom text-to-speech engine
<p>As I know, TTS needs TTS engine to speak one language. In Android emulator 2.2, Pico TTS engine is default. It has only some popular languages. I can see some engines on Market which must be purchased to install. My question: <strong>is there any way to create a custom engine which support other languages?(by programming or using software)</strong> </p>

<p>(I don't know if I should post this question in StackOverflow or SuperUser. If wrong place, please migrate it)</p>