Skip to main content

transcriber

AI-powered audio and video transcription using OpenAI Whisper or AssemblyAI. Use when converting recordings to text, generating subtitles, or creating searchable transcripts.

معلومات المصدر

المستودع
CoachSteff/superskills
آخر نشاط في المصدر
٢ فبراير ٢٠٢٦ في ٠٥:١٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
7 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
transcriber
description
AI-powered audio and video transcription using OpenAI Whisper or AssemblyAI. Use when converting recordings to text, generating subtitles, or creating searchable transcripts.
version
1.0.0
# Transcriber > **Note**: Review [PROFILE.md](PROFILE.md) for user-specific transcription preferences, provider settings, and formatting options. > > **Master Briefing**: Global brand voice at `~/.superskills/master-briefing.yaml` applies automatically. Skill profile overrides when conflicts exist. Convert audio and video to accurate text transcripts with timestamps, perfect for creating course materials, show notes, and searchable content. ## Tools **Transcriber.py** (in src/): - Multi-provider support (OpenAI Whisper, AssemblyAI) - Word-level timestamps for precise timing - Multiple output formats (TXT, JSON, SRT, VTT) - Batch processing for multiple files - Key quote extraction for marketing - Automatic language detection - Confidence scoring ## Core Workflow ### 1. File Preparation - Receive audio/video file(s) - Validate file format and size - Determine output requirements (format, timestamps) - Select transcription provider ### 2. Transcription - Upload and process file through API - Capture word-level timestamps if needed - Detect language automatically - Extract metadata (duration, word count) - Generate confidence scores ### 3. Delivery - Export in requested format (TXT, JSON, SRT, VTT) - Extract key quotes if needed - Package with metadata - Handoff to downstream workflows (narrator, coursepackager, author) ## Usage **Basic Transcription:** ```python from superskills.transcriber.src import transcribe_file result = transcribe_file("recording.mp3") print(result.transcript) print(f"Duration: {result.duration_seconds}s") print(f"Words: {result.word_count}") ``` **With Timestamps:** ```python from superskills.transcriber.src import Transcriber transcriber = Transcriber(provider="openai") result = transcriber.transcribe( "session.mp4", include_timestamps=True, output_format="srt" ) print(f"Saved to: {result.output_file}") ``` **Batch Processing:** ```python files = ["session1.mp3", "session2.mp3", "session3.mp3"] results = transcriber.transcribe_batch(files, output_format="json") for result in results: print(f"{result.source_file}: {result.word_count} words") ``` **Extract Marketing Quotes:** ```python result = transcriber.transcribe("podcast.mp3", include_timestamps=True) quotes = transcriber.extract_key_quotes(result, min_words=15, max_quotes=5) for quote in quotes: print(quote) ``` ## Output Formats **TXT**: Plain text transcript **JSON**: Full metadata including timestamps and confidence **SRT**: Standard subtitle format for video players **VTT**: WebVTT format for web video ## Environment Variables ```bash # OpenAI Whisper (recommended) OPENAI_API_KEY=your_openai_api_key # Or AssemblyAI (alternative) ASSEMBLYAI_API_KEY=your_assemblyai_api_key ``` **Global .env (repository root):** ```bash echo "OPENAI_API_KEY=sk-your-key" >> .env ``` **Or skill-specific .env:** ```bash echo "OPENAI_API_KEY=sk-your-key" >> superskills/transcriber/.env ``` ## Quality Checklist - [ ] Audio quality sufficient (clear speech, minimal background noise) - [ ] File size within limits (OpenAI: <25MB) - [ ] Language correctly detected or specified - [ ] Timestamps accurate if requested - [ ] Confidence scores reviewed - [ ] Output format correct for use case - [ ] Metadata captured (duration, word count) ## Avoid - **Poor Audio Quality**: Accept any file → Pre-check audio quality and clarity - **Missing Context**: Generic transcription → Specify language/domain for better accuracy - **Wrong Format**: Text only → Use SRT/VTT for video subtitles - **Ignoring Timestamps**: Plain text → Capture timestamps for editing/navigation - **Large Files**: Single upload → Split files >25MB or use AssemblyAI ## Escalate When - Audio quality too poor for accurate transcription - Multiple speakers need identification (diarization) - Technical jargon requires custom vocabulary - File size exceeds API limits - Budget constraints require cost optimization ## Integration Examples **With Narrator (Podcast Transcripts):** ```python from superskills.narrator.src import PodcastGenerator from superskills.transcriber.src import Transcriber podcast = PodcastGenerator() result = podcast.generate_podcast(segments, "episode.mp3") transcriber = Transcriber() transcript = transcriber.transcribe("episode.mp3", output_format="txt") print(transcript.transcript) ``` **With Marketer (Social Snippets):** ```python from superskills.transcriber.src import Transcriber from superskills.marketer.src import SocialMediaPublisher transcriber = Transcriber() result = transcriber.transcribe("training.mp4", include_timestamps=True) quotes = transcriber.extract_key_quotes(result, min_words=15, max_quotes=3) publisher = SocialMediaPublisher() for quote in quotes: publisher.schedule_post(quote, platforms=["TWITTER", "LINKEDIN"]) ``` **With CoursePackager (Searchable Transcripts):** ```python from superskills.transcriber.src import Transcriber transcriber = Transcriber() results = transcriber.transcribe_batch( ["lesson1.mp4", "lesson2.mp4", "lesson3.mp4"], output_format="json" ) ```
عرض على GitHub