Repository navigation
AnkiMining 0.1.0
First public version of AnkiMining: hover over Japanese text anywhere on the screen to see the word, then add it to Anki.
What it does
- Lookup anywhere: hold Shift (or rest the cursor) over any Japanese text on screen (video subtitles, web pages, games, players) and a popup shows the word with reading, meanings, pitch accent and frequency. No browser extension is needed. Pause the video first.
- Words you already have: every word of the sentence is underlined green when its card already exists in Anki.
- One click to Anki: each entry has Add to Anki (or press Alt+M). The card gets the sentence, a screenshot, the word and the sentence read aloud by an offline neural voice, pitch accent and frequency. Decks can depend on the program the word was found in (profiles).
- Listen: every entry has a ▶ button that reads the word aloud.
- mpv: exact subtitles and exact audio of the line when mpv's IPC is on.
- Updates: the app looks for new versions on GitHub and offers to install them (signed files only).
Install
- Windows 10/11: run
AnkiMining_0.1.0_x64-setup.exe. It is not signed with a Microsoft certificate, so SmartScreen may warn: choose More info > Run anyway. - Linux (X11):
chmod +x AnkiMining_0.1.0_amd64.AppImage && ./AnkiMining_0.1.0_amd64.AppImage. - Anki with the AnkiConnect add-on must be open to add cards.
Checked
Both versions were tested by running the installed app's self-test (dictionary, tokenizer, OCR, voice, screen capture, pointer) and the unit tests: the Windows build on a real Windows machine (GitHub Actions), the Linux build in Docker. Adding cards has been tried against a mock AnkiConnect, not a real Anki.
Known limitations
Linux needs X11 (not Wayland). Overlapping subtitle layers and rare kanji can be misread by the OCR. See the README.
Credits
Voice: VOICEVOX:春日部つむぎ. Dictionary: JMdict (EDRDG, CC BY-SA 4.0). Pitch accent: Kanjium (CC BY-SA 4.0). OCR: MeikiOCR models (LGPL-3.0). Frequency counted from Tatoeba sentences (CC BY 2.0 FR). Full list and licenses in the README.