How saksham-kgen/greenday-pipeline works
Greenday turns individual videos or video directories into timestamped, translated, labeled, chapterized, PII-redacted transcripts and validation reports. The main workflow is orchestrated in pipeline.py: file checks and audio extraction lead into transcription, quality checks, sentence cleanup, translation, labeling, chapters, and privacy processing; metrics and flags are then written as per-video outputs and a batch manifest. The README documents these capabilities; sampled source excerpts do not show every orchestration call, so uncertain wiring is omitted.
Main entry points: pipeline.py Pipeline orchestrator · audio_extraction.py Audio extraction · audio_mute.py Audio PII muting · transcription.py Speech transcription
Components 19
Ingest and transcription
- File checks
checks_file.py - Audio extraction
audio_extraction.py - Speech transcription
transcription.py - Audio quality checks
checks_audio.py - Sentence segmentation
segmentation.py
Transcript enrichment
- English translation
translate.py - Sentence labeling
classify.py - Chapter segmentation
chapters.py
Privacy processing
- Text PII redaction
pii_text.py - Semantic PII detection
pii_llm.py - Audio PII muting
audio_mute.py
Validation and delivery
- Metrics and transcript checks
validation.py - Video output writer
output.py
Other components
- Video input
- Pipeline orchestrator
pipeline.py - ElevenLabs Scribe
- Gemini API
- FFmpeg tools
- Video files and manifest
Connections 34
- Video input → Pipeline orchestrator: submits
- Pipeline orchestrator → File checks: runs
- Pipeline orchestrator → Audio extraction: runs
- Pipeline orchestrator → Speech transcription: runs
- Pipeline orchestrator → Audio quality checks: runs
- Pipeline orchestrator → Sentence segmentation: runs
- Pipeline orchestrator → English translation: runs
- Pipeline orchestrator → Sentence labeling: runs
- Pipeline orchestrator → Chapter segmentation: runs
- Pipeline orchestrator → Text PII redaction: runs
- Pipeline orchestrator → Audio PII muting: runs
- Pipeline orchestrator → Metrics and transcript checks: runs
- Pipeline orchestrator → Video output writer: writes outputs
- File checks → Video input: checks properties
- Audio extraction → Video input: extracts audio
- Audio extraction → FFmpeg tools: uses
- Audio extraction → Speech transcription: provides WAV
- Speech transcription → ElevenLabs Scribe: requests transcript
- Speech transcription → Audio quality checks: provides words
- Audio quality checks → Audio extraction: reads WAV
- Audio quality checks → Sentence segmentation: provides quality flags
- Sentence segmentation → English translation: provides sentences
- English translation → Gemini API: requests translation
- Sentence labeling → Gemini API: requests labels
- Chapter segmentation → Gemini API: requests boundaries
- Chapter segmentation → Text PII redaction: provides chapters
- Text PII redaction → Semantic PII detection: requests semantic detection
- Text PII redaction → Audio PII muting: provides original-word spans
- Audio PII muting → Video input: reads source video
- Audio PII muting → FFmpeg tools: mutes audio
- Metrics and transcript checks → Video output writer: provides metrics and flags
- Audio PII muting → Video output writer: provides muted segments
- Video output writer → Video files and manifest: writes files
- Semantic PII detection → Gemini API: requests detection