Files
SubMiner/docs/index.md
kyasuda 457e6f0f10 feat(tokenizer): refine Yomitan grouping and parser tooling
- map segmented Yomitan lines into single logical tokens and improve candidate selection heuristics

- limit frequency lookup to selected token text with POS-based exclusions and add debug logging hook

- add standalone Yomitan parser test script, deterministic utility-script shutdown, and docs/backlog updates
2026-02-16 17:41:24 -08:00

7.3 KiB

layout, title, titleTemplate, hero, features
layout title titleTemplate hero features
home SubMiner Immersion Mining Workflow for MPV
name text tagline image actions
SubMiner Built for Immersion Mining A self-contained MPV overlay for Japanese study. Look up words, mine cards, and enrich Anki without breaking playback flow.
src alt
/assets/SubMiner.png SubMiner logo
theme text link
brand Get Started /installation
theme text link
alt Mining Workflow /mining-workflow
theme text link
alt Is This For Me? #who-this-is-for
icon title details
src alt
/assets/mpv.svg mpv icon
Built for mpv Connects directly to mpv over IPC — tracks subtitles in real time, observes playback properties, and renders a self-contained overlay with everything bundled in a single application.
icon title details
src alt
/assets/yomitan-icon.svg Yomitan logo
Yomitan Integration Hover over any word in the subtitles to trigger Yomitan dictionary lookups — get instant definitions without leaving the video player.
icon title details
src alt
/assets/anki-card.svg Anki card icon
Anki Card Enrichment Add a word from Yomitan and SubMiner automatically updates the card with the sentence, audio clip, screenshot, and translation — no extra steps needed.
icon title details
src alt
/assets/dual-layer.svg Dual layer icon
Dual-Layer Subtitle System Visible overlay with styled, interactive subtitles — plus an invisible layer that aligns with mpv's own subtitle rendering for seamless click-through lookup.
icon title details
src alt
/assets/highlight.svg Highlight icon
N+1 Word Highlighting Highlights words you already know from your Anki deck, making it easy to spot new vocabulary and identify true N+1 sentences during immersion.
icon title details
src alt
/assets/texthooker.svg Texthooker icon
Texthooker & WebSocket Built-in texthooker page that receives subtitles over WebSocket — use it as a clipboard inserter for Yomitan or connect external tools for real-time subtitle streaming.
icon title details
src alt
/assets/subtitle-download.svg Subtitle download icon
Subtitle Download & Sync Search and download Japanese subtitles from Jimaku, then sync them to the audio with alass or ffsubsync — all from within the player.
icon title details
src alt
/assets/keyboard.svg Keyboard icon
Keyboard-Driven Workflow Mine sentences, copy subtitles, cycle display modes, and trigger field grouping — all from configurable keyboard shortcuts without touching the mouse.
<style> .demo-section { max-width: 960px; margin: 2rem auto 0; padding: 0 24px; } .demo-section h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: 0.75rem; } .demo-section p { color: var(--vp-c-text-2); margin-bottom: 1rem; } .demo-section video { width: 100%; border-radius: 8px; border: 1px solid var(--vp-c-divider); } .workflow-section { max-width: 960px; margin: 3rem auto 0; padding: 0 24px 3rem; } .workflow-section h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: 1.5rem; } .workflow-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .workflow-step { padding: 1rem; border-radius: 8px; border: 1px solid var(--vp-c-divider); background: var(--vp-c-bg-soft); } .workflow-step .step-number { font-size: 0.8rem; font-weight: 700; color: var(--vp-c-brand-1); margin-bottom: 0.25rem; } .workflow-step .step-title { font-weight: 600; margin-bottom: 0.25rem; } .workflow-step .step-desc { font-size: 0.875rem; color: var(--vp-c-text-2); } </style>

What SubMiner Is For

SubMiner is for people who learn Japanese by watching subtitled content in mpv and want a low-friction mining loop:

  • stay inside the video while looking up words
  • send mined content to Anki quickly
  • keep media context (audio, screenshot, timestamp, subtitle context) attached to each card
  • reduce tool switching between player, dictionary, and card workflow

Project Goals

1. Keep Immersion Continuous
Minimize context switching by making lookup and mining happen directly over mpv subtitles.
2. Preserve Card Quality
Attach sentence context, audio, image, and translation so mined cards stay reviewable and useful long-term.
3. Support Real Workflows
Handle day-to-day immersion needs: subtitle management, syncing, known-word awareness, and keyboard-first controls.
4. Stay Configurable
Offer defaults that work out of the box, while still letting advanced users shape behavior around their note type and setup.
5. Evolve Safely
Use a modular TypeScript codebase and automated tests so features can ship faster without breaking core mining behavior.

See It in Action

SubMiner sits as a transparent overlay on top of mpv. Subtitles appear as interactive, clickable text — click a word to look it up with Yomitan, then add it to Anki with one click.

Who This Is For

  • learners using mpv as their main immersion player
  • users who already rely on Yomitan + AnkiConnect
  • miners who care about preserving context on cards, not just raw words

SubMiner is likely overkill if you only want lightweight lookup without card enrichment, overlay controls, or integrated workflow tooling.

How It Works

01
Watch
Play a video in mpv. SubMiner connects via IPC and captures subtitles in real time.
02
Look Up
Hover over a word in the subtitle overlay and hold Shift to trigger a Yomitan dictionary lookup.
03
Mine
Add the word to Anki from Yomitan. SubMiner detects the new card automatically.
04
Enrich
SubMiner fills in the sentence, audio clip, screenshot, and translation — no extra steps.