How coding-parsa/parley works
Parley is an offline live-interpretation application. Users choose a language pair and profile, then run live, file, caption-console, or bidirectional meeting interpretation: audio is segmented into utterances, recognized and language-gated, translated, optionally shaped with glossary terminology, and spoken or shown as captions. The sampled pipeline and duplex excerpts establish orchestration and shared model/resource behavior; several model-stage links below are documented by the README rather than fully visible in source excerpts.
Main entry points: pipeline.py Interpreter pipeline · duplex.py Duplex coordinator · gui.py Desktop app · audio.py Audio playback
Components 17
User interfaces
- CLI commands
parley/cli.py - Desktop app
parley/gui.py - Caption console
parley/server.py
Audio and orchestration
- Audio capture
parley/audio.py - VAD segmenter
parley/vad.py - Interpreter pipeline
parley/pipeline.py - Duplex coordinator
parley/duplex.py - Audio playback
parley/audio.py
Language processing
- Whisper recognition
parley/stt.py - Text and glossary
parley/text.py - NLLB translation
parley/mt.py - Piper synthesis
parley/tts.py
Models and resources
- Language profiles
parley/config.py - VRAM manager
parley/vram.py - Model fetching
parley/fetch.py
Other components
- User
- Meeting apps
Connections 25
- User → CLI commands: runs commands
README.md - User → Desktop app: starts app
README.md - User → Caption console: opens console
README.md - CLI commands → Interpreter pipeline: runs modes
parley/cli.py - CLI commands → Duplex coordinator: starts meeting
parley/cli.py - Desktop app → Interpreter pipeline: starts translation
parley/gui.py - Desktop app → Model fetching: requests downloads
parley/gui.py - Caption console → Interpreter pipeline: starts pipeline
parley/server.py - Audio capture → VAD segmenter: streams frames
README.md - VAD segmenter → Interpreter pipeline: yields utterances
parley/pipeline.py - Interpreter pipeline → Whisper recognition: recognizes speech
README.md - Interpreter pipeline → NLLB translation: translates text
README.md - Interpreter pipeline → Text and glossary: shapes text
parley/pipeline.py - Interpreter pipeline → Piper synthesis: synthesizes speech
README.md - Piper synthesis → Audio playback: produces audio
README.md - Interpreter pipeline → Audio playback: plays audio
parley/pipeline.py - Meeting apps → Audio capture: loopback audio
README.md - Audio playback → Meeting apps: feeds virtual cable
README.md - Duplex coordinator → Interpreter pipeline: runs both directions
parley/duplex.py - Duplex coordinator → Audio capture: captures directions
parley/duplex.py - Duplex coordinator → Audio playback: routes translated audio
README.md - Interpreter pipeline → Language profiles: uses pair and profile
parley/pipeline.py - Interpreter pipeline → VRAM manager: admits models
parley/pipeline.py - Duplex coordinator → VRAM manager: shares model budget
parley/duplex.py - Desktop app → Language profiles: builds settings
parley/gui.py