One Logo Pool Ball
Speech · IOS API REFERENCE

SpeechTranscriber

class · iOS 26.0+ · SDK 27.1

final class SpeechTranscriber

A speech-to-text transcription module that's appropriate for normal conversation and general purposes. Several transcriber instances can share the same backing engine instances and models, so long as the transcribers are configured similarly in certain respects. ### Check device support Use the ``isAvailable`` or ``supportedLocales`` properties to see if the current device supports the speech-to-text models used by `SpeechTranscriber`. If it does not, consider disabling the feature or using ``DictationTranscriber`` instead.

Members (9)

get · iOS 26.0+

isAvailable

TypeScript
static get isAvailable(): boolean
Swift declaration
static var isAvailable: Bool { get }

A Boolean value that indicates whether this module is available given the device's hardware and capabilities.

get · iOS 26.0+

selectedLocales

TypeScript
get selectedLocales(): Array<_Foundation_Locale>
Swift declaration
final var selectedLocales: [Locale] { get }

The set of asset locales specified by the module's configuration.

static · iOS 26.0+

supportedLocale

TypeScript
static supportedLocale(locale: _Foundation_Locale): Promise<(_Foundation_Locale) | null>
Swift declaration
static func supportedLocale(equivalentTo locale: Locale) async -> Locale?

A locale from the module's supported locales equivalent to the given locale. Use this method to determine which of this module's supported locales is equivalent to an arbitrary locale such as `Locale.current`. If there is no exact equivalent, this method will return a near-equivalent: a supported (and by preference already-installed) locale that shares the same `Locale.LanguageCode` value but has a different `Locale.Region` value. This may result in an unexpected transcription, such as between "color" and "colour". - Tip: If you use this method, your application should ideally still provide a way for the user to correct the locale by selecting from the supported locales list. - Parameter locale: An arbitrary locale. - Returns: A locale in the supported locales list, or `nil` if there is no equivalent locale in that list.

get · iOS 26.0+

installedLocales

TypeScript
static get installedLocales(): Promise<Array<_Foundation_Locale>>
Swift declaration
static var installedLocales: [Locale] { get async }

The locales that the transcriber can transcribe into, considering only locales that are installed on the device.

get · iOS 26.0+

supportedLocales

TypeScript
static get supportedLocales(): Promise<Array<_Foundation_Locale>>
Swift declaration
static var supportedLocales: [Locale] { get async }

The locales that the transcriber can transcribe into, including locales that may not be installed but are downloadable. This array is empty if the device does not support the transcriber.

get · iOS 26.0+

availableCompatibleAudioFormats

TypeScript
get availableCompatibleAudioFormats(): Promise<Array<_AVFAudio_AVAudioFormat>>
Swift declaration
final var availableCompatibleAudioFormats: [AVAudioFormat] { get async }

The audio formats that this module is able to analyze, given its configuration. If the audio format doesn't matter, then there will be one format listed with a sample rate of `kAudioStreamAnyRate` and other values 0. If assets are necessary yet not installed on device, then the list will be empty. This property may be accessed before the module is added to the analyzer.

init · iOS 26.0+

init

TypeScript
static initLocaleTranscriptionOptionsReportingOptionsAttributeOptions(locale: _Foundation_Locale, transcriptionOptions: Array<SpeechTranscriber_TranscriptionOption>, reportingOptions: Array<SpeechTranscriber_ReportingOption>, attributeOptions: Array<SpeechTranscriber_ResultAttributeOption>): SpeechTranscriber
Swift declaration
convenience init(locale: Locale, transcriptionOptions: Set<SpeechTranscriber.TranscriptionOption>, reportingOptions: Set<SpeechTranscriber.ReportingOption>, attributeOptions: Set<SpeechTranscriber.ResultAttributeOption>)

Creates a general-purpose transcriber. - Parameters: - locale: A locale indicating a spoken and written language or script. - transcriptionOptions: A selection of options relating to the text of the transcription. - reportingOptions: A selection of options relating to the transcriber's result delivery. - attributeOptions: A selection of options relating to the attributes of the transcription.

init · iOS 26.0+

init

TypeScript
static initLocalePreset(locale: _Foundation_Locale, preset: SpeechTranscriber_Preset): SpeechTranscriber
Swift declaration
convenience init(locale: Locale, preset: SpeechTranscriber.Preset)

Creates a general-purpose transcriber according to a preset. - Parameters: - locale: A locale indicating a spoken and written language or script. - preset: A structure that contains some transcriber options.

get · iOS 26.0+

results

TypeScript
get results(): (SDKHandle) & (SDKHandle)
Swift declaration
final var results: some Sendable & AsyncSequence<SpeechTranscriber.Result, any Error> { get }

The asynchronous sequence of transcription results. Accessing this property does not create a new sequence.

Skipped declarations

No declarations were skipped in this snapshot.

All Speech types →