Skip to content

Audience Feedback Lab

A joke lands wrong, the room shifts, and by the time you understand what happened, the moment is gone.

Core trick

Gemini 3 Flash scores a transcript and raw audio across four audience personas, then opens a Live API voice chat with one persona.

Tags

Description

A joke lands wrong, the room shifts, and by the time you understand what happened, the moment is gone. Audience Mind Split drags that gap into the light before the performance is over. The system captures live performance in the browser and sends transcript and audio to Gemini 3 Flash. Instead of a single verdict, it models how four types of people experience the same material: a comedy nerd, an ESL listener, an HR manager, and a traditionalist. What comes back is disagreement. You see where the room fractures and where the same line reads clever to one person and careless to another. Click any persona and you open a live voice conversation via the Gemini 2.5 Multimodal Live API. The persona pushes back, explains the misread, and works through rewrites with you. Analysis becomes a conversation with someone who genuinely disagrees. Speak, watch the room split, talk to the people who didn't get it, adjust, and see what shifts.
michi883/audience-mind-split★ 00 forksJavaScriptCreated Feb 28, 2026 · last push Feb 28, 2026

README excerpt

# Audience Mind Split

Real-time comedy perception analyzer. Captures live speech via the browser's **Web Speech API**, records audio through an **AudioWorklet**, then sends both the transcript and raw audio to **Gemini 3 Flash** for multimodal evaluation — modeling how the same joke lands differently across four audience personas.

After an evaluation, you can **click on any persona card** to initiate a real-time, voice-to-voice debate with that specific audience member regarding their feedback using the **Gemini 2.5 Multimodal Live API**.

Each persona is represented by a **looping video avatar** that reacts visually based on emotional state: smiling, neutral, or offended. Demographics are randomly assigned and deduplicated so no two personas show the same face.

## How It Works

```
Start → Mic On → Speak joke → Mic Off → Edit transcript if needed → Send ➜ → Evaluation fires
```

| Control | Purpose | When to use |
|---|---|---|
| **Start / Stop** (header) | Opens mic access & initializes speech recognition | Once per performance |
| **Mic On / Off** (toggle) | Gates audio recording & speech transcription | Before/after each joke |
| **Send ➜** (button) | Commits the transcript (after optional editing) and fires evaluation | After reviewing the transcript |

When the mic toggles off, the transcript becomes **editable** — you can fix any speech recognition errors before sending to the evaluator. The raw audio recording is sent alongside the text so Gemini 3 can evaluate the

Team