Record system audio and automatically transcribe to text using ✨AI✨.
sys2txt live transcribing a public-domain LibriVox reading of Wordsworth's
"We Are Seven" (recording by David Freisty, public domain).
Full documentation: Joe-Heffer.github.io/sys2txt/
🐞 Submit a bug report.
sys2txt is a command-line tool that records your system audio (via PulseAudio/PipeWire monitor sources) with ffmpeg and transcribes it locally using Whisper. It supports both:
- On-demand: Record until you stop, then transcribe once
- Live-ish: Segment the recording every N seconds and transcribe each segment as it’s created (prints continuously)
You can use any of three transcription engines:
faster-whisper- Default, best for CPU and NVIDIA GPUsopenai-whisper- Reference Python implementationwhisper.cpp- C++ implementation with Vulkan GPU support for AMD GPUs
The tool auto-selects the first engine that is installed, preferring faster-whisper for its speed,
then openai-whisper, then whisper.cpp. With none of them installed it says so, rather than
failing part-way through one of them.
sudo apt update
sudo apt install -y ffmpeg pipx
pipx ensurepath
pipx install "sys2txt[faster]"See Installation for the venv alternative and AMD GPU notes.
Record and transcribe once (press Ctrl-C to stop recording):
sys2txt once --model small.enLive segmented transcription (prints ongoing transcript every 8s by default; Ctrl-C to stop):
sys2txt live --model small.en --segment-seconds 8For the full flag reference, engine/device selection, live-mode lag handling, output formats, more examples, the Python API and AMD/Vulkan setup, see the documentation site.
Contributions are welcome! Please submit a bug report if you encounter any problems.
Please see CONTRIBUTING.md for:
- Development setup and workflow
- Running tests and code quality checks
- Release process and CI/CD workflows
- Pull request guidelines
For security issues, please see SECURITY.md.