text: Title: [Bug] Tacotron2-DDC denial of service + bizarre behavior when input ends with "?!?!"
  Body: ### Describe the bug
  
  Before I start, I just want to say this is funniest bug I've come across in my 20+ years of software development.
  
  To keep the issue a bit more readable, I've put the audio uploads in detail tags. Click on the arrow by each sample to hear it.
  
  ---
  
  Adding on `?!?!` to the end of a prompt using Tacotron2-DDC causes the decoder to trail off (hence the "DOS" aspect of this bug). After `max_decoder_steps` is exceeded, the audio gets dumped to disk and the results are... well, somehow both nightmare fuel and the most hilarious sounds at the same time.
  
  After the original prompt is finished speaking, it trails off into repeating bizarre remnants of the prompt over and over, akin to a baby speaking, or someone having a mental break down. In some cases it sounds much more, uh... explicit, depending on what was in the prompt.
  
  Note how it says the prompt correctly before trailing off.
  
  <details><summary><code>squibbidy bop boop doop bomp pewonkus dinkus womp womp womp deebop scoop top lop begomp?!?!?!</code></summary>
  <p>
  
  [boopdoop.webm](https://github.com/coqui-ai/TTS/assets/885648/233570c2-0b5c-48bb-8a84-a92605a127de)
  
  </p>
  </details> 
  
  It appears the question marks / bangs must come at the end of the input text; being present in the middle of the prompt seems to work fine.
  
  <details><summary><code>before the question marks?!?!?!? after them</code></summary>
  <p>
  
  [middle.webm](https://github.com/coqui-ai/TTS/assets/885648/409915f4-e49f-4e63-98c4-e7de2fbd99f9)
  
  </p>
  </details> 
  
  Conversely, removing ` after them` from the prompt causes the bug, but it completes before `max_decoder_steps` is exceeded, suggesting that the decoder doesn't go off into infinity but has _some_ point of termination, albeit exponentially beyond the input text length.
  
  <details><summary><code>before the question marks?!?!?!?!</code></summary>
  <p>
  
  [just-before.webm](https://github.com/coqui-ai/TTS/assets/885648/5220c870-a83d-4e21-a962-0258d3aa8029)
  
  </p>
  </details> 
  
  Further, it seems as little as `?!?!` causes the bug. `?!` and `?!?` do not.
  
  <details><summary><code>what are you doing today?!</code></summary>
  <p>
  
  [wayd_1.webm](https://github.com/coqui-ai/TTS/assets/885648/33223b5e-68ca-488f-a52c-458940c90e1c)
  
  </p>
  </details> 
  
  <details><summary><code>what are you doing today?!?</code></summary>
  <p>
  
  [wayd_2.webm](https://github.com/coqui-ai/TTS/assets/885648/6210adf5-a62b-4fb5-a3aa-c8fb9786d9ac)
  
  </p>
  </details>
  
  <details><summary><code>what are you doing today?!?!</code></summary>
  <p>
  
  [wayd_3.webm](https://github.com/coqui-ai/TTS/assets/885648/763ccb7a-af24-4984-aed0-9dd6d79e3094)
  
  </p>
  </details>
  
  Some inputs, however, are completely unaffected.
  
  <details><summary><code>woohoo I'm too cool for school weehee you're too cool for me?!?!?!</code></summary>
  <p>
  
  [in-situ-bug.webm](https://github.com/coqui-ai/TTS/assets/885648/31171d73-abcf-4e73-9d15-cfe8e8edcef0)
  
  </p>
  </details>
  
  ### Examples
  
  Here are more examples, just because... well, why not.
  
  <details><summary><code>blahblahblahblahblah?!?!?!</code></summary>
  <p>
  
  [blahblahblah.webm](https://github.com/coqui-ai/TTS/assets/885648/22c467c0-26b7-4d7c-8da6-1e96e03b11a7)
  
  </p>
  </details>
  
  <details><summary><code>ah ah ah let's count to ten AH AH AH LET'S COUNT TO TEN?!?!?!</code></summary>
  <p>
  
  [counttoten.webm](https://github.com/coqui-ai/TTS/assets/885648/442c72b9-f16e-4457-b6c5-d54ee15e2a28)
  
  </p>
  </details>
  
  <details><summary><code>holy smokes it's an artichoke gone broke woah ho ho?!?!?!</code></summary>
  <p>
  
  [artichoke.webm](https://github.com/coqui-ai/TTS/assets/885648/d700acf8-4b68-448d-8311-a88d9185fe40)
  
  </p>
  </details>
  
  <details><summary><code>hahahahaha reeeeeeeeeeeee maaaaaaaaaaaaa?!?!?!</code></summary>
  <p>
  
  [hahahaha.webm](https://github.com/coqui-ai/TTS/assets/885648/ae7ec6ff-7d0e-4f29-9bab-31e495a5c28b)
  
  </p>
  </details>
  
  <details><summary><code>scooby dooby doo where are you we've got some work to do now?!?!?!?!?!</code></summary>
  <p>
  
  [scoobydoo.webm](https://github.com/coqui-ai/TTS/assets/885648/a6131b66-0cdf-4068-bb5b-25816f2b1335)
  
  </p>
  </details>
  
  <details><summary><code>ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ah ah ah le-meow u r so dang funny amirite bros?!?!?!</code></summary>
  <p>
  
  [ayyy_bugged.webm](https://github.com/coqui-ai/TTS/assets/885648/e5095500-6063-4d79-a8c4-bdae2e135547)
  
  </p>
  </details>
  
  
  ### To Reproduce
  
  Generate some speech with the tacotron2-ddc model with `?!?!?!` at the end.
  
  ```shell
  tts \
      --out_path output/hello.wav \
      --model_name "tts_models/en/ljspeech/tacotron2-DDC" \
      --text "holy smokes it's an artichoke gone broke woah ho ho?!?!?!"
  ```
  
  ### Expected behavior
  
  Just speaking the input prompt and ending, not... whatever it's doing now.
  
  ### Logs
  
  ```console
  $ tts --out_path output/hello.wav --model_name "tts_models/en/ljspeech/tacotron2-DDC" --text "holy smokes it's an artichoke gone broke woah ho ho?!?!?!"
   > tts_models/en/ljspeech/tacotron2-DDC is already downloaded.
   > vocoder_models/en/ljspeech/hifigan_v2 is already downloaded.
   > Using model: Tacotron2
   > Setting up Audio Processor...
   | > sample_rate:22050
   | > resample:False
   | > num_mels:80
   | > log_func:np.log
   | > min_level_db:-100
   | > frame_shift_ms:None
   | > frame_length_ms:None
   | > ref_level_db:20
   | > fft_size:1024
   | > power:1.5
   | > preemphasis:0.0
   | > griffin_lim_iters:60
   | > signal_norm:False
   | > symmetric_norm:True
   | > mel_fmin:0
   | > mel_fmax:8000.0
   | > pitch_fmin:1.0
   | > pitch_fmax:640.0
   | > spec_gain:1.0
   | > stft_pad_mode:reflect
   | > max_norm:4.0
   | > clip_norm:True
   | > do_trim_silence:True
   | > trim_db:60
   | > do_sound_norm:False
   | > do_amp_to_db_linear:True
   | > do_amp_to_db_mel:True
   | > do_rms_norm:False
   | > db_level:None
   | > stats_path:None
   | > base:2.718281828459045
   | > hop_length:256
   | > win_length:1024
   > Model's reduction rate `r` is set to: 1
   > Vocoder Model: hifigan
   > Setting up Audio Processor...
   | > sample_rate:22050
   | > resample:False
   | > num_mels:80
   | > log_func:np.log
   | > min_level_db:-100
   | > frame_shift_ms:None
   | > frame_length_ms:None
   | > ref_level_db:20
   | > fft_size:1024
   | > power:1.5
   | > preemphasis:0.0
   | > griffin_lim_iters:60
   | > signal_norm:False
   | > symmetric_norm:True
   | > mel_fmin:0
   | > mel_fmax:8000.0
   | > pitch_fmin:1.0
   | > pitch_fmax:640.0
   | > spec_gain:1.0
   | > stft_pad_mode:reflect
   | > max_norm:4.0
   | > clip_norm:True
   | > do_trim_silence:False
   | > trim_db:60
   | > do_sound_norm:False
   | > do_amp_to_db_linear:True
   | > do_amp_to_db_mel:True
   | > do_rms_norm:False
   | > db_level:None
   | > stats_path:None
   | > base:2.718281828459045
   | > hop_length:256
   | > win_length:1024
   > Generator Model: hifigan_generator
   > Discriminator Model: hifigan_discriminator
  Removing weight norm...
   > Text: holy smokes it's an artichoke gone broke woah ho ho?!?!?!
   > Text splitted to sentences.
  ["holy smokes it's an artichoke gone broke woah ho ho?!?!?!"]
     > Decoder stopped with `max_decoder_steps` 10000
   > Processing time: 77.33241438865662
   > Real-time factor: 0.662833806507867
   > Saving output to output/hello.wav
  ```
  
  
  ### Environment
  
  ```shell
  {
      "CUDA": {
          "GPU": [],
          "available": false,
          "version": "11.7"
      },
      "Packages": {
          "PyTorch_debug": false,
          "PyTorch_version": "2.0.1+cu117",
          "TTS": "0.14.3",
          "numpy": "1.23.5"
      },
      "System": {
          "OS": "Linux",
          "architecture": [
              "64bit",
              "ELF"
          ],
          "processor": "x86_64",
          "python": "3.10.6",
          "version": "#2311-Microsoft Tue Nov 08 17:09:00 PST 2022"
      }
  }
  ```
  
  To be clear, this is on WSL1 on Windows, so things are running under "Ubuntu".
  
  ### Additional context
  
  I'm unsure if other models are affected, I haven't tried.