goshi / index.html
pnocera's picture
Initial commit - Goshi voice AI for Reachy Mini
3f27f46
Raw
History Blame Contribute Delete
4.95 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Goshi - Voice AI for Reachy Mini</title>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="hero">
<span class="emoji">🍣</span>
<h1>Goshi</h1>
<p class="subtitle">Voice AI Companion for Reachy Mini</p>
<p class="tagline">Say <span class="highlight">"Sushi"</span> to start a conversation!</p>
</div>
<div class="features">
<div class="feature">
<span class="feature-icon">πŸŽ™οΈ</span>
<h3>Wake Word</h3>
<p>Say "Sushi" to activate the robot</p>
</div>
<div class="feature">
<span class="feature-icon">πŸ€–</span>
<h3>Smart AI</h3>
<p>Natural conversations powered by LLMs</p>
</div>
<div class="feature">
<span class="feature-icon">🌍</span>
<h3>Bilingual</h3>
<p>Speaks French & English</p>
</div>
<div class="feature">
<span class="feature-icon">⚑</span>
<h3>Low Latency</h3>
<p>&lt;800ms response time</p>
</div>
<div class="feature">
<span class="feature-icon">πŸ”’</span>
<h3>Local AI</h3>
<p>Private, on-premise processing</p>
</div>
<div class="feature">
<span class="feature-icon">🀸</span>
<h3>Expressive</h3>
<p>Head & antenna animations</p>
</div>
</div>
<div class="install-section">
<h2>πŸš€ Installation</h2>
<div class="install-steps">
<div class="step">
<span class="step-number">1</span>
<div class="step-content">
<h4>Install on Reachy Mini</h4>
<p>Via the app manager or command line:</p>
<code>pip install git+https://huggingface.co/spaces/pnocera/goshi</code>
</div>
</div>
<div class="step">
<span class="step-number">2</span>
<div class="step-content">
<h4>Start the Goshi Server</h4>
<p>On your workstation (requires NVIDIA GPU):</p>
<code>./goshi-server --config config.toml</code>
</div>
</div>
<div class="step">
<span class="step-number">3</span>
<div class="step-content">
<h4>Configure & Talk!</h4>
<p>Update config.yaml with server IP, then say "Sushi"!</p>
</div>
</div>
</div>
</div>
<div class="architecture">
<h2>πŸ—οΈ Architecture</h2>
<pre>
Reachy Mini (Raspberry Pi 4) Workstation (RTX GPU)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Goshi Client │◄── SRT ──►│ Goshi Server β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚ β”‚ Wake Word (KWS) β”‚ β”‚ β”‚ β”‚ VAD (Silero) β”‚ β”‚
β”‚ β”‚ Audio Capture │──┼───────────┼─►│ STT (Whisper) β”‚ β”‚
β”‚ β”‚ TTS Playback │◄─┼───────────┼──│ LLM (Ollama) β”‚ β”‚
β”‚ β”‚ Video Stream β”‚ β”‚ β”‚ β”‚ TTS (Piper) β”‚ β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
</pre>
</div>
<div class="footer">
<p>Built with ❀️ for Reachy Mini</p>
<p class="links">
<a href="https://github.com/pnocera/goshi">GitHub</a> Β·
<a href="https://pollen-robotics.com">Pollen Robotics</a> Β·
<a href="https://huggingface.co/spaces/pnocera/goshi">Hugging Face</a>
</p>
</div>
</div>
</body>
</html>