Model or dataset
kaixxx/noScribe avatar
kaixxx/noScribe

noScribe: interview transcription that never leaves the machine

Cutting edge AI technology for automated audio transcription. A nice GUI for OpenAIs Whisper and pyannote (speaker identification)

2,164 stars356 forksPythonGPL-3.0

At a glance

What is it?
A GPL desktop application wrapping Whisper and pyannote for qualitative researchers, with an editor built for fixing speaker labels rather than for generating audio.
Who is it for?
noScribe is a good fit when the recordings cannot leave your laptop, which for interviews about identifiable people is often a hard requirement rather than a preference. Speaker identification and a review editor are what distinguish it from running Whisper in a terminal, and the headless mode added in v0.7.2 makes it usable on a server too.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 19 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Built for interviews rather than for dictation

The project's self-description is narrow on purpose: an app for producing high quality transcripts of interviews for qualitative social research or journalistic use. That framing explains most of the design decisions that follow. A research interview is a two-hour conversation between named people, recorded on a phone, in a room with poor acoustics. Producing a usable transcript means labelling who spoke and then correcting the result, not just converting speech to text.

It is free and open source under GPL-3.0, ships for Windows, macOS and Linux, and runs entirely on the local machine. The README is explicit that there is no cloud component, framing confidentiality of the source material as the reason.

Around sixty languages are supported, with the README hedging that it is more or less that many. A sample transcript shown in the README comes from a 2022 interview the author conducted with the Russian sociologist Natalia Savelyeva.

Whisper, faster-whisper and pyannote underneath

noScribe is a front end over three existing projects, and the author says so plainly: Whisper from OpenAI, faster-whisper by Guillaume Klein, and pyannote from Hervé Bredin. Whisper handles recognition. faster-whisper is the inference layer that makes it fast enough for hour-long recordings on consumer hardware. pyannote provides speaker identification, which is the piece that separates an interview transcript from a stream of unattributed sentences.

The repository tree shows how much is bundled rather than imported. `pyannote/` is a vendored directory, `models/` holds model assets, and `prompts/` suggests the prompt handling is part of the app's own logic rather than something delegated wholesale. `trans/` is likely where transcription logic lives, with `noScribe/` and `noScribeEdit/` as the main application and the review editor.

The only project metadata in the repository is a three-line `pyproject.toml` declaring the package name and `requires-python = ">= 3.11"`. There is no dependency list there, because the real one is environment-specific: the Dockerfile copies `environments/requirements_linux.txt`.

The editor is the feature that matters

The README lists an editor for reviewing, verifying and correcting the resulting transcript, and the changelog shows it being sharpened over time. v0.6 added search and replace to the editor specifically so speaker names could be changed quickly across a document, which is exactly the operation that dominates a diarization cleanup.

That release also brought a three-times speed improvement in transcription, custom Whisper models that users can install, and an option to include or exclude disfluencies and filler words. The last one is a research design decision as much as a setting: whether a transcript preserves fillers such as um changes what qualitative analysis can legitimately be based on, so making it explicit rather than baked in is the right call.

v0.7, released 2025-12-08, added batch transcription for several files at once, improved speaker identification, better punctuation handling and a command line interface for scripting.

Container and headless support arrived in 2026

v0.7.2, published 2026-06-02, is the most recent release and the reason the repository was pushed to on 2026-09-19. Its headline is true headless mode for servers, which matters because the application had so far been a graphical tool.

The same release swaps ffmpeg for av, contributed by a community member, and the release note points out that this also removes the Rosetta2 requirement on macOS. That is a real portability improvement for Apple Silicon users, who were the supported audience in the first place.

The author describes v0.7.2 as a stable checkpoint before a larger refactoring, and explicitly says there is no need to upgrade unless you are hitting problems. The downloadable binaries, he notes, had already been updated before the release itself.

The Dockerfile is minimal, which suggests headless use is meant to be composed rather than shipped ready: a Python 3.11 base, a working directory, and a copy of the Linux requirements file followed by a single pip install.

A single maintainer, a separate website, and a name dispute

noScribe is written and maintained by Kai Dröge, a sociologist with a computer science background who teaches at a university of applied sciences in Switzerland and is affiliated with an institute for social research in Frankfurt. The README carries a donation link and is direct about why: development costs money, the author has bought test hardware and pays Apple annually for a developer ID.

Documentation lives at noscribe.de, in five languages, rather than in this repository. The README's download, installation and usage sections are a pointer to that site and nothing more. That is a meaningful gap for anyone assessing the project from the source alone.

The README also carries a warning that someone registered a domain named noscribe.ai to sell transcription services, and states plainly that the author has no connection to it and that noScribe itself is free and always will be. It is an unusual thing to see in a project README and worth taking at face value.

A separate `codex_update_trans.bat` and `cli_test.bat` sit at the root, and the citation block offers an APA reference with a placeholder version number.

Editorial conclusion

noScribe is a good fit when the recordings cannot leave your laptop, which for interviews about identifiable people is often a hard requirement rather than a preference. Speaker identification and a review editor are what distinguish it from running Whisper in a terminal, and the headless mode added in v0.7.2 makes it usable on a server too. The trade-offs are equally concrete: the author is one person, documentation lives on a separate site rather than in the repository, and support is limited to Apple Silicon Macs. Start by installing from noscribe.de and transcribing a short recording you have already transcribed by hand, since that is the only reliable way to judge the diarization quality.

Frequently asked questions

Does noScribe send my recordings to a server?

No. The project states that it runs completely locally on your computer, with no cloud component, and lists confidentiality of interview material as the reason for that design. Transcription is performed by Whisper and pyannote running on the same machine.

Can noScribe tell different speakers apart in a recording?

Yes. Speaker identification comes from pyannote, and the project describes distinguishing between speakers as a core capability alongside an editor for correcting the result. Search and replace in the editor was added to make renaming speakers across a transcript fast.

What are the system requirements for noScribe?

It runs on Windows, macOS and Linux, and the packaging metadata requires Python 3.11 or newer. On macOS, only M1 through M5 machines are supported, since an earlier ffmpeg-based dependency required Rosetta2. A headless mode for servers was added in v0.7.2.

Is noScribe really free, and how is it licensed?

Yes. It is released under the GPL-3.0 license and the README states it is free and always will be. Development is funded by donations, since the author pays for test hardware and an annual Apple developer ID. Note that a domain using a similar name has been registered by an unrelated party selling transcription services.

Official sources

  1. Issues
  2. kaixxx/noScribe on GitHub
  3. License: GPL-3.0
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/kaixxx-noscribe.svg)](https://hysenlabs.com/projects/kaixxx-noscribe)