transcribe

braselog's avatarfrom braselog

Transcribe audio files from meetings into text documents using Whisper. Use when the user types /transcribe, has a new audio recording, or when RA detects new audio files in meetings/audio/. Supports speaker diarization with pyannote.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 5, 2025

When & Why to Use This Skill

This Claude skill automates the conversion of audio recordings into structured text documents using the state-of-the-art Whisper model. It features advanced speaker diarization via pyannote, allowing users to transform meetings, seminars, and interviews into searchable, speaker-labeled markdown files. By integrating seamlessly with downstream summarization tools, it streamlines the transition from raw audio to actionable insights.

Use Cases

  • Meeting Documentation: Automatically transcribe business meetings to create a permanent record and facilitate the extraction of action items.
  • Research & Interviews: Convert academic seminars or qualitative research interviews into text for easier analysis and citation.
  • Automated File Processing: Monitor specific directories to automatically detect and transcribe new audio uploads without manual intervention.
  • Multi-Speaker Analysis: Utilize speaker diarization to distinguish between different participants in complex discussions, ensuring clarity in the final transcript.
nametranscribe
descriptionTranscribe audio files from meetings into text documents using Whisper. Use when the user types /transcribe, has a new audio recording, or when RA detects new audio files in meetings/audio/. Supports speaker diarization with pyannote.

Audio Transcription

Transcribe audio files from meetings into text documents.

Usage

/transcribe [filename]
/transcribe .research/meetings/audio/2024-12-02-lab-meeting.m4a
/transcribe .research/meetings/audio/  # Transcribe all untranscribed audio in directory

When to Use

  • After recording a meeting, seminar, or discussion
  • When RA detects new audio files in meetings/audio/ folder
  • Before running /summarize_meeting

Supported Formats

  • .m4a, .mp3, .wav, .webm, .mp4 (audio track)
  • .ogg, .flac

Execution

The command runs:

conda run -n research-assistant python .ra/skills/transcribe/scripts/transcribe.py [filename or .research/meetings/audio/]

Behavior:

  • If [filename] provided: transcribe that specific audio file
  • If no filename (or .research/meetings/audio/ specified): automatically detect all audio files without transcripts and process them
  • If transcript already exists for a file: skip it
  • Output saves to .research/meetings/transcripts/[same-name].md

Post-Transcription Options

Transcription complete! 

A) Run /summarize_meeting to extract action items and create tasks
B) Open transcript to review manually first
C) Continue with other work

What would you like to do?

Quality Notes

Improving Transcription Quality

  • Use good microphone/recording quality
  • Minimize background noise
  • Speak clearly and at moderate pace
  • Identify speakers at start if possible

Limitations

  • Speaker diarization may be imperfect
  • Technical terms may need manual correction
  • Timestamps are approximate

Configuration

Environment variables (optional):

  • WHISPER_MODEL: Model size (default: "small", options: tiny, base, small, medium, large-v3)
  • WHISPER_LANGUAGE: Force language (default: auto-detect)
  • HF_TOKEN: HuggingFace token for speaker diarization
  • summarize-meeting - Extract action items from transcript
  • next - Get next suggestion

Notes

  • Raw transcripts may contain errors - review before citing
  • Keep original audio files as source of truth
  • Transcripts are for internal use, not publication