---
title: "Offline Meeting Transcription with Speaker Labels, on Your Own Computer"
description: "Transcribe a meeting offline and split it by speaker on an Apple silicon Mac or a Windows or Linux x64 PC with Foxl Notes: free, nothing uploaded, no account."
author: "Foxl Team"
date_published: "2026-10-27"
date_modified: "2026-10-27"
canonical_url: "https://foxl.ai/en/blog/offline-speaker-diarization"
markdown_url: "https://foxl.ai/en/blog/offline-speaker-diarization/index.md"
image: "https://foxl.ai/blog/offline-speaker-diarization-cover.png"
social_image: "https://foxl.ai/blog/social/offline-speaker-diarization.png"
content_type: "Deep dive"
topics: ["Speaker diarization","Transcription","Meeting notes","On-device models","Privacy"]
products: ["Foxl Notes"]
---

<!-- Generated by scripts/blog-publishing.mjs; do not edit. -->

# Offline Meeting Transcription with Speaker Labels, on Your Own Computer

> To transcribe a meeting offline and keep track of who said what, choose the on-device engine in Foxl Notes: it transcribes on your own computer (a Mac with Apple silicon, or a Windows or Linux x64 PC) and labels each turn Speaker 1, Speaker 2, with nothing uploaded, nothing billed and no account needed. How to set it up, what the speaker labels get right on Foxl's test recordings and where they deliberately hold back, with real screenshots of v0.9.2.

- Author: Foxl Team
- Published: 2026-10-27
- Last reviewed: 2026-10-27
- Reading time: 5 minutes
- Canonical HTML: [https://foxl.ai/en/blog/offline-speaker-diarization](<https://foxl.ai/en/blog/offline-speaker-diarization>)

![A two-ink risograph print: one recording's waveform pulls apart into a pink strand and a blue strand, and each runs into its own rows of lines that start with a dot of its colour, the way the transcript marks each speaker.](<https://foxl.ai/blog/offline-speaker-diarization-cover.png>)

To transcribe a meeting offline and keep track of who said what, install Foxl, choose the on-device engine under Settings > Recording, then record the meeting or import its audio in Foxl Notes. The engine transcribes on your own computer and labels each turn Speaker 1, Speaker 2 and so on. The audio is not sent anywhere to be transcribed, nothing is billed, and you do not need a Foxl account for it. It runs on a Mac with Apple silicon, a Windows x64 PC or a Linux x64 computer, after a one-off download of about 1.3 GB.

## What is speaker diarization?

Speaker diarization is splitting a recording by who is speaking, so that each line of a transcript says which voice said it. It does not know anyone's name: it decides which stretches of audio come from the same voice and gives that voice a number. In a two-person call that is the difference between a wall of text and a conversation you can follow, especially when you are looking for what one person agreed to.

A cloud transcription service does this on its own servers, after the recording has been uploaded. Foxl Notes does it on the computer the recording is on, in the same engine that writes the words.

## How do you set it up?

1. Install Foxl on a Mac with Apple silicon, a Windows x64 PC or a Linux x64 computer.
2. Open Settings > Recording. Under Transcription Provider, Automatic already uses the on-device engine once it is installed, unless the computer has AWS credentials; to be explicit, choose On device.
3. If the engine is not installed yet, choose Install engine. It is a one-off download of about 1.3 GB. The Notes home offers the same install on its first screen.

When it is ready, Settings says so, names the model and says the audio stays on the computer. The model is an 8-bit build of Qwen3-ASR running on the Mac's GPU; on Windows and Linux the same model runs in llama.cpp.

![Settings, Recording: Transcription Provider set to Automatic and using On device (Apple Silicon, offline), the sentence that on-device transcription separates speakers on this Mac and the audio never leaves it, and Ready - mlx-community/Qwen3-ASR-0.6B-8bit running on this Mac.](<https://foxl.ai/blog/offline-speaker-diarization-settings.webp>)

_Settings > Recording with the on-device engine installed. Foxl is signed out here._

## How do you transcribe a meeting with speaker labels?

In Foxl Notes, either press Start Recording during the meeting or, for a recording you already have, use Import a recording or transcript. Notes takes wav, mp3, m4a, mp4 and other audio and video files, and starts transcribing as soon as the file is in. Open the Transcript tab and each turn has its speaker and the time it started.

![The Transcript tab of an imported 32-second meeting: six turns alternating between SPEAKER 1 and SPEAKER 2, at 0:00, 0:06, 0:11, 0:16, 0:21 and 0:26, planning a storefront launch, a rate table due Monday, a Tuesday test of the mobile layout and a launch email.](<https://foxl.ai/blog/offline-speaker-diarization-transcript.webp>)

_An imported two-person meeting, transcribed and split by voice on the computer itself._

The labels are numbers, not names. Click one to rename that speaker.

## How accurate are the speaker labels?

On 10 synthetic test conversations, Foxl's own evaluation set, the separation labelled 99.09% of the audio to the right speaker on average. They are made from synthetic voices no more alike than real people, with two or three speakers, so the right answer is known exactly. Synthetic voices are not a real meeting, so read that number as a test result, not as how it will do in your meeting room. Across 14 evaluation files, four of them real recorded conversations, it found the right number of speakers every time. In the same synthetic tests, two English voices of the same gender with no pause between their turns came out 93.3% right, and the meeting in the figure above, also two synthetic voices taking six turns, came out with every turn on the right speaker.

The labels are best effort by design. When two voices are very close, the engine treats them as one person rather than split one person in two, because a line given to the wrong person in a meeting record is worse than a line with no clear owner. We saw that rule at work while making this guide: a meeting between one synthetic voice and the same voice pitched down came back as a single speaker.

## What does it not do?

- It does not know names. Speakers are numbered, and you rename them in the transcript.
- It does not run on an Intel Mac or a Linux arm64 computer: there is no on-device engine for either.
- It does not summarize. A summary needs a model, either one you connect or Foxl's on-device summary model, which is a separate download.

## Does the recording stay on your computer?

For transcription, yes. With the on-device engine, Settings describes it as transcribing on this computer so that nothing is billed, and the speaker separation runs in the same local process. Nothing is uploaded to be transcribed, which is also why it works with no connection at all. What you do next, such as asking a cloud model for a summary, follows the provider you choose for that.

## References and further reading

1. [Foxl docs: Recording](<https://docs.foxl.ai/docs/notes/recording>) - Documentation
2. [Foxl docs: Credits and privacy in Notes](<https://docs.foxl.ai/docs/notes/credits-and-privacy>) - Documentation
3. [pyannote segmentation-3.0](<https://huggingface.co/pyannote/segmentation-3.0>) - Reference
4. [sherpa-onnx speaker segmentation models](<https://github.com/k2-fsa/sherpa-onnx/releases/tag/speaker-segmentation-models>) - Reference
5. [3D-Speaker (CAM++)](<https://github.com/modelscope/3D-Speaker>) - Reference
6. [Qwen3-ASR 0.6B, 8-bit MLX build](<https://huggingface.co/mlx-community/Qwen3-ASR-0.6B-8bit>) - Reference
7. [Download Foxl](<https://foxl.ai/#download>) - Reference