Skip to content

About

English Whisper Turbo transcription on Google Colab TPU in 3 cells. JAX/XLA, reusable model worker, TXT/SRT/VTT, resumable audio, and clear error logs. No API key.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhisperSprint — English Whisper Turbo on Colab TPU

Two cells. Upload audio. Get a timestamped TXT automatically.

Open in Colab MIT License Model: Whisper large-v3-turbo

WhisperSprint transcribes English audio/video with Whisper large-v3-turbo on a Google Colab TPU, using JAX/XLA. Upload a recording and receive a plain .txt file containing numbered segments and SRT-style timestamps. No output ZIP, no Drive mount, no file-path fields, no model selector and no extra download cell.

繁體中文 · Output format · Validation · Troubleshooting

Start in two cells

  1. Open the badge and select Runtime → Change runtime type → TPU v5e-1. Run cell 1 once to prepare the isolated environment and model worker.
  2. Run cell 2, choose one or more English audio/video files in the upload widget, and transcription starts automatically. Each completed recording requests its own timestamped TXT download. Nothing needs extracting.

For the next recording, rerun only cell 2. Model weights and compiled functions remain loaded in the same worker. Cancelling the upload does nothing; it never silently reuses the previous recording.

The notebook contains exactly two code cells and is self-contained. Uploading WhisperSprint.ipynb directly into Colab works even before the GitHub repository is published. Its generated source payload matches the readable code in src/. The payload is a packaging detail, not a ZIP of transcription results.

The browser may ask permission to save files or allow several downloads. The code requests downloads automatically; it cannot bypass browser policy or confirm that files reached your computer. On a browser download error, the completed TXT stays in the Colab Files panel and its location is shown. No diagnostic ZIP is downloaded.

What the TXT looks like

For lecture.mp3, the download is named lecture_transcript.txt:

1
00:00:00,000 --> 00:00:03,540
Welcome to this English lesson.

2
00:00:08,400 --> 00:00:13,060
We will practice 12 phrases today.

This is a UTF-8 text file, not a compressed file and not a separate .srt download. Every cue has an index, a start/end time to the millisecond, and the recognized text. Repeated phrases, punctuation and numbers are preserved. These are segment timestamps, not word-level forced alignment or speaker labels.

One uploaded file produces one TXT. Several uploaded files produce several TXT files, never a combined archive. Colliding names get _2, _3, etc. Local transcript.json, progress.jsonl, timing and logs remain available for recovery and debugging, but are not automatically downloaded. See the exact output contract.

One fixed model and task

Setting Value
Checkpoint openai/whisper-large-v3-turbo
Revision 41f01f3fe87f28c78e2fbf8b568835947dd65ed9
Language and task English (en), transcribe
Arithmetic BF16 weights/activations; FP32 normalization and softmax statistics
Decoding Greedy; fixed-capacity K/V cache; device-side token loop
Long audio Timestamp-driven sequential seek; unfinished tails re-decoded
Download SRT-style timestamped .txt only
Runtime target Linux, Python 3.11–3.13, one v5/v6 TPU device

The checkpoint is multilingual; the application fixes English transcription. It does not translate other languages into English. No OpenAI API key or external ASR API is used. The inference environment does not install PyTorch, Transformers or Flax. Model and runtime versions remain pinned rather than silently changing.

Hardware and evidence

The default is TPU v5e-1, the device covered by supplied runtime evidence. The Colab migration notice and FAQ describe the service; hardware and quota are not guaranteed by this notebook. A single v6 TPU can attempt the same mandatory checks, but it is not a separately verified configuration.

A user-supplied WhisperSprint v0.1.0 run passed TPU/model acceptance and processed 92.6563125 seconds of audio into 15 segments. Its eight Python source hashes match the supplied v0.1.0 repo. The sanitized evidence contains no recording, transcript or original filename. This is now evidence for the persistent-worker/load path, not only the older reference notebook.

v0.2.0 changes the upload interface and text export. The inference core, weight loader and resident engine remain byte-identical to that successful v0.1.0 release. Local tests cover the revised workflow; the packager has not executed this new revision on a physical TPU or in a live Colab browser. Every new worker still performs real on-device checks before processing audio. A smoke pass is not WER, CER, perfect recognition, perfect timing or a universal speed claim.

Performance without changing the words

One isolated worker owns the TPU for initialization and all jobs. Model assets are downloaded concurrently; setup can overlap the upload. Matching environments are reused, BF16 weights are packed on the CPU, and model weights, English control tensors and compiled functions stay resident between recordings. Inputs remain fixed-shape, with no per-token Python round-trip. A bounded lookahead prepares the next independent file while the TPU processes the current one.

This edition removes result compression and unused SRT/VTT exports. It still keeps local atomic TXT/JSON writes and journaling. No audio speed-up, reduced token budget, silent CPU fallback, automatic repetition deletion, quota workaround or untested attention kernel is added. These are design choices, not a newly measured TPU speedup. Timing boundaries and performance notes.

Privacy, progress and failures

Audio is uploaded to your Google-hosted Colab runtime, not to an external ASR API. This is cloud processing, not offline execution. No custom telemetry, API credential collection or source-media upload elsewhere is added. Inspect source and dependency/model publishers before running downloaded code.

Only completed outputs are offered for automatic download. Errors show the stage, exception and log location; they do not produce a success-looking archive. Incomplete work is marked transcript.partial.*. Within the same surviving VM, rerunning cell 2 with the same audio can reuse matching committed progress. After an active-job interruption, rerun cell 1 before uploading again. A code/model change invalidates old progress. Colab VM deletion loses /content; this upload-only edition intentionally has no Drive controls. Save the downloaded TXT.

Logs and diagnostic JSON can contain filenames and model-produced text. Review and redact them before sharing. The repo includes no user audio, transcripts, private logs, credentials or model weights. See SECURITY.md.

Develop, update and publish

python -m pip install -r requirements-cpu.txt -r requirements-dev.txt
python -m pip install torch==2.10.0 --index-url https://download.pytorch.org/whl/cpu
python tools/build_notebook.py
python -m pytest -q
python tools/check_release.py

Torch is test-only, as an independent numerical reference. Edit readable sources, then regenerate the notebook; never patch only its embedded payload.

To upgrade an existing repo, replace all supplied project files, not just the notebook. PUBLISH.md covers existing repositories, first publication and the Colab badge. The source distribution is a ZIP for convenient repository transfer; transcription downloads are TXT files, not ZIPs.

MIT licensed. Third-party notices. An independent project, not affiliated with or endorsed by Google, OpenAI or Hugging Face.

About

English Whisper Turbo transcription on Google Colab TPU in 3 cells. JAX/XLA, reusable model worker, TXT/SRT/VTT, resumable audio, and clear error logs. No API key.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages