Local speech input for Linux

Speak. Type.Stay local.

VocoType turns push-to-talk into system-wide Chinese input—offline, CPU-only, and native to both IBus and Fcitx 5.

vocotype://local-input
VocoType running on a Linux desktop
LISTENING
F9fast dictation
Shift + F9polished long-form
Ctrl + F9voice editing
100% offline

Audio and text stay on your machine.

~0.1s response

Fast commit after speech recognition.

~700MB

Peak ASR memory; no discrete GPU required.

2frameworks

Native IBus and Fcitx 5 integrations.

The desktop should listen locally

Voice input without a cloud detour.

Most voice typing tools are web services wrapped in a microphone button. VocoType is an actual Linux input method: it listens, transcribes, and commits text directly into the active application.

01 / PRIVACY

No uploads

Recognition runs locally with FunASR Paraformer. Your voice, drafts, and surrounding text never need to leave the device.

02 / NATIVE

Works everywhere

Chat windows, editors, browsers, terminals, and AI tools all receive text through the Linux input-method stack.

03 / PRACTICAL

CPU-first

Designed for everyday desktops and laptops, with CPU inference, modest memory use, and no dedicated GPU requirement.

A bounded local pipeline

From keypress to committed text.

Each stage has a clear responsibility. Optional language-model polishing is downstream of speech recognition and can be disabled entirely.

01

Hold the key

Press F9 while speaking. Release it when the utterance is complete.

02

Capture + VAD

Local audio capture and voice-activity detection isolate the speech segment.

03

Local ASR

FunASR Paraformer transcribes Chinese and mixed Chinese–English speech on CPU.

04

Commit

IBus or Fcitx 5 inserts the final text into the focused application.

Three interaction modes

One keyboard, three levels of assistance.

Use raw dictation for speed, optional SLM polishing for long-form writing, or voice commands to edit existing text.

F9

Fast dictation

The shortest path from speech to text. No language-model post-processing and minimal latency.

ASR ONLY
Shift + F9

Polished long-form

Optionally routes longer utterances through a local or OpenAI-compatible SLM endpoint for punctuation and cleanup.

OPTIONAL SLM
Ctrl + F9

Voice editing

On IBus, commands can replace, insert, delete, navigate, undo, and redo using the active field’s surrounding text.

IBUS EDIT MODE

Real desktop workflow

See voice typing become normal typing.

The demo shows VocoType operating inside ordinary Linux applications rather than a dedicated transcription window.

VocoType Linux demo · system-wide input64 seconds · local playback

From the Linux community

What users are saying.

Comments from the public VocoType Linux discussion on Linux.do, translated from Chinese where needed.

This is exactly the pain point Linux has been missing: an open-source voice input method.

I had wanted to build this for a long time but never got it off the ground—then found you had already made it.

It feels genuinely comfortable in daily use. Aside from WeChat, every other scenario has worked very well.

Desktop integration

Choose the Linux stack you already use.

The two front ends share the same recognition core while integrating with their native input-method protocols.

IBus

Full support

Best suited to GNOME and distributions where IBus is the default input framework.

  • Python input engine
  • Fast and polished dictation
  • Voice editing with surrounding text

Fcitx 5

Full support

Designed for KDE and users who prefer the modular Fcitx 5 ecosystem.

  • C++ addon + Python backend
  • Fast and polished dictation
  • Independent installation path

Install from source

Pick a framework and start speaking.

The installers set up the backend, input-method integration, and model configuration. IBus and Fcitx 5 builds can coexist.

IBusGNOME / default stacks
$ git clone https://github.com/LeonardNJU/VocoType-linux.git
$ cd VocoType-linux
$ ./scripts/install-ibus.sh
$ ibus restart
Fcitx 5KDE / modular stacks
$ git clone https://github.com/LeonardNJU/VocoType-linux.git
$ cd VocoType-linux
$ bash fcitx5/scripts/install-fcitx5.sh
$ fcitx5 -r

Linux · Python 3.11–3.12 · 4 GB RAM minimum · CPU-only inference · Fedora, Ubuntu, Debian, Arch, and related distributions

Make private voice input a first-class Linux feature.

Open the repository ↗