# whisper_ros

ROS 2 packages that bring whisper.cpp speech-to-text and Silero voice-activity detection into a robot's software stack, so a robot can listen for and transcribe speech.

whisper_ros integrates GGML-based whisper.cpp for speech recognition and Silero VAD for detecting when someone is speaking into ROS 2 through the audio_common package, providing the speech-to-text half of a voice pipeline for a robot. A related project, chatbot_ros, combines it with llama_ros for response generation and a state machine to build a complete spoken chatbot running on ROS 2.

It builds with CUDA support for both whisper.cpp and Silero when the CUDA toolkit and cuDNN are installed, and ships a Docker build with optional CUDA and a chosen CUDA version, launched through a single ROS 2 launch file that starts both voice-activity detection and transcription together. The package supports ROS 2 distributions from Humble through the current Rolling release.

It is written in C++ and licensed under MIT.

Website: https://mgonzs13.github.io/whisper_ros/
