A newer version of the Gradio SDK is available: 6.20.0
title: Pocket Pikachu — A Pokémon You Talk To, On-Device
emoji: ⚡
colorFrom: yellow
colorTo: red
sdk: gradio
sdk_version: 6.17.3
app_file: app.py
pinned: true
license: apache-2.0
short_description: On-device talking Pikachu — MiniCPM5 + VoxCPM voice on GPU
models:
- openbmb/MiniCPM5-1B-GGUF
- openbmb/VoxCPM-0.5B
- Systran/faster-whisper-small.en
tags:
- track:wood
- sponsor:openbmb
- achievement:offbrand
- achievement:offgrid
- gradio
- hackathon
- build-small-hackathon
- minicpm
- voxcpm
- on-device
- local-llm
⚡ Pocket Pikachu — a Pokémon you actually talk to (VoxCPM on ZeroGPU)
A clickable, talking digital pet that runs in-process on a single GPU. Click the mic (or type), and your pocket Pikachu hears you, thinks, and talks back — no cloud APIs. Built for the Build Small hackathon: every model is ≤ 4B params.
Stack — in-process on ZeroGPU:
| Role | Model | Where it runs |
|---|---|---|
| 🧠 Brain | openbmb/MiniCPM5-1B-GGUF (Q4_K_M) |
OpenBMB, via llama-cpp-python — CPU |
| 🗣️ Voice | openbmb/VoxCPM-0.5B |
OpenBMB, cute female ref + pitch↑/tempo↓ styling — GPU |
| 👂 Ears | Systran/faster-whisper-small.en |
CTranslate2 int8 — CPU |
Why no NeMo/Nemotron here:
nemo_toolkit[asr]cannot build on a ZeroGPU Gradio Space — its multi-GB dependency tree plus a CUDAtorchOOM-kill the CPU build container (exit 137), and the streaming model has notransformerspath. Nemotron runs in the native macOS PocketDM app instead. This Space's upgrade over its free-CPU sibling is VoxCPM (OpenBMB's neural voice) on GPU.
How it works
app.py is a single Gradio Blocks app. Per-turn inference runs inside one
@spaces.GPU-decorated function (run_turn_gpu) so the GPU is attached for
the turn; models lazy-load on first use. A turn flows:
- Mic / text in —
gr.Audio(sources=["microphone"])or a textbox. - Transcribe — faster-whisper
small.enturns speech into text (CPU). - Reply — MiniCPM5-1B generates Pikachu's response with the same system prompt + keyless tool-fact grounding (time / weather / web lookup) as the desktop companion (CPU via llama.cpp).
- Speak — VoxCPM-0.5B synthesizes the reply on the GPU in a
consistent cute female voice (bundled reference clip + pitch-up/tempo-down
ffmpeg styling), played via
gr.Audio(autoplay=True).
Custom (non-stock-Gradio) UI: sunny gradient, bobbing sprite, chat bubbles, daily check-in, hero + "what can it do" sections.
Why it qualifies
- Best MiniCPM Build (
sponsor:openbmb) — built on OpenBMB's MiniCPM5-1B (brain) and VoxCPM-0.5B (voice). - Off the Grid (
achievement:offgrid) — no cloud APIs; every model runs locally in the Space process. - Off-Brand (
achievement:offbrand) — fully custom UI beyond stock Gradio. - Thousand Token Wood (
track:wood) — a whimsical talking desktop pet. - Tiny / ≤4B — MiniCPM5-1B, VoxCPM-0.5B, faster-whisper-small all well under 4B. (The native app adds NVIDIA Nemotron-0.6B for streaming ASR.)
Hardware
Runs on ZeroGPU (zero-a10g) — the free, quota-based GPU available to
members of the build-small-hackathon Team-plan org (org-billed, no personal
cost). The voice (VoxCPM) runs on the GPU; the brain (llama.cpp) and Nemotron ears on mac or
(faster-whisper) run on CPU.