* Add ATTR_PREFERRED_FORMAT to TTS for auto-converting audio
* Move conversion into SpeechManager
* Handle None case for expected_extension
* Only use ATTR_AUDIO_OUTPUT
* Prefer MP3 in pipelines
* Automatically convert to mp3 on demand
* Add preferred audio format
* Break out preferred format
* Add ATTR_BLOCKING to allow async fetching
* Make a copy of supported options
* Fix MaryTTS tests
* Update ESPHome to use "wav" instead of "raw"
* Clean up tests, remove blocking
* Clean up rest of TTS tests
* Fix ESPHome tests
* More test coverage
pycsspeechtts uses the requests library, but Microsoft TTS previously
caught HTTPException from the standard library. This is changed to
catch requests.HTTPError and return `(None, None)` consistent with
other TTS integrations. This will properly raise HomeAssistantError
for display in the frontend.
Follow up to PR #92215 which adds tests for Microsoft TTS.
* Update Microsoft TTS supported languages
`script.microsoft_tts` scrapes Microsoft Azure documentation for
the list of supported languages and saves them to
`homeassistant.generated.microsoft_tts` for use in the component.
This adds support for more TTS languages, like fa-ir (Persian).
* Improve xpath query for Microsoft TTS languages
* Remove asserts for Microsoft TTS languages
* Add more tests for Microsoft TTS languages