# Biscotti: on-device meeting transcription that needs Apple Silicon to run

> Biscotti is a free macOS meeting recorder that keeps audio, transcripts and summaries on the machine, separating the local microphone from system audio and naming speakers with three models plus calendar metadata. The privacy claims rest on running Whisper V3 Turbo and Gemma 4 locally, and the hardware floor is M1 or newer with macOS 15.

**scosman/Biscotti** — Free private meeting transcription app for macOS

- Repository: https://github.com/scosman/Biscotti
- Website: https://biscottiapp.com
- Stars: 173 · Forks: 17
- Language: Swift
- License: NOASSERTION
- Published: 2026-08-22 · Updated: 2026-08-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/scosman-biscotti

## Record, transcribe, understand, all on the machine

The pipeline is three steps and the privacy claim is that none of them leaves the Mac. Recording captures the microphone and the machine's system audio from whatever application is playing. Transcription is on-device speech recognition producing a speaker-labelled transcript, described as powered by Apple Silicon rather than by a server. Understanding is a local model that writes the summary, pulls out action items and works out who is who. The named components are Whisper V3 Turbo running through WhisperKit, speaker identification by Pyannote running through SpeakerKit, and Google Gemma 4 as the language model running on llama.cpp, with the speech and speaker tooling credited to Argmax. The offline claim is qualified in the one place it needs to be: the app works completely offline after the models are downloaded, so the first run is a download and the rest is not.

## Speaker identity is three models, then the calendar helps

Naming who said what is described as a three stage process, and separating it out matters because it is the part that decides whether a transcript is usable. An AI model transcribes what was said, a second model separates speakers by voice, and a third works out who is who. Calendar data is the fourth input, not a substitute: event data is said to enable meeting start notifications, to match speaker identity, and to enhance meeting summaries, and the improvement is described as applying when the metadata is available. Any calendar connected to the Apple Calendar app on the Mac can be synced, which is what makes the start notification possible in the first place. The app also sees upcoming meetings and offers to start recording, and detects when a call ends and stops on its own. None of that surveillance touches a stream: it monitors which audio apps are active without listening to them, and nothing is recorded unless you click record.

## Your microphone and the room arrive as separate channels

The audio path is the part that distinguishes this from a loopback recorder, and it is described in one line that does a lot of work: the app captures your mic and everyone else as separate, clean channels, with no echo. That separation is what allows a transcript to attribute speech to a person rather than to a stream, and it is why the requirement is Apple Silicon with 16GB of RAM recommended rather than a machine that merely records. It also explains the no-bot position. Because Biscotti records the Mac's audio directly, nothing appears in the call and other participants are not notified, so it works with anything that plays or records audio, named as Zoom, Microsoft Teams, Google Meet, FaceTime, Slack and Webex, and equally with a conversation across a table. What it does not capture is anything said away from the Mac, which is the limit worth keeping in mind before assuming a room is covered.

## The hardware floor rules out every Intel Mac

The stated requirements are a Mac with Apple Silicon, M1 or later, macOS 15 Sequoia or later, and 16GB of RAM recommended. That is a narrower gate than the marketing language implies, and the contrast is worth spelling out. The feature list claims it is fast, small and native, and that it is a native Mac app rather than Electron or web, and the comparison table makes the same claim as a row. Both are true of the build, but neither is available to an Intel Mac at all, and the RAM figure is a recommendation rather than a stated minimum, so the real floor for a machine that satisfies the requirements is 8GB with a supported chipset. On a machine that meets them, the install is a disk image: download Biscotti.dmg, open it, copy Biscotti.app into Applications, then follow the quick setup to grant microphone, system audio and calendar access. Those three permissions are the whole of what the app asks for, and each maps to one of the three pipeline steps.

## The comparison table is eight checkmarks against unnamed rivals

A section headed Biscotti versus other notetaking apps sets out two columns and a list of rows, and it is worth reading as a claim rather than a measurement. The rows are that audio never leaves your Mac, that meeting notes stay private and local, that no bot joins the meeting, that it works with any app including in person, that it keeps full audio rather than only summaries, that it is a native Mac app rather than Electron or web, that it is free with no subscription and no account, and that you never have to pay to read old meetings. The final row is the one that carries the argument, placing Your Mac in the Biscotti column and Their Cloud in the other. No competitor is named and no source is given for any of the opposing marks, so the table is a statement of intent rather than something a reader can check, even where each row is independently true of this app. The features it does document are the verifiable part: markdown notes linked to the moment they happened, a custom vocabulary for uncommon words and jargon, and summaries that include action items, titles and real names.

## SwiftLint and SwiftFormat are vendored with checksums

The Makefile is the most opinionated file in the repository, and its reasoning is about machines disagreeing rather than about style. Four Swift packages are declared for the build, BiscottiKit, Transcription, AudioCapture and LocalLLM, and linting covers every wildcard of Packages, App, ManualTestApp and XPCServices. Both tools are pinned to an exact version with a SHA256 sum and vendored under a .tools directory, with every target invoking the pinned binary rather than whatever is on PATH.

```make
SWIFTLINT_VERSION := 0.63.3
SWIFTLINT_SHA256  := fb045e85e7cb3374f42a4840b6b85a0106302afa69035c0c6f29af4a44c810b6
SWIFTFORMAT_VERSION := 0.61.1
SWIFTFORMAT_SHA256  := b990400779aceb7d7020796eb9ba814d4480543f671d38fc0ff48cb72f04c584
```

The comment gives two reasons. Homebrew cannot pin a formula version in a Brewfile, so a brew-installed tool drifts between machines and continuous integration, and different versions disagree about which rules fire, with force_unwrapping named as an example. Newer SwiftFormat versions also switch on new default rules, such as wrapIfStatementBodies in 0.62, which would silently reformat the whole codebase. The upgrade path is stated: bump the version and the checksum, and the version in the path makes it re-download.

## A package workspace with an MCP surface and a manual test app

The top level shows a workspace rather than a single application target. Alongside App/ there is Packages/ holding the four Swift packages, a ManualTestApp/ for exercising them, XPCServices/ for out of process pieces, Tools/, experiments/, specs/, a Brewfile, a Makefile with help as its default goal, and configuration for SwiftFormat and SwiftLint plus a .githooks directory. Two entries connect to the feature list. An .mcp.json and a hooks_mcp.yaml sit at the root, matching the claim that meeting notes can be chatted with in applications such as Claude Desktop or LM Studio, which is the Model Context Protocol surface, and it is also what the v0.3.0 release is named for, alongside language detection and a new search. A CLAUDE.md and a SECURITY.md are present as well. The declared make targets include bootstrap, generate, build, test, test-ai, bench, lint, format, build-app, test-app, precommit-checks, hooks, ci, clean and manual-tests-check.

## PolyForm Perimeter in the file, NOASSERTION in the metadata

The licence needs reading twice. The README names the PolyForm Perimeter License 1.0.1 and points at a LICENSE.md file, which is a source available licence rather than an open source grant, and the repository's own licence field is left as NOASSERTION, so a reader looking only at the metadata sees no assertion at all. That mismatch is worth resolving before anyone builds on the app or contributes to it, since the two sources do not agree. The release history is short and recent: v0.2.0 and v0.2.1 in August 2026, then v0.3.0 in September 2026, whose title names language detection, MCP and a new search. Language coverage is described in the FAQ with two separate figures, 99 languages for the Whisper large v3 turbo transcription model and 35 or more for the Gemma 4 12B instruction tuned summary model, so the two halves of the pipeline do not cover the same set.

## Conclusion

Biscotti is worth installing if you record meetings on a recent Mac and the reason you hesitate is that a notetaker joins the call, or because you do not want audio on someone else's server, since it records your machine's audio directly and the stated models all run locally after the initial download. It is the wrong choice on an Intel Mac, on anything below macOS 15, or if you need a phone or a shared team workspace, since the floor is M1 or later and there is no account or sync layer to speak of. Before you rely on it, check three things: the licence, which is PolyForm Perimeter 1.0.1 in the LICENSE.md file while the repository's licence field reads NOASSERTION, and those two do not agree on paper; the model download, because working fully offline starts only after the models are on the disk; and the disk space that implies, since a Whisper large v3 turbo model, a speaker separation model and a Gemma 4 summary model all have to be resident to keep the three steps local, and the stated 16GB of RAM is a recommendation rather than a requirement.

## FAQ

### Does Biscotti join my meeting as a bot?

No. It records your Mac's audio directly, so nothing appears in the call and other participants are not notified. It works with anything that plays or records audio, including Zoom, Microsoft Teams, Google Meet, FaceTime, Slack and Webex, as well as in person conversations through the microphone.

### What are the system requirements for Biscotti?

A Mac with Apple Silicon, M1 or later, running macOS 15 Sequoia or later, with 16GB of RAM recommended. Installing means downloading Biscotti.dmg, copying Biscotti.app to Applications, and granting microphone, system audio and calendar access in the quick setup.

### Which AI models does Biscotti run on the Mac?

Transcription uses Whisper V3 Turbo through WhisperKit, speaker identification uses Pyannote through SpeakerKit, and the language model is Google Gemma 4 running on llama.cpp. The speech and speaker tooling comes from Argmax, and everything runs locally after the models are downloaded.

### How does Biscotti work out who is speaking?

In three steps: a model transcribes what was said, a second model separates speakers by voice, and a third works out who is who. Calendar metadata improves this when available, and event data also enables meeting start notifications and enhances summaries.

### What licence is Biscotti released under?

The README names the PolyForm Perimeter License 1.0.1 and links a LICENSE.md file, while the repository's licence field reads NOASSERTION. No account and no subscription are required to use it.

### How many languages does Biscotti transcribe and summarise?

Two different figures are given: the Whisper large v3 turbo transcription model supports 99 languages, while the Gemma 4 12B instruction tuned summary model supports 35 or more. The two halves of the pipeline do not cover the same set of languages.

## Sources

- [Official documentation](https://biscottiapp.com)
- [Official README](https://github.com/scosman/Biscotti#readme)
- [Project repository](https://github.com/scosman/Biscotti)
- [Release notes](https://github.com/scosman/Biscotti/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/scosman-biscotti
