Overview
Argmax Open-Source SDK Swift is a collection of turn-key on-device inference frameworks for Apple Silicon, distributed as one Swift package with three library products. WhisperKit handles speech-to-text with OpenAI Whisper, SpeakerKit does speaker diarization with Pyannote, and TTSKit does text-to-speech with Qwen-TTS.
Everything runs locally on the device rather than calling a hosted API, which is the point: audio never leaves the machine, there is no per-minute billing, and transcription works offline. WhisperKit in particular has become a common way to put Whisper into a macOS or iOS app without shipping a Python runtime alongside it.
You add the package once and pick the products you need — WhisperKit, TTSKit and SpeakerKit individually, or the ArgmaxOSS umbrella product to import all three. Each kit also ships a Swift CLI, WhisperKit adds a local server exposing HTTP endpoints for non-Swift callers, and the transcription and diarization kits can be combined so a transcript carries speaker labels. The project requires macOS 14.0 or later and Xcode 16.0 or later. Argmax also sells a commercial Pro SDK covering real-time transcription with speakers, custom vocabulary, a local server for non-native apps and Android support via a Kotlin SDK; this repository is the open-source subset.
What it does
- WhisperKit: on-device speech-to-text with OpenAI Whisper, including memory-efficient loading for large files and selectable model sizes
- SpeakerKit: speaker diarization with Pyannote, combinable with transcription and able to emit RTTM output
- TTSKit: text-to-speech with Qwen-TTS, custom voices, real-time streaming playback and style instructions on the 1.7B model
- Distributed as one Swift package with per-kit library products plus an ArgmaxOSS umbrella product
- A Swift CLI for each kit, and a WhisperKit local server with HTTP endpoints and a generated API specification for non-Swift clients
- Runs entirely on-device on Apple Silicon — no audio leaves the machine and transcription works offline
Getting started
Add the Swift package to your project and select the kits you need. macOS 14.0+ and Xcode 16.0+ are required. For command-line transcription only, Homebrew is faster.
Add the package in Xcode
File > Add Package Dependencies…, enter the repository URL, choose a version, then select ArgmaxOSS for all kits or pick individual products.
https://github.com/argmaxinc/argmax-oss-swiftOr declare it in Package.swift
Add the package dependency, then list the products you want as target dependencies.
dependencies: [
.package(url: "https://github.com/argmaxinc/argmax-oss-swift.git", from: "0.9.0"),
],
.target(
name: "YourApp",
dependencies: [
// Import everything at once:
.product(name: "ArgmaxOSS", package: "argmax-oss-swift"),
// Or pick individual kits:
// .product(name: "WhisperKit", package: "argmax-oss-swift"), // speech-to-text
// .product(name: "TTSKit", package: "argmax-oss-swift"), // text-to-speech
// .product(name: "SpeakerKit", package: "argmax-oss-swift"), // speaker diarization
]
),Transcribe a file with WhisperKit
Initialize the pipeline with default settings and transcribe a local audio file.
import WhisperKit
// Initialize WhisperKit with default settings
Task {
let pipe = try? await WhisperKit()
let results = try? await pipe?.transcribe(audioPath: audioPath)
}Install the CLI with Homebrew
For transcription from the terminal without building an app.
brew install whisperkit-cliCommands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Ship Whisper transcription inside a macOS or iOS app without a hosted API or a bundled Python runtime
- Produce a diarized transcript that labels who spoke when, by combining SpeakerKit with WhisperKit
- Add on-device text-to-speech with custom voices and streaming playback to an Apple-platform app
- Transcribe audio on a machine with no network access, or where recordings must not leave the device
How Argmax Open-Source SDK (Swift) compares
Argmax Open-Source SDK (Swift) alongside other open-source audio, music & voice tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Whisper | ★ 109k | OpenAI's speech recognition model that transcribes and translates audio across many languages. |
| GPT-SoVITS | ★ 61.8k | An open-source WebUI that clones a voice from a short audio sample and turns text into speech, with zero-shot and few-shot fine-tuning. |
| VibeVoice | ★ 54.3k | Microsoft's text-to-speech model for generating long, expressive multi-speaker audio like podcasts. |
| Voicebox | ★ 54.3k | Local-first voice studio that clones a voice from a short sample, generates speech across seven TTS engines and 23 languages, handles system-wide dictation, and speaks for agents over MCP. |
| whisper.cpp | ★ 53.7k | A dependency-free C/C++ port of Whisper built on ggml, running speech recognition on CPU, Metal, CUDA, Vulkan and NPUs from phones to servers. |
| Coqui TTS | ★ 46k | A library of text-to-speech models including the multilingual XTTS voice-cloning model. |
| ChatTTS | ★ 39.8k | ChatTTS is an open-source text-to-speech model tuned for dialogue, with multi-speaker support and fine-grained control over laughter, pauses, and prosody. |
| Argmax Open-Source SDK (Swift) | ★ 6.4k | WhisperKit, TTSKit and SpeakerKit — on-device speech for Apple Silicon in one Swift package |