Side project · on-device app

TrashTalker

Fully offline Traditional Chinese voice typing for Android — hold to talk, release to get text, in any app. Audio never leaves the device.

What it is

TrashTalker is local voice input for Android: hold to record, release, and the recognized Traditional Chinese text is typed straight into whatever input field you're in. Recognition runs entirely on-device through sherpa-onnx, so speech never leaves the phone. It works from three surfaces — an in-app playground for testing, a floating mic bubble that rides on top of any app via an accessibility service, and a full voice keyboard registered as a system input method.

How it works

Three switchable ASR models are supported — SenseVoice (fast, multilingual, punctuated), Paraformer (strongest Mandarin accuracy), and Whisper Small (99 languages) — downloaded at runtime with resumable downloads and SHA-256 verification, which slimmed the APK from 397 MB to 157 MB. Every model's output passes through OpenCC so Simplified Chinese always comes out Traditional. A dictation state machine coordinates recording, recognition, and text injection across the bubble and keyboard, backed by a foreground recording service.

Inspired by SpeakSlow, a desktop local Chinese voice-input tool — TrashTalker is an independent Android take on the same idea.