# Inject a text-to-speech message

> Inject a text-to-speech message into Vivox channels.

To inject a text-to-speech (TTS) message into channel or local audio, use `ITextToSpeech::Speak()`:

```plaintext
ITTSMessage *Message;
TTSDestination Destination = TTSDestination::QueuedRemoteTransmissionWithLocalPlayback;
MyLoginSession->TTS().Speak("Hello World!", Destination, &Message);
```

`Speak()` accepts the following parameters:

* The text to be converted into speech.
* [The TTSDestination](./tts-destinations.md).
* Optionally as an out parameter, a TTS message reference set to the newly created ITTSMessage, regardless of whether it is currently playing in the destination or is in a queue waiting to be synthesized.

  > **Note:**
  >
  > You can use this reference at a later time, for example, to [cancel TTS messages](./cancel-tts-message.md). It is possible to obtain these references at a later time by using `ITextToSpeech::GetMessages()`.

If multiple TTS users are in one voice or text channel, then you can prefix the display name of the user who is sending the TTS message. For example, “\[Display name] says…”
