<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Speech",
  "identifier" : "/documentation/Speech/SpeechModuleResult/resultsFinalizationTime",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Speech"
    ],
    "preciseIdentifier" : "s:6Speech0A12ModuleResultP23resultsFinalizationTimeSo6CMTimeavp"
  },
  "title" : "resultsFinalizationTime"
}
-->

# resultsFinalizationTime

The audio input time up to which results from this module have been finalized (after this result). The module’s results are final up to but not including this time.

```
var resultsFinalizationTime: CMTime { get }
```

## Discussion

This value is mostly equivalent to the start of [`volatileRange`](/documentation/Speech/SpeechAnalyzer/volatileRange) after the time at which this result was published. The module publishing this result will publish no futher results with a [`range`](/documentation/Speech/SpeechModuleResult/range) that encompasses a time predating this time. The module may publish results for a range that includes this time.

The client can draw the following conclusions from this value and `range` (or refer to the [`isFinal`](/documentation/Speech/SpeechModuleResult/isFinal) property):

- If `resultsFinalizationTime >= range.end` then this result is final. Additionally, all previously-provided results with a `range` predating `resultsFinalizationTime` are also final.
- If `resultsFinalizationTime < range.end` (or `resultsFinalizationTime <= range.start`) then this result is volatile and may or may not be replaced by a result provided later.

A module is not required to provide new, final results for audio ranges that it finalizes through if the previously-volatile result was unchanged by finalization. If needed, however, a client can create two modules—one that provides both volatile and final results, and a second that only provides final results—and process results from the latter differently.

This value is not *exactly* equivalent to the start of the volatile range. The [`volatileRange`](/documentation/Speech/SpeechAnalyzer/volatileRange) property combines all modules’ volatile ranges together; this property only refers to the finalization status of results from the module delivering this result.

---

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)