AbstractAbstractCreateSpeaks params.text in params.voice. On success the audio is in SpeechResult.data, and
base 64 encoded in SpeechResult.content.
AbstractGetThe driver's speech models.
AbstractGetThe pronunciation dictionaries available to the driver; empty when it has none.
AbstractGetThe names of the methods this driver implements.
AbstractGetThe voices the driver can speak in.
AbstractSpeechTranscribes the audio in params.audioData (or the base 64 params.audioFile). On success the
transcript is in SpeechResult.content, and SpeechResult.usage carries the audio duration in
Seconds when the provider reported one.
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
Base class for audio models that carries both text-to-speech and speech-to-text. Not all sub-classes support all methods: an unsupported method throws, and
GetSupportedMethodsnames the ones a sub-class implements.It spans two model types (
TTSandSpeech to Text), so it has been split. It stays, and keeps working, for drivers and callers that already use it: it implements both halves, so any of its drivers can be used where either new base class is expected. The drivers MemberJunction ships still extend it and are also registered against the new class or classes they implement, under the same keys.Deprecated
Use BaseTextToSpeech for text-to-speech and BaseSpeechToText for speech-to-text. An application that overrides a shipped audio driver must also register the override against the new class or classes that driver implements, under the same key, for example
@RegisterClass(BaseTextToSpeech, 'OpenAIAudioGenerator'). The ClassFactory keeps registrations per base class, and the text-to-speech and speech-to-text runners resolve drivers through the new classes, so an override registered only againstBaseAudioGeneratoris not used by them.