Skip to content

parle-ai/french

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parle AI - French Learning Assistant

An AI-powered French learning application featuring real-time voice conversation with a lifelike avatar tutor.

Features

  • Voice Conversation - Natural speech interaction using OpenAI Realtime API (GPT-4o)
  • Lifelike Avatar - Beyond Presence avatar with real-time lip sync
  • French Tutor - Meet Alessandra, your friendly French teacher
  • Role-play Practice - Practice real-world scenarios (ordering at cafés, shopping, etc.)

Tech Stack

  • LiveKit Agents - Real-time audio/video infrastructure
  • OpenAI Realtime API - Voice-to-voice AI conversation
  • Beyond Presence - Avatar with synchronized lip movements
  • Express.js - Token generation server

Prerequisites

  • Node.js 18+
  • LiveKit Cloud account
  • OpenAI API key (with Realtime API access)
  • Beyond Presence API key

Setup

  1. Clone the repository:

    git clone https://github.com/parle-ai/french.git
    cd french
  2. Install dependencies:

    npm install
  3. Create .env file from example:

    cp .env.example .env
  4. Fill in your API keys in .env:

    • LIVEKIT_URL - Your LiveKit Cloud WebSocket URL
    • LIVEKIT_API_KEY - LiveKit API key
    • LIVEKIT_API_SECRET - LiveKit API secret
    • OPENAI_API_KEY - OpenAI API key
    • BEY_API_KEY - Beyond Presence API key

Running

Start both the server and agent in separate terminals:

Terminal 1 - Express Server:

npm start

Terminal 2 - AI Agent:

npm run agent

Open http://localhost:8080 in your browser.

Mobile Access (HTTPS Tunnel)

The app requires HTTPS for microphone access on mobile devices. Use Cloudflare Tunnel (recommended) or ngrok:

Option 1: Cloudflare Tunnel (recommended)

# Install cloudflared first:
# Ubuntu/Debian: sudo snap install cloudflared
# macOS: brew install cloudflared

cloudflared tunnel --url http://localhost:8080

Option 2: ngrok

ngrok http 8080

Use the generated HTTPS URL on your mobile device.

Quick Start Script

Run all services at once (in separate terminal windows):

# Terminal 1: Server
npm start

# Terminal 2: Agent
npm run agent

# Terminal 3: Tunnel (for mobile access)
cloudflared tunnel --url http://localhost:8080

Project Structure

├── server.js        # Express server (token generation)
├── agent.js         # LiveKit Agent + Beyond Presence Avatar
├── public/
│   ├── index.html   # Main page
│   └── demo.html    # Demo page
├── .env.example     # Environment variables template
└── package.json     # Dependencies

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors