whatisgithub

What is yt-transcribe?

spookyuser/yt-transcribe — explained in plain English

Analysis updated 2026-05-18

2ShellAudience · generalComplexity · 2/5Setup · moderate

In one sentence

A macOS command-line tool that downloads a YouTube video's audio and transcribes it to a Markdown file entirely on-device using Apple's Core ML.

Mindmap

mindmap
  root((yt-transcribe))
    What it does
      Downloads YouTube audio
      Transcribes speech locally
      Saves Markdown transcript
    Tech stack
      Shell
      yt-dlp
      FluidAudio
      Core ML
    Use cases
      Offline transcription
      Word level timestamps
      Custom vocabulary bias
    Audience
      Mac users
      Content creators

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

Download a YouTube video and get a Markdown transcript without using a cloud service

USE CASE 2

Get word-level timestamps for a video's spoken content

USE CASE 3

Bias transcription toward domain-specific vocabulary with a custom vocab list

What is it built with?

Shellyt-dlpFluidAudioCore ML

How does it compare?

spookyuser/yt-transcribechrisor-dev/claude-autosyncdangerousyams/muxer
Stars222
LanguageShellShellShell
Setup difficultymoderatemoderatemoderate
Complexity2/53/53/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 macOS 14+ on Apple Silicon and a Swift toolchain, first run downloads about 1 GB of model weights.

So what is it?

yt-transcribe is a small command-line script that downloads a YouTube video and converts its speech into a text transcript, saving the result as a Markdown file. The entire process runs locally on your machine, no audio is sent to any cloud transcription service. It ties together two tools: yt-dlp, which downloads just the audio track from YouTube, and FluidAudio, Apple's Core ML-based speech recognition tool built for Apple Silicon chips (the M-series processors in modern Macs). Core ML is Apple's machine learning framework that runs models directly on the device hardware. The workflow is: grab the video title via yt-dlp, download only the audio in m4a format and cache it in /tmp/yt-transcribe so re-running the same URL skips the download, then pass the audio to FluidAudio's command-line tool for transcription. The transcript is wrapped in a small Markdown header and saved as a file named after the video title. The default model (v2) handles English. Passing --model-version v3 switches to a multilingual model. Useful extra flags include --output-json for a full transcript with per-word timings, --word-timestamps for word-level timing data, and --custom-vocab to bias the recognizer toward domain-specific vocabulary. The first run downloads Core ML model weights from Hugging Face (about 1 GB) and caches them locally, subsequent runs are fully offline. Requirements are macOS 14 or later on Apple Silicon and a Swift toolchain. Installation is via Homebrew (recommended) or manually by cloning and building FluidAudio from source.

Copy-paste prompts

Prompt 1
Help me install yt-transcribe on my Apple Silicon Mac using Homebrew.
Prompt 2
Show me how to transcribe a YouTube video with yt-transcribe and export word timestamps.
Prompt 3
Explain the difference between the v2 and v3 models in yt-transcribe.

Frequently asked questions

What is yt-transcribe?

A macOS command-line tool that downloads a YouTube video's audio and transcribes it to a Markdown file entirely on-device using Apple's Core ML.

What language is yt-transcribe written in?

Mainly Shell. The stack also includes Shell, yt-dlp, FluidAudio.

How hard is yt-transcribe to set up?

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

Who is yt-transcribe for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.