Orb.

Voice agent visualiser

An assistant you can see listening.

A WebGL sphere that idles, listens, thinks and speaks. Each state has its own motion and colour, and live audio from your mic or the agent's voice moves the surface.

Use it

<link rel="stylesheet" href="orb.css">
<div id="orb" style="width: 320px"></div>

<script type="module">
  import Orb from './orb.js';

  const orb = new Orb(document.querySelector('#orb'));

  orb.listenTo(await navigator.mediaDevices.getUserMedia({ audio: true }));
  orb.speakFrom(document.querySelector('audio'));   // the agent's voice

  orb.setState('listening');   // idle | listening | thinking | speaking
  orb.setLevel(0.6);           // or feed loudness from a realtime API
</script>