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))