Coding Challenge 188: Voice Chatbot
Skills:
LLM Engineering80%
Key Takeaways
Builds a conversational voice chatbot using p5.js, OpenAI's Whisper model, and Kokoro TTS
Original Description
In this coding challenge, I build a conversational voice chatbot entirely in the browser with p5.js. I combine three pieces: speech-to-text with OpenAI's Whisper model, text-to-speech with Kokoro TTS, and a "brain" for the bot. I also explore the transformers.js pipeline API and the Web Audio API. For the bot's brain, I start with a simple ELIZA-style therapist, then incorporate a RiveScript number-guessing game, and finally a local LLM. Code: https://thecodingtrain.com/challenges/188-voice-chatbot
🚀 Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-188-voice-chatbot
p5.js Web Editor Sketches:
🕹️ LLM Chatbot: https://editor.p5js.org/codingtrain/sketches/RHhT9I4Nm
🕹️ Number Guessing Bot: https://editor.p5js.org/codingtrain/sketches/AJw7zMN9q
🕹️ Therapy Bot: https://editor.p5js.org/codingtrain/sketches/37LFEPUVV
🕹️ Model Loading Bars: https://editor.p5js.org/codingtrain/sketches/E9Ob3x8eJ
🕹️ Waveform of Recording: https://editor.p5js.org/codingtrain/sketches/cck49wDub
🕹️ Real Time Waveform: https://editor.p5js.org/codingtrain/sketches/aaRIT-x6a
🎥 Previous: https://youtu.be/g3-PXyF8U70?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
🎥 All: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
📓 p5.2 Reference: https://beta.p5js.org
📓 Introducing Whisper: https://cdn.openai.com/papers/whisper.pdf
📓 Model Cards for Model Reporting: https://arxiv.org/abs/1810.03993
📓 Open Neural Network Exchange: https://onnx.ai
📓 Onnx-community Whisper-tiny.en model: https://huggingface.co/onnx-community/whisper-tiny.en
📓 Xenova: https://github.com/xenova
📓 Transformers.js: https://huggingface.co/docs/transformers.js/installation
📓 Announcing the new p5.sound.js library!: https://medium.com/processing-foundation/announcing-the-new-p5-sound-js-library-42efc154bed0
📓 getUserMedia() documentation: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
📓 MediaRecorder() documentation: htt
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: LLM Engineering
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Stop Guessing: Guaranteed Structured Output from LLMs in Node.js
Dev.to · Hardik Mehta
Spring AI Tutorial — Your First REST Endpoint with OpenAI (2026)
Dev.to AI
Notes: Memory, Context, and Large Language Models (LLMs)
Dev.to · Vladimir Panov
10 ChatGPT Prompts for Job Seekers: Resumes, Interviews & Career Growth
Medium · ChatGPT
🎓
Tutor Explanation
DeepCamp AI