Workflow leaderboard / Research / Transcription

Batch-transcribe lectures into reviewable subtitles

批量转写讲座并生成可复核字幕

Research / 科研 Transcription / 转写 curated verified 2026-08-02

Convert a folder of lectures or field recordings into timestamped subtitles, with a human correction pass and traceable source files.

Variants

Free & local / 免费本地 ~35 min setup

An NVIDIA GPU with 8 GB VRAM is helpful for medium or large models. CPU works for smaller models but is slower.

ComponentRolePriceLink
faster-whisper 1.2.1 local speech recognition with segment timestamps Free / 免费MIT-licensed software; local compute and model downloads are separatechecked 2026-08-02 https://github.com/SYSTRAN/faster-whisper/releases/tag/v1.2.1
Subtitle Edit 5.1.0 waveform-assisted subtitle correction and export Free / 免费GPL-3.0 open-source desktop softwarechecked 2026-08-02 https://github.com/SubtitleEdit/subtitleedit/releases/tag/v5.1.0

Save as transcribe_to_srt.py

import argparse
from faster_whisper import WhisperModel

def stamp(sec):
    ms = round(sec * 1000); h, ms = divmod(ms, 3600000); m, ms = divmod(ms, 60000); s, ms = divmod(ms, 1000)
    return f'{h:02}:{m:02}:{s:02},{ms:03}'

p = argparse.ArgumentParser(); p.add_argument('--input', required=True); p.add_argument('--output', required=True); p.add_argument('--model', default='medium')
a = p.parse_args(); model = WhisperModel(a.model, device='auto', compute_type='auto')
segments, _ = model.transcribe(a.input, vad_filter=True, beam_size=5)
with open(a.output, 'w', encoding='utf-8') as out:
    for i, seg in enumerate(segments, 1): out.write(f'{i}\n{stamp(seg.start)} --> {stamp(seg.end)}\n{seg.text.strip()}\n\n')

Install and transcribe one recording

uv venv --python 3.12 .venv
. .venv/bin/activate
uv pip install 'faster-whisper==1.2.1'
mkdir -p transcripts
python transcribe_to_srt.py --input recordings/lecture01.m4a --output transcripts/lecture01.machine.srt --model medium
sha256sum recordings/lecture01.m4a transcripts/lecture01.machine.srt > transcripts/lecture01.SHA256SUMS

Review protocol

review_order:
  - names_and_technical_terms
  - numbers_units_and_negation
  - segment_boundaries
  - inaudible_markers
required_outputs:
  - machine_draft_srt
  - corrected_srt
  - correction_log
rule: Never overwrite the machine draft.

Known pitfalls

  • Speech recognition can change negation, numbers and specialist terms while remaining fluent.
  • Automatic language detection can fail on short or code-switched clips.
  • Subtitle review is manual and must not be represented as automatic validation.
  • Confirm consent and retention rules before processing participant recordings.

Evidence