Speech synthesis (text-to-speech, TTS) and automatic speech recognition (ASR) are opposite tasks yet they can be complementary. In our work, we try to improve the TTS by using ASR. ASR plays the role of verifying the output of TTS. It compares the recognized text with the ground-truth text for an ASR loss to penalize TTS. In our experiments, TTS without ASR scored 3.96 mean opinion score (MOS), and with ASR it achieved 4.21 MOS. We also enhanced TTS using the architecture of discriminator in generative adversarial networks (GANs). By adding a speech discriminator to discriminate the mel-spectrogram synthesized by the synthesizer, it can change the learning of TTS and improve the quality of the synthesized speech. In our experiments, TTS with speech discriminator scored 4.26 MOS. Finally, our best TTS system used both ASR and speech discriminator in the synthesizer model, and it reached 4.29 MOS.