SADcase / README.md
pandion's picture
Upload 7 files
a487466 verified
|
Raw
History Blame Contribute Delete
2.28 kB
---
title: Catherine's Catering Voice Simulator
emoji: 🎤
colorFrom: blue
colorTo: purple
sdk: streamlit
sdk_version: 1.37.1
app_file: app.py
pinned: false
license: mit
short_description: Voice role-play simulator for business interviews
---
# Catherine's Catering Voice Simulator
A real-time, voice-to-voice interview simulator featuring Catherine, owner of Catherine's Catering. This application uses OpenAI's Realtime API to provide an interactive role-play experience for business consulting students.
## Features
- **Voice-only interaction** using OpenAI's Realtime API over WebRTC
- **Role-play simulation** with Catherine, a non-technical small business owner
- **Time-limited sessions** (5 minutes per group)
- **Group-based authentication** (groups 1-7)
- **Real-time audio** with automatic voice detection
## How to Use
1. **Set up your OpenAI API key** in the Space's secrets
2. **Login** using group credentials (group1-group7, password same as username)
3. **Start a conversation** and speak directly to Catherine
4. **Interview Catherine** about her catering business challenges
5. **Session automatically ends** after 5 minutes
## Setup for Local Development
1. Create and activate a virtual environment:
```bash
python -m venv .venv && source .venv/bin/activate
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Set your OpenAI API key:
```bash
export OPENAI_API_KEY=sk-...
```
4. Run the application:
```bash
streamlit run app.py
```
## Environment Variables
- `OPENAI_API_KEY`: Your OpenAI API key with Realtime access
- `OPENAI_REALTIME_MODEL`: Model to use (default: gpt-4o-realtime-preview-2024-12-17)
- `OPENAI_VOICE`: Voice selection (default: shimmer)
## Technical Details
- **Backend**: FastAPI server for token management
- **Frontend**: Streamlit with embedded HTML client
- **Audio**: WebRTC for real-time voice communication
- **Authentication**: HTTP Basic Auth for group access
- **Time Management**: 5-minute session limits per group
## Troubleshooting
- Ensure microphone permissions are granted
- Check that your OpenAI API key has Realtime access
- Some corporate networks may block WebRTC connections
- Verify the token server is running at the expected port