Skip to content

Releases: ivan-magda/swift-speech-lanes

Release list

1.0.0

Choose a tag to compare

@ivan-magda ivan-magda released this 21 Jul 11:35
23da620

First public release of SpeechLanes: on-device, multi-language speech-to-text for Apple platforms.

What it does

SpeechLanes runs one SpeechAnalyzer lane per configured locale and returns the highest-confidence transcript. It picks SpeechTranscriber where Apple ships a model for the locale and falls back to DictationTranscriber (for example ru-RU). Lanes run in priority order, so the first clear match wins and one lane's failure never takes down a language that still works. Audio matching no configured language fails with a typed lowConfidence error instead of returning garbage.

Highlights

  • A SpeechLaneTranscriber actor behind the SpeechTranscribing protocol, with Configuration, a TranscriptionResult that reports the winning locale/confidence/engine, and a typed TranscriptionError.
  • On-device model provisioning that serializes reservations process-wide and evicts only the locales this library reserved, never the host app's.
  • Task cancellation tears down a wedged analyzer and throws .cancelled.
  • Any AVAudioFile-decodable input: Ogg/Opus, MP3, M4A, CAF, WAV.
  • Swift 6.2 strict concurrency, zero third-party dependencies.

Requirements

iOS 26, macOS 26, visionOS 26. Swift 6.2 and Xcode 26.

Install

.package(url: "https://github.com/ivan-magda/swift-speech-lanes.git", from: "1.0.0")

Documentation: https://ivan-magda.github.io/swift-speech-lanes/documentation/speechlanes