whatisgithub

What is scribe?

trailofbits/scribe — explained in plain English

Analysis updated 2026-07-25 · repo last pushed 2026-07-04

40PythonAudience · generalComplexity · 2/5ActiveSetup · moderate

In one sentence

Scribe converts audio and video files into text transcripts that label who is speaking when. It runs entirely on your own Mac, so private recordings never leave your machine.

Mindmap

mindmap
  root((repo))
    What it does
      Audio video to text
      Labels each speaker
      Local private processing
    Tech stack
      Python
      Apple CoreML
      Apple Silicon only
    Use cases
      Transcribe interviews
      Strategy meeting notes
      Podcast written records
    Audience
      Journalists
      Teams
      Researchers
      Podcasters

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Transcribe a recorded interview and label each speaker locally for a news article.

USE CASE 2

Generate a written record of a team strategy meeting with timestamps for each contribution.

USE CASE 3

Create a text version of a podcast episode with dialogue separated by speaker.

USE CASE 4

Produce a plain transcript of a research interview without speaker labels for fast note-taking.

What is it built with?

PythonApple CoreMLApple Silicon

How does it compare?

trailofbits/scribeasimons81/hermes-dreamingbaskduf/harness-starter-kit
Stars404040
LanguagePythonPythonPython
Last pushed2026-07-04
MaintenanceActive
Setup difficultymoderatemoderateeasy
Complexity2/53/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires an Apple Silicon Mac (M1 or newer) because it uses Apple CoreML for speaker-identifying processing.

No license information was provided, so default copyright restrictions may apply.

So what is it?

Scribe is a tool that takes any audio or video file and turns the spoken words into text. What sets it apart from basic transcription is that it can also tell who is speaking when, producing a transcript that reads like a dialogue with each speaker labeled. So instead of getting one wall of text from a recorded meeting, you get a back-and-forth conversation broken out by person. You feed it a file like an MP3 podcast, an MP4 video recording, or a WAV audio clip, and it handles the rest. Behind the scenes, it converts whatever you give it into a standard audio format, then runs speech-to-text to capture the words. The "who said what" part, called diarization, figures out when different people are talking and assigns labels like SPEAKER_00 or SPEAKER_01 to each segment. You get a plain text file as output, or you can request a JSON file that includes precise timestamps for when each person started and stopped talking. This is aimed at people who need accurate, speaker-labeled transcripts of conversations but want the processing to happen locally on their own machine rather than uploading sensitive recordings to a cloud service. That makes it a good fit for journalists transcribing interviews, teams processing internal strategy meetings, podcasters wanting written records of episodes, or researchers working with private interviews. There is a notable tradeoff in how it is built: the tool requires macOS running on Apple Silicon hardware. It leans on Apple's CoreML framework to speed up the speaker-identifying processing, so it will not run on Windows or Intel-based Macs. The required AI models download automatically the first time you use the tool, and no account or API key is needed. You can also skip the speaker-identifying step entirely if you just need a straight transcript without the labels, which is faster if you only care about the words themselves.

Copy-paste prompts

Prompt 1
I have a 45-minute MP3 podcast file with two hosts and one guest. Use Scribe to generate a JSON transcript with timestamps and speaker labels, then format the output as a clean readable dialogue.
Prompt 2
Help me install and run Scribe on my Apple Silicon Mac to transcribe an MP4 video recording of a team meeting into a plain text file with each speaker labeled.
Prompt 3
Using Scribe, transcribe this WAV audio file of a private interview without the speaker-labeling step so I just get the raw words as quickly as possible.
Prompt 4
Write a script that calls Scribe on my Mac to process a folder of audio interviews and saves each transcript as a separate JSON file with speaker labels and timestamps.

Frequently asked questions

What is scribe?

Scribe converts audio and video files into text transcripts that label who is speaking when. It runs entirely on your own Mac, so private recordings never leave your machine.

What language is scribe written in?

Mainly Python. The stack also includes Python, Apple CoreML, Apple Silicon.

Is scribe actively maintained?

Active — commit in last 30 days (last push 2026-07-04).

What license does scribe use?

No license information was provided, so default copyright restrictions may apply.

How hard is scribe to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is scribe for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.