English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Français | Deutsch | Português | Русский | Tiếng Việt | ภาษาไทย | Bahasa Indonesia | Italiano | Nederlands | Türkçe | العربية
No fiddly setup — import the recommended dictionaries and audio in one step.
Watch what you want to watch, and pick up the language along the way.
hibiki turns the novels you read, the shows you follow, and the audiobooks you listen to into your language input — tap any unknown word to look it up, then turn it into an Anki card with original context in one tap. It doesn't hand you a preset word list; it just helps you catch the words you actually read and hear.
The most effective way to learn a language is heavy exposure to real content, not memorizing isolated words from a vocabulary book. But "immersion" has always had two annoyances: looking up a word breaks your flow, and you forget it the moment you look away. hibiki closes that loop —
📖 Read: tap a word in the EPUB reader to look it up, without leaving the current page.
🎧 Listen: audiobooks highlight along sentence by sentence and turn pages automatically.
🎬 Watch: look up words and make cards right on the video subtitles — following a show is input.
🃏 Retain: send any word you looked up, anywhere, straight to Anki, and review only the words you actually met.
Every scenario shares the same dictionaries, statistics, and review workflow. It works for any language (Japanese, English, …), and is especially suited to immersion learners who believe in heavy input + only self-made cards. Available for Android and Windows (iOS and macOS planned).
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
One-tap Anki mining demo
- Import EPUBs individually, in bulk, or recursively by folder; view reading progress on the shelf.
- Organize books with custom bookshelves, tag filtering, and drag-to-reorder.
- Drag-and-drop files to import books, subtitles, or videos (desktop).
- Automatically associate same-name subtitle / audio files on import.
- Read in vertical or horizontal layout; switch between paginated and continuous-scroll modes.
- Customize themes (light / dark / pure black / custom), fonts, paragraph spacing, and reader controls.
- Furigana (ふりがな) annotations.
- Adjustable UI scale; bottom bar controls follow the scale.
- Multi-user profiles (Profile), auto-switched per book.
- Import Yomitan (formerly Yomichan), ABBYY Lingvo (DSL), MDict (MDX), and Migaku dictionaries.
- Tap text in the reader to look up words, search on the dictionary page, or share text from other apps.
- Deinflection covering all Yomitan transformation languages + pre-lookup text normalization (case / diacritics / Arabic harakat), driven by code points with no language switching.
- Tap words inside definitions for recursive lookup (nested popups).
- Parallel multi-dictionary queries, sub-source priority and toggling, pitch-accent and frequency annotations.
- Online and local word audio.
- Inject custom CSS.
- Add five-color highlights while reading; jump to any highlight at any time.
- Reading statistics: characters read, duration, reading speed — displayed in real time while reading.
- Video statistics: watch time, cards created, and favorites.
- Create cards via AnkiDroid or AnkiConnect.
- Built-in Lapis note type (vendored 1.7.0); create card templates and decks inside the app with one tap.
- Auto-fill context sentences; audio recording and screenshot cropping.
- Multiple export profiles (Profile) and custom field mapping.
- Favorite words; cards created and favorites are counted in statistics.
- SRT / LRC / VTT / ASS subtitle support; automatically aligns subtitle text to the EPUB body.
- Follow-along sentence highlighting and auto page-turning during playback.
- Playback speed, seek actions, and system media controls.
- "Play from this sentence" with seamless cross-chapter continuation.
- Built-in video player based on media_kit (libmpv core).
- Embedded (text + graphic tracks) and external subtitles; .m3u8 playlist import.
- Look up words and create cards directly from subtitles during playback.
- Video library management, tag filtering, series grouping, and batch operations.
- Seven sync backends: Google Drive, OneDrive, Dropbox, WebDAV, FTP, SFTP, and Hibiki P2P.
- Sync reading progress, statistics, and books.
- 17 interface languages, fully localized across all platforms.
- Share text from other apps to look up words directly.
| Platform | Status | Rendering / UI |
|---|---|---|
| Android | ✅ | Material Design 3 |
| Windows | ✅ | Material |
| iOS | Planned | Cupertino |
| macOS | Planned | Material |
Minimum Android 7.0 (API 24). The languages available for dictionary lookup are determined by the imported dictionaries and Yomitan transformation tables, independently of the interface language.
English · 简体中文 · 繁體中文 · 日本語 · 한국어 · Español · Français · Deutsch · Português (Brasil) · Русский · Tiếng Việt · ภาษาไทย · Bahasa Indonesia · Italiano · Nederlands · Türkçe · العربية
Download the latest release from GitHub Releases — Android APK and Windows installer are available.
Requires Android 7.0 (API 24) or higher.
One-command prep (flutter pub get + apply patches), then build:
# From the repository root
bash tool/bootstrap.sh # Windows PowerShell: .\tool\bootstrap.ps1
cd hibiki
# Android
flutter build apk --release --target-platform android-arm64 --split-per-abi
# Windows desktop
flutter build windows --releasetool/bootstrap.sh / tool/bootstrap.ps1 collapse flutter pub get and ci/apply-patches.sh into a single command. This project is locked to Flutter 3.44.0 (Dart SDK >=3.5.0 <4.0.0); some upstream dependencies are vendored under third_party/ or patched by ci/apply-patches.sh — see docs/agent/build.md for details.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Flutter 3.44.0 (Dart SDK >=3.5.0 <4.0.0) |
| Platforms | Android / Windows (Material Design 3) |
| Reader | WebView paging engine (derived from the Hoshi Reader family) |
| Video | media_kit (libmpv core) |
| Storage | Drift (SQLite, WAL) + hoshidicts (C++ FFI dictionary engine) |
| NLP | Yomitan transformation tables (multilingual lemmatization) + kana_kit (kana conversion); tokenization via hoshidicts FFI |
| Card Creation | AnkiDroid API + AnkiConnect |
| i18n | Slang (17 languages) |
Project Structure
hibiki/ # Repository root (Melos workspace: hibiki_workspace)
├── hibiki/ # Flutter app main directory
│ ├── lib/
│ │ ├── i18n/ # Internationalization (17 languages, Slang)
│ │ ├── src/
│ │ │ ├── pages/ # Pages (bookshelf, reader, dictionary, settings, etc.)
│ │ │ ├── reader/ # Reader WebView JS/CSS scripts
│ │ │ ├── media/ # Audiobook, subtitle parsing, reader source
│ │ │ └── models/ # Data models and state management (AppModel)
│ │ └── main.dart
│ └── android/ # Android project (manifest, native hoshidicts)
├── packages/ # Internal packages + flutter_inappwebview_windows (fork) + gamepads_android_stub
├── native/ # hoshidicts C++ dictionary engine (FFI)
├── third_party/ # Vendored patched packages (dependency_overrides)
├── ci/ # Build patches and integration test scripts
├── tool/ # bootstrap / i18n_sync and other scripts
└── docs/ # Development documentation (incl. docs/agent/ operations manual)
hibiki stores imported books, dictionaries, fonts, audiobook data, videos, reading progress, highlights, statistics, and settings in the app's local storage.
Cloud sync (Google Drive / OneDrive / Dropbox) uses user-configured OAuth credentials; WebDAV / FTP / SFTP uses user-provided server addresses and credentials; Hibiki P2P connects directly via a user-configured address. Anki card creation communicates with AnkiDroid or a configured AnkiConnect address.
The chart above is generated inside this repository (no third-party service) and refreshed daily by the Update Star History workflow.
hibiki builds on the following projects and ecosystem:
| Project | Description |
|---|---|
| jidoujisho | Japanese immersive learning tool |
| Hoshi Reader | iOS Japanese reader; reader paging engine reference |
| Hoshi Reader Android | Android native Japanese reader |
| hoshidicts | C++ dictionary engine |
| Sasayaki | Audiobook sync solution |
| Yomitan | Dictionary format, transformation tables, and lookup experience reference |
| Lapis | Anki note type |
| AnkiDroid | Android card creation integration |
| Ankiconnect Android | Local audio and AnkiDroid interaction reference |
| ッツ Ebook Reader | Reader, statistics, and sync compatibility reference |
| media_kit | Flutter video playback framework (libmpv core) |
| Niratan | Immersion language learning suite for macOS |
Distributed under the GNU General Public License v3.0. See LICENSE for details.







