| --- |
| title: GrandVoice |
| emoji: 🌸 |
| colorFrom: blue |
| colorTo: green |
| sdk: gradio |
| sdk_version: 5.44.1 |
| python_version: "3.10" |
| app_file: app.py |
| pinned: false |
| license: mit |
| short_description: Multilingual voice companion and translator |
| tags: |
| - gradio |
| - voice |
| - translation |
| - multilingual |
| - build-small-hackathon |
| - backyard |
| - openai |
| - offbrand |
| - demo |
| - sharing |
| - fieldnotes |
| - track:backyard |
| - sponsor:openai |
| - achievement:offbrand |
| - achievement:sharing |
| - achievement:fieldnotes |
| --- |
| |
| # GrandVoice |
|
|
| GrandVoice is a multilingual voice companion and translator built for the Hugging Face Build Small Hackathon. |
|
|
| It uses a small model, `llama-3.1-8b-instant`, through Groq's OpenAI-compatible API. That keeps the project under the hackathon's 32B parameter rule while still making the demo fast enough for voice interaction. |
|
|
| ## What it does |
|
|
| - Voice companion with four modes: Caring Companion, Wise Elder, Friendly Tutor, and Story Companion |
| - Translation across English, Hindi, Tamil, Telugu, Spanish, French, Japanese, Portuguese, Arabic, and Mandarin |
| - Speech input through Groq Whisper transcription |
| - Speech output through Microsoft neural voices using `edge-tts` |
| - Built-in demo video player for first-time users |
| - Repeat-send behavior: after a reply, pressing Send again replays the last message, so changing companion or language immediately produces a new answer |
| - Downloadable conversation traces for sharing examples on the Hub |
| - Kid- and elder-aware safety instructions in the companion prompt |
|
|
| ## Space setup |
|
|
| Do not put a shared Groq key in Space secrets for the public demo. A public shared key can hit minute or daily limits quickly. |
|
|
| GrandVoice is designed as a bring-your-own-key app: |
|
|
| 1. The user opens [console.groq.com](https://console.groq.com). |
| 2. The user creates a free Groq API key. |
| 3. The user pastes it into the API key box inside GrandVoice. |
| 4. The key is used only for that browser session. |
|
|
| ## Hackathon fit |
|
|
| - Built on Gradio and ready for Hugging Face Spaces |
| - Uses an 8B model, below the 32B limit |
| - Includes a polished app UI rather than a default demo shell |
| - Built and debugged with Codex, with the reliability fixes and UI polish documented in `CODEX_NOTES.md` |
|
|
| ## Files to upload |
|
|
| - `app.py` |
| - `requirements.txt` |
| - `packages.txt` |
| - `README.md` |
| - `CODEX_NOTES.md` |
| - `HUGGINGFACE_UPLOAD_GUIDE.md` |
| - `HACKATHON_PRIZE_FIT.md` |
| - `BLOG_POST.md` |
| - `FIELD_NOTES_DRAFT.md` |
| - `DEMO_SCRIPT.md` |
| - `SUBMISSION_STEPS.md` |
| - `demo.mp4` |
|
|
| ## Submission links |
|
|
| - Space: https://huggingface.co/spaces/build-small-hackathon/GrandVoice |
| - Demo video: https://huggingface.co/spaces/build-small-hackathon/GrandVoice/resolve/main/demo.mp4 |
| The same demo can also be found inside the app. |
| - Social post: https://www.linkedin.com/posts/vishwak-ayireddi-b21b93416_buildsmallhackathon-huggingface-gradio-share-7472381991456419840-0vtB/ |
| - Blog post: https://huggingface.co/blog/build-small-hackathon/grandvoice-multilingual-voice-companion |
| |
| ## Team |
| |
| - Hugging Face username: `vishwakayireddi1234` |
| |