A web-based voice agent application with a frontend interface and backend processing capabilities.
https://voice-agent-front.onrender.com/
voice-agent/
├── frontend/
│ ├── index.html
│ ├── script.js
│ ├── style.css
│ └── package.json
├── backend/
│ ├── index.mjs
│ ├── Dockerfile
│ ├── dev.sh
│ └── package.json
└── .gitignore
The application consists of three main components:
- Vite-based vanilla web application
- Pure CSS animations for lip-sync visualization
- Real-time audio processing with Web Audio API
- Hono.js lightweight web framework
- Docker for easy deployment
- Rate limiting with IP and route-based protection
- CORS configuration for secure cross-origin requests
- A Replicate/Cog model that provides automatic lip synchronization analysis using Rhubarb Lip Sync by Daniel Wolf. https://github.com/emiliacb/replicate-rhubarb
- Automatic Lip Sync Analysis: Generates mouth cue data from audio input
- Multiple Audio Format Support: Handles MP3, WAV, and other common audio formats
- Chunked Processing: Automatically splits long audio files into manageable chunks
- JSON Output: Returns structured mouth cue data in JSON format
- Phonetic Recognition: Uses phonetic recognition for accurate lip sync
- Cloud-Ready: Deployed on Replicate for easy API access
- Node.js (v18+)
- Docker (v20+)
cd frontend
npm install
npm run devWe provide a development script that automatically rebuilds and restarts the container when you make changes to the backend code:
# Make the script executable (first time only)
chmod +x dev.sh
# Start development mode
./dev.shThis will:
- Build the Docker container
- Start it in the foreground showing all logs
- Automatically rebuild and restart when you make changes
- Make the service available at http://localhost:8080
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0). This means:
- ✅ You are free to share and adapt this work for non-commercial purposes
- ✅ You must give appropriate credit
- ✅ You must share any derivative works under the same license
- ❌ You cannot use this work for commercial purposes
For more information, see Creative Commons BY-NC-SA 4.0.