Optional splitter used only when audio exceeds OpenAI's upload ceiling. See AudioSplitter for why splitting is injected rather than bundled.
Speaks params.text. params.CancellationToken is passed to the request, so aborting it tears
the request down; the failure is then classified as a cancellation.
The driver's speech models.
The pronunciation dictionaries available to the driver; empty when it has none.
The names of the methods this driver implements.
The voices the driver can speak in.
Transcribes audio to text using OpenAI's Whisper endpoint.
Audio above the 25MB upload ceiling requires an AudioSplitter on Splitter;
without one, oversized audio fails with a message naming the option rather than silently
transcribing a truncated prefix. Pieces are transcribed sequentially — see
BaseAudioGenerator.TranscribeWithSplitting. params.CancellationToken is passed to
each piece's request, and no further piece is sent once it aborts.
ProtectedTranscribeTranscribes audio that may exceed the provider's upload ceiling, splitting it first when it does. See TranscribeAudioWithSplitting, which this calls, for the behavior.
The full audio to transcribe
The provider's hard upload ceiling
Target piece size, below the ceiling to leave room for multipart framing
Splitter to use for oversized audio; may be null, in which case oversized audio fails
Provider name, used in the size-limit error messages
Transcribes a single piece already known to be within the ceiling, and is
handed cancellationToken to forward to its request
OptionalcancellationToken: AbortSignalCancels the transcription: no further piece is sent once it aborts
OpenAI audio: text-to-speech (
gpt-4o-mini-tts) and speech-to-text (Whisper).It does both, so it is registered against BaseTextToSpeech and BaseSpeechToText under the key model metadata names. It still extends, and is registered against,
BaseAudioGenerator, so callers that resolve it through the old base keep working.