An interactive speech recognition and text-to-speech system that processes German audio input with the ELIZA chatbot and speaks responses.
- Speech Recognition (ASR) - German speech recognition with Vosk
- ELIZA Chatbot - Psychotherapist simulation in the style of Joseph Weizenbaum
- Speech Synthesis (TTS) - German speech synthesis with eSpeak-NG
- Audio Pausing - Audio input is automatically paused during TTS output
# Update package manager
sudo apt-get update
sudo apt-get upgrade
# Install Python and pip
sudo apt-get install python3 python3-pip python3-venv
# Install eSpeak-NG (for speech output)
sudo apt-get install espeak-ng
# Verify installations
python3 --version
pip3 --version
espeak-ng --version# Update package manager
sudo pacman -Syu
# Install Python and pip
sudo pacman -S python python-pip
# Install eSpeak-NG (for speech output)
sudo pacman -S espeak-ng
# Verify installations
python --version
pip --version
espeak-ng --version# Create virtual environment
python3 -m venv .venv
# Activate virtual environment
source .venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install Python dependencies
pip install vosk sounddeviceThe German Vosk model must be downloaded:
cd models
# Download model
wget https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip
unzip vosk-model-small-de-0.15.zipAlternatively, download manually from alphacephei.com and extract to models/ directory.
# Activate virtual environment
source .venv/bin/activate
# Start chatloop
python chatloop.py- Greeting: ELIZA introduces itself and speaks the greeting
- Audio Paused: Audio input is paused while ELIZA speaks
- User Input: After the output, you can speak
- Processing: ELIZA processes your input
- Response: ELIZA responds and speaks the answer
- Loop: Process repeats until exit
Say one of the quit words:
- "auf wiedersehen" (goodbye)
- "tschüss" (bye)
- "beende" (end)
- "ende" (end)
Or press Ctrl+C in the terminal.