A result from the speech detector. Please note, these must be enabled via ``SpeechDetector/init(detectionOptions:reportResults:)`` and currently only support error handling from the VAD model.
Members (4)
get · iOS 26.0+
description
TypeScript
get description(): string
Swift declaration
var description: String { get }
A textual representation of this instance.
Calling this property directly is discouraged. Instead, convert an
instance of any type to a string by using the `String(describing:)`
initializer. This initializer works with any type, and uses the custom
`description` property for types that conform to
`CustomStringConvertible`:
struct Point: CustomStringConvertible {
let x: Int, y: Int
var description: String {
return "(\(x), \(y))"
}
}
let p = Point(x: 21, y: 30)
let s = String(describing: p)
print(s)
// Prints "(21, 30)"
The conversion of `p` to a string in the assignment to `s` uses the
`Point` type's `description` property.
get · iOS 26.0+
speechDetected
TypeScript
get speechDetected(): boolean
Swift declaration
let speechDetected: Bool
get · iOS 26.0+
resultsFinalizationTime
TypeScript
get resultsFinalizationTime(): _CoreMedia_CMTime
Swift declaration
let resultsFinalizationTime: CMTime
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.
This value is mostly equivalent to the start of ``SpeechAnalyzer/volatileRange`` after the time at which this result was published. The module publishing this result will publish no futher results with a ``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 <doc:/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 ``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.
get · iOS 26.0+
range
TypeScript
get range(): _CoreMedia_CMTimeRange
Swift declaration
let range: CMTimeRange
The audio input range that this result applies to.