A bot for automatic transcription of WhatsApp audio messages using whatsapp-web.js, whisper.cpp, and faster-whisper.
The bot allows you to transcribe voice messages by replying with the command:
!t
quoting a voice message.
The transcription will be printed in the console.
- WhatsApp Web integration via whatsapp-web.js
- Audio transcription using Whisper (whisper.cpp + faster-whisper)
- GPU support (CUDA / Vulkan / automatic CPU fallback)
- Quick command
!tto transcribe replied voice messages - Console output (easy to integrate with logs or automation)
git clone git@github.com:ninjaultrazero/whatsapp-transcriber-bot.git --recurse-submodule
cd whatsapp-transcriber-bot./install.sh
The script will:
- Detect distro (Arch / Debian-based)
- Detect GPU (NVIDIA → CUDA, otherwise Vulkan)
- Install dependencies
- Build whisper.cpp
- Set up Python and Node.js environments
If everything completes successfully:
./run.sh
- Open WhatsApp
- Send or receive a voice message
- Reply to the voice message with:
!t
- The bot will:
- Download the audio file
- Transcribe it
- Print the result in the console
- Node.js → WhatsApp Web event handling
- Python → transcription pipeline
- whisper.cpp → fast inference (GPU or CPU)
- faster-whisper → fallback / secondary support
| GPU | Backend |
|---|---|
| NVIDIA | CUDA |
| AMD / Intel | Vulkan |
| Apple Silicon | Metal (macOS only, if adapted) |
| No GPU | CPU fallback |
whatsapp-transcriber-bot/
├── index.js
├── transcribe.py
├── install.sh
├── run.sh
├── venv/
├── whisper.cpp/
│ ├── build/
│ └── models/
└── README.md
- Node.js >= 18
- Python >= 3.10
- ffmpeg
- git
- chromium
- cmake + build tools
- Optional GPU (CUDA / Vulkan)
- The bot uses WhatsApp Web automation and may break if WhatsApp updates its UI
- Do not use a primary WhatsApp account for heavy testing
- Performance depends heavily on the selected Whisper model
MIT