返回排行榜

asbplayer/asbplayer

TypeScriptdocs.asbplayer.dev

Browser-based media player and Chrome extension for subtitle sentence mining

language-learninganki-flashcards
Star 增长趋势
Star
1.3k
Forks
200
周增长
Issues
206
5001k
2021年4月2023年1月2024年10月2026年7月
制品库npmnpm install asbplayer
README

asbplayer

GitHub Workflow Status (with event) Github All Releases GitHub License Discord

asbplayer

asbplayer is a browser-based media player and Chrome extension developed for language learners who learn their target language through subtitled media. With asbplayer, you can:

  • Easily create high-quality, multimedia flashcards out of subtitled videos.
  • Load text-selectable subtitles onto most video sources, including streaming sources. You can use auto-detected subtitles on popular streaming services like Netflix and YouTube, or your own subtitle files.
  • Seek through subtitles using a navigable subtitle list.
  • Optimize language acquisition with playback modes like:
    • Condensed playback: Skip unsubtitled sections of video.
    • Fast-forward playback: Fast-forward through unsubtitled sections of video.
    • Auto-pause: Automatically pause at the beginning or end of every subtitle.
  • Use customizable keyboard shortcuts to access most of asbplayer's features.
  • Annotate subtitles with the help of tools such as Yomitan
    • Word styling (color/underline/outline, etc.) based on a word's status (uncollected/unknown/learning, etc.) synced from Anki, WaniKani, and/or tracked locally in asbplayer.
    • Reading annotation for reading displayed above each word or based on status.
    • Accent annotation such as pitch accent.
    • Frequency annotation for rank-based frequency displayed below each word or based on status.
    • Statistics and Comprehension on your known words for the current media.
    • Word browser to manage local and view words synced from external sources.
    • Many more features for future releases! Some planned features include:
      • Auto pause, Condensed playback, and Auto mining on uncollected/unknown/learning words.
      • Statistics and Comprehension on your known words across media.

Thanks

Thank you to everyone who has sponsored the project:

@vivekchoksi, @nzarbayezid, @ManuJapan, AdamM, realgoodsmiley, Alex, @m4eko, Simon, Attenius, medyas, @zaerald, Suna, @tony7253, @voothi, kibo, @genericdave, Daniel, Cristian, Joey Potter, @InteractiveNinja, @agloo, @Venous771, @Viterkim, Julian, DanglingSabSuu, @nikkovc, @ganqqwerty, @mathiaslovnes, @MF-Billings, @festivity9139, Phos, AstralDice, @east825, @Astr0ddity, @NirDafnai, @henryfl, トム, Peter, @825i, ags, Vannde3, Champ, marcman3001, @vladysor

and to those who have donated privately.

Thank you to all those who have contributed to asbplayer:

@Renji-XD, @MatiasIslaA, @cyphar, @alexbofa, @Zyphdoz, @artjomsR, @iam6lake, @bpwhelan, @pooky-programs, @m-edlund, @nekorushi, @Viterkim, @s-cork, @shekhirin, @ShanaryS, @kayden1940, @eltociear, @MarvNC, @mcgrizzz, @mwojick, @kowasaur, @NirDafnai, @miroshQa, @RicBent, @fuyuka1d3su, @SpazzTL, @mseh1128, @LuqueDaniel, @agloo, @Bennycopter, @extremq, @iamllama, @danthemango, @L-M-Sherlock, @Hit2Skill, @khajiitvaper2017, @saifkaral, @xwxb, @yqmmm, @jprostko, @rodrigo-suarezmajor, @Roka20012, @RonzyOnGIT, @Dr-TNineS, @thntx, @Otto-Deviant1904, @Ayase-the-Dark

Thank you to all those who have translated asbplayer:

Mana Tsutsumi (Japanese, initial translation), Kai Böse (German), Triline, @nekorushi (Polish), NeverWinterSwor (Simplified Chinese), @AkihaZhang (Simlified Chinese), Yagxter, @chatterine (Brazilian Portuguese), Leo Gonzalez (Spanish), @NovaKing007 (Spanish), Yuri (@ganqqwerty) (Russian), Kellen (kputuhuk) (Russian), Vladislav Kochetkov (vakochetkov) (Russian), @825i (Finnish), @Jaybird1291 (French), Tigerbabe aka Gyaru Jinsei Juku (Korean), yaacha (Indonesian), @NeriSal (Italian)

If you are a non-English native, and would like to help translate asbplayer, join the Crowdin project. If your language isn't there, feel free to create an issue to add it on the issues page.

Contributing

Before contributing, please read the contribution guidelines.

User guide

asbplayer's complete user guide is here.

Getting Started

[!NOTE]
asbplayer is both a subtitle control and flashcard creation tool. If you are not interested in flashcards, and only want to use asbplayer's subtitle features, just follow step 5.

  1. Install and set up a dictionary tool for your target language that allows you to do instant lookups. Popular ones are Yomitan (see supported languages) and VocabSieve (tuned for European languages. Works with Asian languages too but doesn't automatically detect word boundaries).

  2. Install Anki, and create a deck and note type. More details on Refold's guide.

  3. Install the AnkiConnect plugin for Anki.

  4. Configure asbplayer to create cards via AnkiConnect using your deck and note type.

  5. Enhance a video using asbplayer and subtitle files.

    • For streaming video: After installing the browser extension, drag-and-drop a subtitle file into the streaming video you want to mine.
    • For local files: Drag-and-drop media/subtitle files into the asbplayer website.

    You may have to adjust the subtitle offset to get the subtitles in sync.

  6. When a subtitle appears that you want to mine, use Ctrl + Shift + X to open the flashcard creator.

  7. Fill in the definition and word fields and then export the card. To fill in the definition field you may use the dictionary you installed in step 1.

Contact

Submit bugs or feature requests from the issues page. Join the Discord server to talk with me and other language learners.

Notes for AMO source code reviewers

Environment

node 22.17.1
yarn 3.2.0

Building

# Install dependencies
yarn

# Builds Firefox extension to extension/.output/asbplayer-<version>-firefox.zip
yarn workspace @project/extension run wxt zip -b firefox

# Builds Firefox for Android extension to extension/.output/asbplayer-<version>-firefox-android.zip
yarn workspace @project/extension run wxt zip -b firefox-android --mv2
相关仓库
mengxi-ream/read-frog

🐸 Read Frog - Open Source Immersive Translate | 🐸 陪读蛙 - 开源沉浸式翻译

TypeScriptnpmGNU General Public License v3.0browser-extensionchrome-extension
readfrog.app
8.6k589
microsoft/ailab

Experience, Learn and Code the latest breakthrough innovations with Microsoft AI

C#MIT Licensecomputer-visioncustom-vision
ailab.microsoft.com/experiments/
7.8k1.4k
cheatsnake/backend-cheats

📃 White paper for Backend developers

MIT Licensebackendcheat-sheets
5k508
umlx5h/LLPlayer

The media player for language learning, with dual subtitles, AI-generated subtitles, real-time translation, and more!

C#GNU General Public License v3.0asrwhisper
llplayer.com
3.9k229
lingdojo/kana-dojo

Aesthetic, minimalist platform for learning Japanese inspired by Duolingo and Monkeytype, built with Next.js and sponsored by Vercel. Beginner-friendly with plenty of good first issues - all contributions are welcome!

TypeScriptnpmGNU Affero General Public License v3.0japaneselearn-japanese
kanadojo.com
3k2.8k
wotakumoe/wotaku

An otaku index for everything! ⭐ Star the project if you like it!

TypeScriptnpmOtheranimemanga
wotaku.wiki
2.9k138
5mdld/anki-jlpt-decks

【egg rolls】JLPT N1~N5 一万词 Anki 牌组【简/繁】【语音&例句】;Anki,日语,日文,日本語,牌组,卡组,牌組,卡組,能力考,日檢

HTMLOtherankijapanese
ankiweb.net/shared/info/832276382
2.8k97
hahahumble/speechgpt

💬 SpeechGPT is a web application that enables you to converse with ChatGPT.

TypeScriptnpmMIT Licensechatbotchatgpt
speechgpt.app
2.7k379
kantord/LibreLingo

🐢 🌎 📚 a community-owned language-learning platform

PythonPyPIGNU Affero General Public License v3.0language-learningeducation
librelingo.app
2.6k257
echo-loop/Echo-Loop

Echo Loop 是一款科学、高效的 AI 英语听说训练 App,通过盲听、精听、跟读、复述和间隔复习,自动驱动学习者把每一段音频真正练懂、练熟、练到会说。

DartGNU Affero General Public License v3.0english-learninglanguage-learning
echo-loop.top
2.1k207
typedgrammar/typed-japanese

🌸 Learn Japanese grammar with TypeScript

TypeScriptnpmMIT Licensejapaneselanguage-learning
typedgrammar.com
1.9k23
mre/the-coding-interview

Programming exercises, code katas and puzzles for your job interview training - or just for fun.

PythonPyPIMIT Licenseinterview-practiceinterview-test-task
1.7k415