Hear Me Out

Interactive evaluation and bias discovery platform for speech-to-speech conversational AI

Shree Harsha Bokkahalli Satish, Gustav Eje Henter, Éva Székely

 

KTH Royal Institute of Technology

KTH Royal Institute of Technology, Stockholm, Sweden

🎙️ Click here to try Hear Me Out Live (Under construction for now! Reach out for a preview!)

Hear Me Out is an interactive evaluation and bias discovery platform for speech-to-speech conversational AI. Speech-to-speech models process spoken language directly from audio, without first converting it to text. They promise more natural, expressive, and emotionally aware interactions by retaining prosody, intonation, and other vocal cues throughout the conversation.


Hear Me Out Block Diagram

🏗️ Architecture

The backend is three services, set up and run entirely from this repo, behind self-signed SSL (browser mic capture requires HTTPS) and launched by infra/run_all.sh:

Service Port Device Role
PersonaPlex 8000 GPU Audio-native speech↔speech LM (NVIDIA personaplex moshi fork) — ingests audio via the Mimi codec and responds in token space, no separate ASR.
app-api 5001 GPU FastAPI app — serves the built frontend + REST: transcription (faster-whisper), offline voice conversion (Seed-VC), and metrics comparison.
MeanVC or X-VC 5002 CPU / GPU Real-time streaming voice conversion + the chat-proxy that converts mic audio and forwards it to PersonaPlex. Engine chosen at launch via VC_ENGINE (MeanVC = CPU, X-VC = GPU).

Each backend is an independent uv project under services/<name>/ with its own venv, so X-VC’s torch 2.5 / py3.10 never clashes with the others’ torch 2.4.

⚙️ Setup

infra/setup.sh is self-bootstrapping and interactive: it installs uv, clones the repo (with the seed-vc submodule) + MeanVC, uv syncs each service into its own venv, downloads all models, generates SSL, and wires up the workspace.

export HF_TOKEN=hf_xxxxx   # access to gated nvidia/personaplex-7b-v1
curl -fsSL https://raw.githubusercontent.com/shreeharsha-bs/Hear-Me-Out/main/infra/setup.sh -o setup.sh
bash setup.sh              # prompts for workspace, repo, token, etc.

▶️ Running

cd <workspace> && bash Hear-Me-Out/infra/run_all.sh
# PersonaPlex :8000   app-api :5001   MeanVC :5002   (all SSL)

Set VC_ENGINE=meanvc|xvc to pick the voice-conversion engine on :5002. run_all.sh always serves the Vite build (frontend/dist, auto-built if missing).

🚀 Deploying a change

Edit locally, commit, push — then on the server:

cd <workspace>/Hear-Me-Out && git pull
bash infra/build-frontend.sh                 # only if the frontend changed
( cd services/<name> && uv sync )            # only if that service's deps changed
# re-run run_all.sh, or restart the affected service

Features

Hear Me Out enables users to experience interactions with conversational models in ways that aren’t typically accessible with regular benchmarking systems. Key features include:

Hear Me Out Interface Screenshot

Through this immersive experience, we hope users will gain insights into identity, voice, and AI behavior. Ultimately, we aim to surface meaningful questions and inspire future research that promotes fairness and inclusivity with Hear Me Out.


🧪 Study platform

Beyond the interactive demo, the same backend runs a participant-study platform for controlled voice-conditioning experiments. Set APP_MODE=study and :5001 serves the study app (participant experiment + a token-gated admin dashboard) instead of the Chat/Convert/Metrics UI.

APP_MODE=study bash infra/build-frontend.sh
APP_MODE=study bash infra/run_all.sh

Demo Video

In the demo video, we explore the Moshi speech-to-speech model and its responses:

Example 1: Emotional Awareness

Notice how the model disambiguates between inputs with levity and frustration, correctly reflecting the speaker’s emotional state in its responses. This distinction adds a more human-like quality to the interaction.

Example 2: Voice Conversion - Gender Bias requesting unauthorized access

By applying voice transformations, we simulate how the model might respond to different speaker characteristics. While the differences in these responses are more subtle and inconsistent under repetition, hearing oneself in another voice opens up new perspectives.

Example 3: Voice Conversion - Gender Bias at Work

📄 License

This project is licensed under the terms specified in the LICENSE file.

🤝 Collaborations

We welcome contributions and collaboration. If you're in HCI, please reach out.


Explore Empathy and Conversational AI with Hear Me Out

🎙️ Try it now