---
title: "init(inputAudioFile:modules:options:analysisContext:finishAfterFile:volatileRangeChangedHandler:)"
framework: speech
role: symbol
role_heading: Initializer
path: "speech/speechanalyzer/init(inputaudiofile:modules:options:analysiscontext:finishafterfile:volatilerangechangedhandler:)"
---

# init(inputAudioFile:modules:options:analysisContext:finishAfterFile:volatileRangeChangedHandler:)

Creates an analyzer and begins analysis on an audio file.

## Declaration

```swift
convenience init(inputAudioFile: AVAudioFile, modules: [any SpeechModule], options: SpeechAnalyzer.Options? = nil, analysisContext: AnalysisContext = .init(), finishAfterFile: Bool = false, volatileRangeChangedHandler: sending ((CMTimeRange, Bool, Bool) -> Void)? = nil) async throws
```

## Parameters

- `inputAudioFile`: An audio file opened for reading.
- `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.
- `finishAfterFile`: If true, the analysis will automatically finish after the audio file has been fully processed. Equivalent to calling doc://com.apple.speech/documentation/Speech/SpeechAnalyzer/finalizeAndFinishThroughEndOfInput().
- `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(inputSequence:modules:options:analysisContext:volatileRangeChangedHandler:)](speech/speechanalyzer/init(inputsequence:modules:options:analysiscontext:volatilerangechangedhandler:).md)
- [SpeechAnalyzer.Options](speech/speechanalyzer/options.md)
