WebRTCsays.ai

WebRTC with an AI Core

Real-time peer-to-peer communication powered by Whisper speech-to-text and Qwen3.5 language model, running natively with end-to-end encryption.

How It Works

Audio from a remote WebRTC peer flows through a real-time AI pipeline: speech recognition, language understanding, and synthesised voice response.

Remote Audio
WebRTC Playout
Whisper STT
Speech to Text
Qwen3.5 LLM
Language Model
TTS Response
Back to Peer

Live Browser Demo

Test your camera, microphone, and browser speech recognition below. The native WebRTCsays.ai application uses whisper.cpp for higher accuracy and runs entirely on-device.

Camera & Mic

Click Start to enable camera

Idle

Speech Recognition

Transcribed speech will appear here...
Waiting for mic...

Uses the browser's Web Speech API. The native app uses whisper.cpp for higher accuracy, multi-language support, and fully offline operation.

Session Info

--
Resolution
--
FPS
--
Audio Sample Rate
0
Words Recognized

Key Features

End-to-End Encryption

All communication is encrypted with TLS certificates. AI processing happens entirely on-device.

On-Device AI

Whisper and Qwen3.5 9B run locally via llama.cpp with Metal/CUDA acceleration. No cloud needed.

Cross-Platform

Builds on Linux (x86_64, ARM64) and macOS (Apple Silicon). iOS framework also available.

Multi-Language

Whisper supports 99+ languages with automatic detection. Qwen3.5 handles multilingual conversations.

Vision Support

Optional multimodal vision via LLaVA/mtmd allows the AI to see and describe video frames in real-time.

Open Source

BSD-3-Clause licensed. Fork of the official WebRTC project with AI capabilities added on top.

Quick Start

# Clone and build
git clone https://github.com/wilddolphin2025/webrtcsays.ai
cd webrtcsays.ai && git checkout develop
./build.sh release whillats
# Run with Qwen3.5 9B (text-only mode)
src/out/release/directcall \
--mode=callee 0.0.0.0:3456 \
--whisper --llama \
--whisper_model=~/models/ggml-small.bin \
--llama_model=~/models/Qwen3.5-9B-Q3_K_M.gguf \
--encryption