# Build an offline chatbot with faster-whisper and vLLM

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/)
- [Build an offline voice assistant with whisper and vLLM](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/1_offline_voice_assistant/)
- [Install faster-whisper for local speech recognition](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/2_setup/)
- [Build a real-time STT pipeline on CPU](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3_fasterwhisper/)
- [Fine-tune segmentation parameters](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/3a_segmentation/)
- [Build a real-time offline voice chatbot using STT and vLLM](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4_vllm/)
- [Connect speech recognition to vLLM for real-time voice interaction](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/4a_integration/)
- [Specialize offline voice assistants for customer service](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/5_chatbot_prompt/)
- [Enable context-aware dialogue with short-term memory](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/6_chatbot_contextaware/)
- [Next Steps](https://learn.arm.com/learning-paths/laptops-and-desktops/dgx_spark_voicechatbot/_next-steps/)

## About this Learning Path

|  |  |
| --- | --- |
| Skill level: | Advanced |
| Reading time: | 1 hr |
| Last updated: | 03 Nov 2026 |

|  |  |
| --- | --- |
| Author: | Odin Shen , Arm<br>[GitHub](https://github.com/odincodeshen)<br>[LinkedIn](https://linkedin.com/in/odin-shen-lmshen) |
| Arm IP: | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags: | [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture/) [Linux](https://learn.arm.com/tag/linux) [Docker](https://learn.arm.com/tag/docker) [Python](https://learn.arm.com/tag/python) |

### Who is this for?
This is an advanced topic for developers and ML engineers who want to build private, offline voice assistant systems on Arm-based servers such as DGX Spark.

### What will you learn?
After completing this Learning Path, you'll be able to perform the following tasks:
- Identify the architecture of an offline voice chatbot pipeline combining speech-to-text (STT) and vLLM.
- Capture and segment real-time audio using PyAudio and Voice Activity Detection (VAD).
- Transcribe speech using faster-whisper and generate replies using vLLM.
- Tune segmentation and prompt strategies to improve latency and response quality.
- Deploy and run the full pipeline on Arm-based systems such as DGX Spark.

### Prerequisites
Before starting, you'll need the following prerequisites:
- An NVIDIA DGX Spark system with at least 15 GB of available disk space
- A USB microphone for audio input

### Summary
You’ll build a local voice chatbot on an Arm-based NVIDIA DGX Spark with `faster-whisper` for speech-to-text and vLLM for response generation. You’ll capture microphone audio with PyAudio, add voice and turn detection, tune segmentation for stable low-latency transcription, and connect the CPU STT pipeline to GPU-backed vLLM. You’ll validate segmented transcripts followed by local replies.
