Skip to content

Latest commit

 

History

History
189 lines (137 loc) · 16.8 KB

README.en.md

File metadata and controls

189 lines (137 loc) · 16.8 KB

CyIME

简体中文 · 繁體中文

CyIME is an Android input method developed and maintained by Cyletix. It runs on the Rime engine and is a fork of Xime. Chinese Pinyin, Shuangpin, Wubi, stroke, Cangjie and Zhuyin, plus Japanese, English and Spanish, handwriting, voice and photo text recognition all run on the device. It also has live captions for people who are hard of hearing.

Download and install

Requires Android 9.0 (API 28) or later. Packages are ARM64 only.

  1. Download from Releases. Both packages are built from the same source and differ only in the bundled offline models:
    • Lite CyIME-<version>-arm64-v8a.apk: no voice, handwriting or prediction models; download them in "Extensions › Models" when needed.
    • Full CyIME-<version>-full-arm64-v8a.apk: bundles the SenseVoice voice model, handwriting, speaker, prediction and 9-key phrase models, so it works offline right away. The streaming Paraformer model is not bundled; download it in the app if you want text while you speak.
  2. Enable CyIME in the system settings and make it the current keyboard.
  3. Later updates: "Settings › About › Check for updates" downloads the same edition (lite or full) and hands it to the system installer.

On phones with Google services (Samsung, global models), apps from developers not registered with Google need a one-time "advanced flow" to install from 2027. Phones sold in mainland China and adb installs are not affected. See Google developer verification (Chinese).

Moving from the old com.kingzcheung.xime: the install ID is now com.cyletix.cyime, so Android treats CyIME as a new app. Both can be installed side by side, and old data is not carried over.

Features

Features marked "off by default" have to be turned on in the settings.

Chinese

  • Full Pinyin on 26 keys, 9 keys and 14 keys, with the rime-ice dictionary. The 9-key keyboard can download a phrase model and a grammar model and picks words key by key in long sentences.
  • Shuangpin: built-in Xiaohe, Shoudao, Ziranma, Zhineng ABC, Pinyin Jiajia and Microsoft layouts. Copy and edit them or build your own. Every Shuangpin scheme has a 14-key version; Xiaohe, Shoudao and your own schemes also have a 9-key version (off by default).
  • Wubi 86 (bundled), Wubi 98 (download), stroke, Cangjie 5 and Zhuyin (Dachen keyboard), enabled in "Languages and schemes".
  • Traditional Chinese output (Taiwan forms), fuzzy Pinyin, rare characters, mixed Chinese-English input and Chinese glide typing, all off by default.
  • Candidates can show Pinyin or a Chinese/English gloss. The 26-key keyboard corrects extra or missing letters without putting the correction first.
  • Dictionary page: your own phrases, import TXT / Sogou / QQ / Rime dictionaries, removed candidates, word lookup. Topic dictionaries for anime, games, programming, math and more (off by default).

Other languages

  • English: word completion and glide typing.
  • Japanese: romaji on 26 keys and a kana keyboard, with the rime-jaroomaji dictionaries.
  • Spanish: ñ key, accented letters on long press, word completion (off by default).

Handwriting, voice, text recognition

  • Handwriting: Chinese, English, Japanese (kana and kanji) and math formulas (recognized as LaTeX). Chinese, English and Japanese accept several characters at once. S Pen is supported.
  • Voice: offline on the device. New installs use SenseVoice (punctuation, whole-sentence results). Download Paraformer to see text while you speak; Zipformer, X-ASR and Japanese models are also available. Hold the space bar to talk. You can also set your own online recognition service, which is used only after its test passes.
  • Photo text recognition: take a photo or pick an image from the clipboard panel and get the text, offline.

Captions

  • Turns speech around you into live captions in Chinese, English or Japanese, split by speaker; speakers can be named.
  • Floating captions over other apps, call captions, caption history (search, share, kept 3 days by default), vibration when someone says your name. Captions have their own launcher icon.

Keyboard and look

  • Docked, floating or split. The floating keyboard can be moved, resized and rotated; on tablets, pull the handle on top of the docked keyboard to make it float.
  • Letter layouts: QWERTY, Colemak, QWJRTK, Cyletix10, a Typewise-style hexagon layout, or your own.
  • Color themes, glass effect, your own picture as background, rounded / square / sharp key shapes.
  • Rearrange the toolbar and menu by dragging; key sounds, vibration and swipe gestures are adjustable.
  • Hardware keyboards: floating candidate bar, shortcut to switch languages.

Clipboard and sync

  • Clipboard history, pinning, search, custom groups, export to TXT / Markdown / JSON; SMS codes show up in the candidate bar.
  • Pair with CyIME for Windows (not public yet) by QR code to sync the clipboard both ways.
  • Local backup and restore.

Settings

  • Settings search (synonyms, typos, Traditional characters), device-based recommended setup, performance levels.
  • Extensions: download schemes and models; import Lua plugins (.xipk). The repo's plugins/ folder has examples such as kaomoji, online speech recognition and WebDAV backup.

Build

# Clone with submodules
git clone --recursive https://github.com/Cyletix/CyIME.git

# Or, in an existing clone
git submodule update --init --recursive

# Debug / release
./gradlew assembleDebug
./gradlew assembleRelease

Needs JDK 17 and NDK 29.0.14206865. The build downloads rime-ice, the Japanese dictionaries, the stroke and Cangjie tables and the sherpa-onnx runtime, checks them against recorded SHA-256 digests and packs them into the APK. Day-to-day packages are built with packager.cmd in the repo root (double-click for the GUI, or pass arguments); presets are in scripts/packager/config.json, version rules in docs/packaging.md (Chinese).

Tech stack: Kotlin · Jetpack Compose · Material 3 · librime (JNI / C++) · ONNX Runtime · sherpa-onnx · OpenCV

Project history

  • Forked from Xime (Kingz Cheung / kingzcheung and contributors) at upstream commit 9452b16 on 2026-09-21.
  • To keep the code easy to compare with upstream, the source namespace com.kingzcheung.xime, plugin IDs, xime.yaml / xime.custom.yaml and the extension store protocol are unchanged; only the install ID is CyIME's own. See docs/cyime-identity.md (Chinese).
  • The author's earlier work: Cyletix-Keyboard (2024 keyboard layout research, where the Cyletix10 layout comes from) and ASRInput (desktop voice captions; CyIME's caption pacing follows it).
  • Community Linux port: tuxKOH/CyIME, branch linux-desktop-preview (IBus Pinyin + desktop clipboard, maintained by tuxKOH). Linux forks are welcome, but I don't have the time to maintain a Linux version myself for now.

Contributing

See CONTRIBUTING.md (Chinese): open an issue first, then a minimal pull request.

Credits

CyIME builds on the projects, data and models below. Thanks to all their authors. Full license texts and copyright notices ship in app/src/main/assets/NOTICE.txt, app/src/main/assets/licenses/ and the NOTICE files next to each scheme. In the app, see "Settings › About › Credits" and "Open source licenses".

Upstream

Project Author Used for License
Xime Kingz Cheung (kingzcheung) and contributors CyIME's starting point: app framework, Rime integration, 9-key librime-t9, plugin system, handwriting and prediction GPL-3.0
rime-wubi (fork of KyleBing/rime-wubi86-jidian) kingzcheung; KyleBing Bundled Wubi 86 scheme and Wubi lookup in handwriting Apache-2.0
Xime models: ochwpro, predictive-text-small, predictive-text-base Xime project Chinese handwriting; prediction ochwpro MIT; small Apache-2.0; base CC BY-NC-SA 4.0

Input engine

Project Author Used for License
librime (via ximeiorg/librime) lotem (佛振) and the Rime community Input engine BSD-3-Clause
librime-lua hchunhui Lua scripts in schemes BSD-3-Clause
librime-octagram lotem 9-key grammar model GPL-3.0
librime-predict Rime Prediction BSD-3-Clause
OpenCC BYVoid (Carbo Kuo) Simplified/Traditional conversion Apache-2.0
Boost, glog, yaml-cpp, LevelDB, marisa-trie, Snappy Their authors librime dependencies BSL-1.0, BSD-3-Clause, MIT, BSD-3-Clause, BSD-2-Clause or LGPL-2.1, BSD-3-Clause

Dictionaries and tables

Project Author Used for License
rime-ice (雾凇拼音) iDvel (Dvel) Dictionary and schemes for full Pinyin, Xiaohe Shuangpin, 9 keys, 14 keys GPL-3.0
RIME-LMDG (万象) amzxyz 9-key grammar model (download) CC BY 4.0
rime-stroke 四季的風, 雪齋, Kunki Chou, 宋天 Stroke scheme LGPL-3.0
Cangjie5 Jackchows; 倉頡之友·馬來西亞 Cangjie 5 table MIT
rime-cangjie, rime-bopomofo Rime Reference for the Cangjie and Zhuyin schemes LGPL-3.0
McBopomofo (小麦注音) OpenVanilla Taiwan words, readings and frequencies (Zhuyin, Traditional output, Cangjie ranking) MIT
rime-jaroomaji lazy fox chan Japanese schemes and dictionaries Apache-2.0; dictionaries keep their own licenses: Mozc (BSD-style), JMdict / KANJIDIC2 (EDRDG, CC BY-SA 4.0)
Sogou cell dictionaries Sogou and dictionary authors Topic dictionaries downloaded in the app straight from Sogou Copyright of their authors
rime-wubi98 cz-archive Wubi 98 (download) GPL-3.0
ECDICT skywind3000 (Linwei) Candidate gloss, English → Chinese MIT
CC-CEDICT MDBG Candidate gloss, Chinese → English CC BY-SA 4.0
opus-mt-zh-en Helsinki-NLP Reference translations of common phrases in the gloss (generated offline on a PC) CC BY 4.0
FrequencyWords Hermit Dave Spanish word list Code MIT; lists CC BY-SA 4.0
ChaiPUA font Tan Songchen (tansongchen) Shows Wubi radicals and other extension characters (inherited from Xime) Not stated in the font

Corpora (for CyIME's own models)

Corpus Author Used for License
LCCC (Large-scale Cleaned Chinese Conversation) Tsinghua University CoAI group 9-key phrase model, base prediction table, 26-key word frequencies MIT
OpenSubtitles (OPUS) opensubtitles.org; OPUS Spoken part of the 9-key phrase model Not stated
Natural Language Corpus Data Peter Norvig English glide word and word-pair frequencies MIT
Cornell Movie-Dialogs Corpus Cristian Danescu-Niculescu-Mizil, Lillian Lee Spoken word pairs for English glide Public research data
MathWriting Google Training the formula handwriting model CC BY-NC-SA 4.0

Speech, recognition and inference

Project Author Used for License
sherpa-onnx k2-fsa (Next-gen Kaldi) Speech recognition, VAD and speaker runtime; ONNX exports of the voice models Apache-2.0
ONNX Runtime Microsoft Inference for handwriting, prediction, text recognition MIT
Silero VAD Silero Voice activity detection MIT
SenseVoice Alibaba FunAudioLLM Speech recognition (multilingual, whole sentences) FunASR model license (attribution, keep the model name)
Paraformer Alibaba DAMO Academy FunASR Streaming Chinese-English recognition Apache-2.0
Zipformer Chinese k2-fsa Streaming Chinese recognition Apache-2.0
X-ASR zh-en GilgameshWind Chinese whole-sentence results (download) Apache-2.0
ReazonSpeech k2 v2 Reazon Research Japanese recognition Apache-2.0
3D-Speaker CAM++ Alibaba 3D-Speaker Telling speakers apart in captions Apache-2.0
PaddleOCR PP-OCRv5, RapidOCR PaddlePaddle; RapidAI Text recognition models and their ONNX versions Apache-2.0
OpenCV OpenCV Image processing for text recognition Apache-2.0
KaTeX KaTeX authors Rendering handwritten formulas MIT
UER-py Chinese RoBERTa UER team 9-key sentence scoring (retired; the vocabulary still ships) Apache-2.0

Android libraries

Kotlin, Jetpack Compose and AndroidX (including CameraX and Room), Material Components, OkHttp, Coil, kaml, kotlinx.serialization, ZXing (pairing QR codes), exp4j (calculator) and Apache Commons Compress are Apache-2.0; LuaJ (plugin runtime) is MIT; sora-editor (scheme file editor) is LGPL-2.1.

Design references

CyIME's interaction, look and key layouts drew on these products and schemes:

License

GPLv3. Upstream code remains copyright of its authors; the changes in this fork are maintained by Cyletix. The "Xime" name, logo and other brand assets are not covered by the GPLv3; see TRADEMARKS.md. Third-party components, data and models are distributed under their own licenses, listed in the credits above and in app/src/main/assets/NOTICE.txt. Note that the base prediction model (CC BY-NC-SA 4.0) and the formula handwriting model (trained on MathWriting, CC BY-NC-SA 4.0) may not be used commercially.