SADcase / README.md
pandion's picture
Upload 7 files
a487466 verified
|
Raw
History Blame Contribute Delete
2.28 kB

A newer version of the Streamlit SDK is available: 1.62.0

Upgrade
metadata
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:

    python -m venv .venv && source .venv/bin/activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Set your OpenAI API key:

    export OPENAI_API_KEY=sk-...
    
  4. Run the application:

    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