<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Speech",
  "identifier" : "/documentation/Speech/DictationTranscriber",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Speech"
    ],
    "preciseIdentifier" : "s:6Speech20DictationTranscriberC"
  },
  "title" : "DictationTranscriber"
}
-->

# DictationTranscriber

A speech-to-text transcription module that’s similar to system dictation features and compatible with older devices.

```
final class DictationTranscriber
```

## Overview

This transcriber uses the same speech-to-text machine learning models as system dictation features do, or as [`SFSpeechRecognizer`](/documentation/Speech/SFSpeechRecognizer) does when it is configured for on-device operation. This transcriber does not support languages or locales that `SFSpeechRecognizer` only supports via network access.

Several transcriber instances can share the same backing engine instances and models, so long as the transcribers are configured similarly in certain respects.

### Improve accuracy

You can bias recognition towards certain words, supply custom vocabulary, or adjust the transcriber’s algorithm to improve the transcriber’s accuracy.

To bias recognition towards certain words, create an [`AnalysisContext`](/documentation/Speech/AnalysisContext) object and add those words to its [`contextualStrings`](/documentation/Speech/AnalysisContext/contextualStrings) property. Create a [`SpeechAnalyzer`](/documentation/Speech/SpeechAnalyzer) instance with that context object or set the analyzer’s [`context`](/documentation/Speech/SpeechAnalyzer/context) property.

To supply custom vocabulary, create an [`SFSpeechLanguageModel`](/documentation/Speech/SFSpeechLanguageModel) object and configure the transcriber with a corresponding [`customizedLanguage(modelConfiguration:)`](/documentation/Speech/DictationTranscriber/ContentHint/customizedLanguage(modelConfiguration:)) option.

To adjust the transcriber’s algorithm, configure the transcriber with relevant [`DictationTranscriber.ContentHint`](/documentation/Speech/DictationTranscriber/ContentHint) parameter. For example, you may use [`farField`](/documentation/Speech/DictationTranscriber/ContentHint/farField) hint to improve accuracy of distant speech.

## Topics

### Creating a transcriber

[`init(locale:preset:)`](/documentation/Speech/DictationTranscriber/init(locale:preset:))

Creates a transcriber according to a preset.

[`init(locale:contentHints:transcriptionOptions:reportingOptions:attributeOptions:)`](/documentation/Speech/DictationTranscriber/init(locale:contentHints:transcriptionOptions:reportingOptions:attributeOptions:))

Creates a transcriber.

[`Preset`](/documentation/Speech/DictationTranscriber/Preset)

Predefined transcriber configurations.

### Configuring transcription

[`ContentHint`](/documentation/Speech/DictationTranscriber/ContentHint)

Expected characteristics of the spoken audio content and its delivery.

[`ReportingOption`](/documentation/Speech/DictationTranscriber/ReportingOption)

Options relating to the transcriber’s result delivery.

[`ResultAttributeOption`](/documentation/Speech/DictationTranscriber/ResultAttributeOption)

Options relating to the attributes of the transcription.

[`TranscriptionOption`](/documentation/Speech/DictationTranscriber/TranscriptionOption)

Options relating to the text of the transcription.

### Checking locale support

[`installedLocales`](/documentation/Speech/DictationTranscriber/installedLocales)

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

[`supportedLocales`](/documentation/Speech/DictationTranscriber/supportedLocales)

The locales that the transcriber can transcribe into, including locales that may not be installed but are downloadable.

[`supportedLocale(equivalentTo:)`](/documentation/Speech/DictationTranscriber/supportedLocale(equivalentTo:))

A locale from the module’s supported locales equivalent to the given locale.

### Checking audio format support

### Getting results

[`results`](/documentation/Speech/DictationTranscriber/results)

The asynchronous sequence of transcription results.

[`Result`](/documentation/Speech/DictationTranscriber/Result)

A phrase or passage of transcribed speech. The phrases are sent in order.

### Inspecting the transcriber

## Relationships

### Conforms To

[`LocaleDependentSpeechModule`](/documentation/Speech/LocaleDependentSpeechModule)

[`Sendable`](/documentation/Swift/Sendable)

[`SpeechModule`](/documentation/Speech/SpeechModule)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)