Install
openclaw skills install @voronindenis5/language-immersion-tvTurn movies and TV shows into language-learning material by analyzing subtitle files to extract vocabulary, build frequency decks, and create contextual flashcards. Use when learning a language through media immersion.
openclaw skills install @voronindenis5/language-immersion-tvLanguage Immersion TV transforms the media you already watch into a personalized language-learning curriculum. It parses subtitle files (.srt, .vtt) from movies and TV shows, extracts the most useful vocabulary, builds frequency-ranked word lists, identifies idioms and multi-word expressions, and exports ready-to-study decks in Anki and CSV format.
The core insight: you learn faster from content you actually enjoy. Watching a show you love in your target language makes vocabulary stick because you have emotional context, visual cues, and narrative motivation.
# Analyze a single subtitle file
python scripts/immersion.py analyze subs/movie.srt --language en
# Build a vocabulary deck from a whole season
python scripts/immersion.py build-season subs/ --language es --output deck.json
# Export to Anki-importable TSV
python scripts/immersion.py export subs/movie.srt --language fr --format anki --output cards.tsv
# Compare vocabulary across multiple episodes to find common words
python scripts/immersion.py compare subs/ --language de --top 100
Built-in stopword lists and basic lemmatization for: English, Spanish, French, German, Italian, Portuguese.
Other languages work but without smart filtering — all words pass through.
Gather .srt or .vtt files for the series you're watching in your target language.
python scripts/immersion.py build-season ~/Downloads/breaking-bad-subs/ --language en --output bb_master.json
This identifies the most frequent words across the whole series — the vocabulary you'll encounter repeatedly.
for f in ~/Downloads/breaking-bad-subs/*.srt; do
python scripts/immersion.py export "$f" --language en --format anki --output "${f%.srt}.ts"
done
Before watching an episode, review its deck (50–100 cards). Then watch the episode and notice the words in context.
python scripts/immersion.py compare ~/Downloads/breaking-bad-subs/ --language en --top 200
Words that appear in many episodes are your highest-value targets.
The tool estimates word difficulty based on frequency percentile:
| CEFR | Frequency Rank | Description |
|---|---|---|
| A1 | Top 100 | Most common words (articles, basic verbs) |
| A2 | 101–500 | Everyday vocabulary |
| B1 | 501–1500 | Intermediate — can follow most dialogue |
| B2 | 1501–4000 | Upper-intermediate — films become accessible |
| C1 | 4000–10000 | Advanced — near-native comprehension |
--language for proper stopword removal. Without it, "the", "a", "is" will dominate your deck.immersion.py analyze subs/movie.srt --language en prints word frequency statsimmersion.py export subs/movie.srt --language en --format csv produces a CSV fileimmersion.py build-season subs/ --language es produces a combined frequency listimmersion.py compare subs/ --top 50 shows cross-episode common wordsreferences/methodology.md — the linguistics and cognitive science of learning from comprehensible inputreferences/cefr-levels.md — CEFR framework explained, with media recommendations per level