| Component | Model / Tool | Runs locally? |
|---|---|---|
| Automatic speech recognition | openai/whisper-medium.en (Hugging Face transformers) |
Yes |
| Language model | llama3:latest via Ollama |
Yes |
| Text-to-speech | Piper voice en_US-lessac-medium |
Yes |
- Create/activate a Python environment (we used conda, but venv works too).
- Install dependencies:
pip install -r requirements.txt
- Install Ollama, run
ollama serve(or./start_ollama.sh), and pull the model:ollama pull llama3
Only four CLI arguments are provided to keep things simple. Run the main script like so:
python main.py \
--audio-path data/sample_call.wav \
--chunk-duration 2.0 \
--chunk-overlap 0.5 \
--scenario restaurant--audio-path: the caller recording we want to process.--chunk-duration: seconds of audio per ASR window to simulate real time chunking.--chunk-overlap: seconds of context we carry between windows.--scenario: persona prompt (restaurant,mental,coach).
The script reads the audio, prints each Whisper chunk, generates a single reply with the selected persona, and saves the Piper output to artifacts/agent-response.wav.