- Your audio uploaded to a third-party cloud
- A wall of text with no idea who's speaking
- API keys, accounts, and per-minute fees
- Confidential calls living on someone else's server
Transcribe the room. Know who said what.
A native Mac and iPhone app that turns a meeting, a call, or a recording into a labeled, timestamped transcript — speech recognition and live speaker diarization, computed entirely on-device. No cloud, no API keys, no audio leaving your machine.
Transcription makes you choose one or the other.
The convenient tools upload your audio to someone else's servers. The private ones can't tell two speakers apart. Transcription Studio refuses the trade — who-said-what, entirely on your own device.
- Every stage runs on your Mac or iPhone
- A labeled who-said-what transcript
- No keys, no accounts, no usage fees
- Audio never leaves the device
One local engine, two jobs.
On the Mac, paste a public URL — any yt-dlp-supported source — or drop a media file; on iPhone, pick a file. A background job model shows live progress through each stage and returns a clean transcript.
Capture live audio and get a diarized, timestamped transcript back — Speaker 1, Speaker 2, and so on — computed on-device. Two capture paths: the microphone for a room or speakerphone, and system audio to record a call locally.
On-device is the hard part. We did the hard part.
Two ML models running at once on the Apple Neural Engine, no network in the loop — and a diarizer we had to bring on-device ourselves.
On-device diarization runs on NVIDIA's Sortformer model — and the public Core ML conversion of it wouldn't load on any current toolchain. It aborted the process during graph specialization, on every runtime we tried. Rather than drop the capability, we re-exported the model from NVIDIA's original source checkpoint with the current export stack, verified it loads clean, and cross-checked its output against a second, independent diarizer before shipping it into the app. That's the difference between assembling components and building software.
WhisperKit ASR, on-device
Core ML Whisper for speech recognition. The model self-provisions on first use, then never touches the network again.
NVIDIA Sortformer diarization
A streaming diarizer resolving up to four speakers, running locally on the Apple Neural Engine — the 'who' in who-said-what.
Re-exported from the source model
The public Core ML conversion of Sortformer wouldn't load on any current toolchain, so we re-exported it from NVIDIA's original checkpoint ourselves.
Concurrent ML, instrumented
Transcription and diarization run at once on the same Neural Engine. We measure the contention — latency and thermal state — so the concurrency stays honest.
Two capture paths
Microphone via AVFoundation for a room or speakerphone, and system audio via ScreenCaptureKit to record a Zoom or Meet call locally.
One headless engine
A Swift CLI drives the identical pipeline from the command line — the same engine that powers FCT's internal transcription.
Every label is verifiable.
A diarizer's labels are only useful if you can check them. The app is built to be checked — the model's raw output is in reach, and an automated harness guards it on every build.
Speaker-activity heatmap
The model's raw per-frame output, visualized — see exactly where it heard each speaker.
Click any segment to play it
Judge a label by ear in one click. Provisional labels are visually distinct from committed ones.
A/B against a second diarizer
Run the same session through an independent diarizer and compare the two timelines side by side.
Verified on every build
A golden-mel gate, a synthetic ground-truth attribution gate, and an independent cross-check. The model is measured, never assumed.
Transcription Studio's native app is built and in daily internal use — an engineering showcase, not an App Store product. Live capture on real hardware is still being human-verified, so we frame it honestly: this is how FCT builds when the point is craft, not a listing you can download today. What's public right now is the open-source web engine below.
The open-source engine it grew from.
Before the native app, Transcription Studio was a small, self-hosted web service — Faster-Whisper behind a FastAPI backend, local-first, open source under MIT. It still runs headless as the transcription layer inside FCT's own operating system.



Transcription Studio, answered
01 What is Transcription Studio?
Transcription Studio is a native app from FCT Technologies that turns a recording into a transcript that knows who was speaking. It runs on macOS and iPhone from one SwiftUI codebase and does the entire job on-device: WhisperKit handles speech recognition and NVIDIA's streaming Sortformer model separates the speakers, so a meeting, call, or room recording becomes a labeled, timestamped who-said-what transcript. Nothing is uploaded — there is no cloud provider, no API key, and no audio leaving the machine. On the Mac it can also ingest a public URL (via yt-dlp) or a dropped media file; on iPhone it works from files. It grew out of FCT's open-source, local-first transcription web engine, which still runs headless behind the company's internal workflows. The native app is built and in internal daily use as an engineering showcase; it is not currently sold or listed on the App Store.
02 How does the speaker diarization work, and can I trust it?
Diarization — figuring out who spoke when — is handled by NVIDIA's streaming Sortformer model, which resolves up to four speakers and runs locally on the Apple Neural Engine. Getting it on-device took real work: the public Core ML conversion of Sortformer would not load on any current toolchain, so FCT re-exported the model from NVIDIA's original source checkpoint with the current export stack. Because a diarizer's labels are only useful if you can verify them, the app is built to be checked rather than believed. A first-class Inspector surfaces the model's raw output — a per-frame speaker-activity heatmap, ASR confidence, and per-stage latency — and lets you click any segment to play its audio and judge the label by ear, or run the same session through a second, independent diarizer and compare timelines. Underneath, an automated harness guards every build with a golden mel-spectrogram gate, a synthetic ground-truth attribution test, and a cross-check that fails loudly on disagreement.
03 Is my audio private with Transcription Studio?
Yes — privacy is the whole design. Every stage runs on your own device: WhisperKit for speech, the Sortformer diarizer on the Apple Neural Engine, and media handling through local tools. Your audio never leaves the machine, there are no accounts or API keys, and there is no external provider in the loop. That makes it a fit for sensitive recordings — client calls, interviews, internal meetings — where sending audio to a hosted service is not acceptable. When capturing a call's system audio on macOS, the app uses ScreenCaptureKit and asks for the standard screen-recording permission; you stay in control of what is captured. The open-source web engine that Transcription Studio grew from follows the same local-first principle and is published under the MIT license, so you can read exactly what it does.
04 Can I run the open-source engine myself?
Yes. Before the native app, Transcription Studio was a small, self-hosted web service, and that engine is still open source under the MIT license at github.com/fcttechnologies/TranscriptionStudio. It runs Faster-Whisper locally behind a FastAPI backend, with yt-dlp and FFmpeg handling media download and preparation, and it is comfortable on a 16 GB Mac mini with no GPU required. You paste a link or drop a file and get a clean transcript back, either through the one-link web UI or a JSON API you can automate against. It runs on macOS, Linux, or Windows and is self-hostable in an afternoon. It still runs headless inside FCT's own operating system as the transcription layer behind every 'transcribe this' request.
This is how FCT builds.
On-device ML, honest verification, and native craft — not a cloud wrapper. If that's the software you need built, let's talk.
