{"id":13408509,"url":"https://github.com/Ben-Kerman/immersive","last_synced_at":"2025-03-14T13:31:22.117Z","repository":{"id":53142019,"uuid":"314697139","full_name":"Ben-Kerman/immersive","owner":"Ben-Kerman","description":"Language learning mpv script for looking up words within mpv and generating Anki cards","archived":false,"fork":false,"pushed_at":"2024-04-25T20:16:53.000Z","size":429,"stargazers_count":80,"open_issues_count":5,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-15T07:41:40.818Z","etag":null,"topics":["anki","copy-paste","dictionaries","language-learning","migaku","mpv","mpv-script","subtitles","yomichan"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ben-Kerman.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-20T23:57:38.000Z","updated_at":"2024-10-09T21:26:01.000Z","dependencies_parsed_at":"2024-09-20T14:40:51.109Z","dependency_job_id":null,"html_url":"https://github.com/Ben-Kerman/immersive","commit_stats":{"total_commits":667,"total_committers":2,"mean_commits":333.5,"dds":"0.0014992503748125774","last_synced_commit":"9bde59a0abaa018096de5b6f38c3ad409b9cfdf1"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Kerman%2Fimmersive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Kerman%2Fimmersive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Kerman%2Fimmersive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ben-Kerman%2Fimmersive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ben-Kerman","download_url":"https://codeload.github.com/Ben-Kerman/immersive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243584240,"owners_count":20314719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anki","copy-paste","dictionaries","language-learning","migaku","mpv","mpv-script","subtitles","yomichan"],"created_at":"2024-07-30T20:00:53.327Z","updated_at":"2025-03-14T13:31:22.108Z","avatar_url":"https://github.com/Ben-Kerman.png","language":"Lua","readme":"# Immersive\n\nImmersive is an mpv script for improving language immersion, with a special\nfocus on sentence mining. It can automatically generate Anki cards with\ndictionary definitions of the target word, sentence audio clips, screenshots\nfrom the video, and pronunciation audio taken from [Forvo](https://forvo.com/).\nThe script is highly configurable and supports many possible workflows.\n\nThis is a short video walking through the full process of creating a card with\nImmersive: https://youtu.be/FrTcu4ZO92w. It's possible to skip parts of the\nprocess if you don't need them.\n\nAnother demo that isn't artificially slowed down for the sake of being easier\nto follow: https://youtu.be/g1aPNkdGTUc\n\n\n## Requirements\n\nImmersive supports all major desktop operating systems:\n\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003cth\u003eLinux\u003c/th\u003e\n\t\t\u003cth\u003eWindows\u003c/th\u003e\n\t\t\u003cth\u003emacOS\u003c/th\u003e\n\t\t\u003cth\u003erequired for \u0026 comments\u003c/th\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd colspan=\"3\"\u003empv (0.33.0 or later)\u003c/td\u003e\n\t\t\u003ctd\u003e\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd colspan=\"3\"\u003e\n\t\t\tAnki with \u003ca href=\"https://ankiweb.net/shared/info/2055492159\"\u003eAnkiConnect\u003c/a\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd\u003ecard export\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd colspan=\"3\"\u003ecurl\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tweb requests (Forvo, AnkiConnect). Already present by default on most systems.\n\t\t\tPart of Windows 10 since April 2018\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003esocat\u003c/td\u003e\n\t\t\u003ctd\u003e-\u003c/td\u003e\n\t\t\u003ctd\u003enetcat (\u003ccode\u003enc\u003c/code\u003e)\u003c/td\u003e\n\t\t\u003ctd\u003e\n\t\t\tbackground playback (sentence and Forvo audio preview).\n\t\t\t\u003ccode\u003enc\u003c/code\u003e is included with macOS 10.13 and later.\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd\u003exclip\u003c/td\u003e\n\t\t\u003ctd\u003ePowerShell\u003c/td\u003e\n\t\t\u003ctd\u003e-\u003c/td\u003e\n\t\t\u003ctd\u003eclipboard access, PowerShell is installed by default\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Feature Overview\n\n### Fully Integrated Card Creation\n\nThe basic process for creating cards is as follows:\n\n1. Bring up the subtitle selection menu (`a`)\n2. Select the subtitles that should be on the card using `a` or the autoselect\n   (toggle with `A`). If there are no subtitles or if they are badly timed, set\n   the start/end time for the audio export manually using `Q` and `E`. If you\n   wish to take a screenshot at a specific time instead of the current frame,\n   set it using `s`.\n3. Enter target word selection mode using `d`. Select the target word with\n   (`Ctrl`+)`⇧`+`←`/`→` and confirm it using (`⇧`+)`⏎`. It's possible\n   to search for an external word from the clipboard using `v` if there are no\n   text subtitles or if a word can't be found.\n4. Choose a definition from the dictionary entries with `↑`/`↓` and `⏎`. Switch\n   between dictionaries with `←`/`→` if you have more than one configured.\n5. Optionally add Forvo audio by pressing `a` after adding a target word.\n6. Export to Anki using `f`.\n\nThe card creation process is highly customizable. For further information read\n[this](/doc/card-export.md).\n\n### Dictionary Lookup in mpv\n\nYou can look up words in your configured dictionaries at any time. Open the word\nselection menu by pressing `k` and search for the selection using (`⇧`+)`⏎`.\n\n### Automatic Deinflection\n\nImmersive supports automatic deinflection (deconjugation) based on the same\ntables that the Migaku Dictionary addon for Anki uses in addition to a\nsimpler Japanese-specific deinflector.\nRead [this page](/doc/lookup-transformations.md) for details.\n\n### Subtitle Copying\n\nImmersive can copy subtitles to the clipboard. Use `c` to manually copy the\nactive line at any time, or toggle automatic copying with `C`. You can\npartially copy lines from the active line menu (`k`).\n\n\n## Installation \u0026 Setup\n\nFor a guide to getting started as quickly as possible see [below](#quick-start-guide).\n\nImmersive can be installed by placing the contents of this repository in a\nfolder within your mpv scripts directory (`~/.config/mpv/scripts/` on Linux,\n`%APPDATA%\\mpv\\scripts` on Windows). This folder should be named `immersive`.\nUsing any other name will mean that you will have to change the names of all\nconfig files to match it as well.\n\nAll necessary files can be downloaded as a ZIP file from the latest\n[release](https://github.com/Ben-Kerman/immersive/releases). When installing\nImmersive from a release archive, it only needs to be extracted into the mpv\nconfig directory for the full release, or `scripts` directory for the script-only\nrelease. The `immersive` directory is already contained in the archive.\n\nIf you want the most up-to-date version possible, use the \"Code\" button at the\ntop of the repo's start page. Simply extract the contents of the file into\nyour mpv scripts folder and remove the branch name (most likely `-master`)\nfrom the name of the extracted directory.\n\n---\n\nThe script is configured in several different files. These need to be placed\nin a directory called `script-opts` that is located next to your `mpv.conf`\nand `scripts` folder. For a description of the general config syntax, see [this\ndocument](/doc/config.md). Except for `immersive-dictionaries.conf` all config\nfiles can be reloaded from the global menu (`Ctrl`+`a`) at runtime.\n\nIn order to use the main feature of generating Anki cards with included\ndefinitions, these config files need to be present:\n- [`immersive-targets.conf`](/doc/targets.md): how to export to Anki\n- [`immersive-dictionaries.conf`](/doc/dictionaries.md): which dictionaries to use\n\nThe following config files are optional:\n- [`immersive.conf`](/doc/script-config.md): general configuration of the script\n- [`immersive-keys.conf`](/doc/keys.md): reassign key bindings\n- [`immersive-series.conf`](/doc/series.md): custom series IDs and titles\n- [`immersive-style.conf`](/doc/style.md): appearance of the interface\n\nDocumentation that is not about specific config files:\n- [Config Syntax](/doc/config.md)\n- [Interface](/doc/interface.md)\n- [Templates](/doc/templates.md)\n- [Card Export](/doc/card-export.md)\n\n### Updating\n\nTo update Immersive, delete the script's folder in your `scripts` directory\nand replace it with the one from the latest release's script-only ZIP file.\nAlso check if there were any changes to config entries that you have used in\nthe [change log](/CHANGELOG.md).\n\n### Quick Start Guide\n\n1. Make sure your mpv install is version 0.33.0 or later.\n2. Download the latest full release of Immersive from\n   [here](https://github.com/Ben-Kerman/immersive/releases).\n3. Unzip its contents into your mpv config directory. Make sure that you are\n   not overwriting any existing config files.\n4. Open `immersive-targets.conf` in `script-opts` with a text editor of your\n   choice (like Notepad++, Sublime Text or vim), and change the values of\n   `profile`, `deck`, `note_type`, and the `field:` values so that they match\n   your Anki setup.\n5. Open `immersive-dictionaries.conf` and set up your dictionaries as\n   explained [here](/doc/dictionaries.md). If you are learning Japanese and are\n   using the Yomichan version of JMdict, you will most likely only have to change\n   `location` so it is set to the path of a directory containing the unzipped\n   contents of `jmdict_english.zip` from the Yomichan website.\n\nYour mpv config directory should contain the following files at this point:\n\n```\nscripts/\n    immersive/\n        dict/\n        interface/\n        systems/\n        utility/\n        LICENSE\n        main.lua\nscript-opts/\n    immersive-dictionaries.conf\n    immersive-series.conf\n    immersive-style.conf\n    immersive-targets.conf\n    immersive.conf\n```\n\nYou can now start mpv and open the main menu of Immersive using `Ctrl`+`a` or\nbegin creating a card with `a`.\n\n\n## Troubleshooting\n\nIf Immersive crashes at any point (when this happens, the interface suddenly\ndisappears and all keybindings stop working), open the console using `ˋ`/`~`,\ntake a screenshot of it and report the issue to me. If you started mpv from\nthe command line the output there is preferred.\n\n\n## Suggestions \u0026 Reporting Issues\n\nIf you have any suggestions for improving Immersive or encounter a problem\nwhile using it please contact me, even if that problem is not understanding\nparts of the documentation or how to do something with the script. Outside of\nGitHub you can reach me on the [Refold](https://refold.la/) community's\ndiscord servers.\n","funding_links":[],"categories":["Learning","Language Learning","Stand-alone"],"sub_categories":["Video Players (or extensions)","mpv scripts"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBen-Kerman%2Fimmersive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBen-Kerman%2Fimmersive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBen-Kerman%2Fimmersive/lists"}