def tts()

in ultravox/tools/ds_tool/tts.py [0:0]


    def tts(self, text: str, voice: Optional[str] = None):
        voice = self.resolve_voice(voice)
        region = "westus"
        api_key = os.environ.get("AZURE_TTS_API_KEY") or os.environ.get(
            "AZURE_WESTUS_TTS_API_KEY"
        )
        assert api_key, "Please set the AZURE_TTS_API_KEY environment variable."
        output_format = f"raw-{self._sample_rate // 1000}khz-16bit-mono-pcm"
        url = f"https://{region}.tts.speech.microsoft.com/cognitiveservices/v1"
        headers = {
            "Ocp-Apim-Subscription-Key": api_key,
            "Content-Type": "application/ssml+xml",
            "X-Microsoft-OutputFormat": output_format,
            "User-Agent": "MyTTS",
        }
        body = _make_ssml(voice, text)
        return self._handle_pcm_response(self._post(url, headers, body))