---
title: "init(inputSequence:modules:options:analysisContext:volatileRangeChangedHandler:)"
framework: speech
role: symbol
role_heading: Initializer
path: "speech/speechanalyzer/init(inputsequence:modules:options:analysiscontext:volatilerangechangedhandler:)"
---

# init(inputSequence:modules:options:analysisContext:volatileRangeChangedHandler:)

Creates an analyzer and begins analysis.

## Declaration

```swift
convenience init<InputSequence>(inputSequence: InputSequence, modules: [any SpeechModule], options: SpeechAnalyzer.Options? = nil, analysisContext: AnalysisContext = .init(), volatileRangeChangedHandler: sending ((CMTimeRange, Bool, Bool) -> Void)? = nil) where InputSequence : Sendable, InputSequence : AsyncSequence, InputSequence.Element == AnalyzerInput
```

## Parameters

- `inputSequence`: An asynchronous sequence of audio inputs to analyze. Analysis will begin when the first audio input is added to the sequence.
- `modules`: An initial list of modules that will analyze the audio.
- `options`: A structure specifying analysis options.
- `analysisContext`: An object containing contextual information to improve or inform the analysis.
- `volatileRangeChangedHandler`: A closure called to report the analysis’ progress. The closure takes the following parameters:

## See Also

### Creating an analyzer

- [init(modules:options:)](speech/speechanalyzer/init(modules:options:).md)
- [init(inputAudioFile:modules:options:analysisContext:finishAfterFile:volatileRangeChangedHandler:)](speech/speechanalyzer/init(inputaudiofile:modules:options:analysiscontext:finishafterfile:volatilerangechangedhandler:).md)
- [SpeechAnalyzer.Options](speech/speechanalyzer/options.md)
