V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
async10
V2EX  ›  分享创造

Typing Learner 可以用 MKV 视频或字幕生成词库(单词本),让每个单词都有具体的语境。 然后通过语境记忆单词,句子,字幕。

  •  1
     
  •   async10 · 2022-07-23 17:55:58 +08:00 · 2970 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Typing Learner

    可以用 MKV 视频或字幕生成词库(单词本),让每个单词都有具体的语境。然后通过语境记忆单词,句子,字幕。

    主要功能:

    1. 可以用 MKV 视频生成词库(单词本),让每个单词都有具体的语境。https://github.com/tangshimin/typing-learner/wiki/从-MKV-视频生成词库

    2. 记忆单词,记忆单词的时候,会自动播放单词的读音,然后用键盘打字练习拼写,每个单词都可以输入多次,直到记住为止。从 MKV 生成的词库(单词本),可以播放单词对应的视频片段。每个单元有 20 个单词,记完一个单元还有听写测试,检查记忆效果。

    默认使用 Enter 键切换下一个单词,如果要使用自动切换,可以使用 Ctrl + A 开启自动切换。推荐第一次记忆不认识的单词时,使用非自动切换,第二天复习的时候再打开自动切换。


    3. 抄写字幕,可以抄写你感兴趣的电影、电视剧、纪录片、TED 演讲、歌词。可以抄写多种语言的字幕。
    4. 抄写字幕界面也可用来练习听力,可用重复的播放一句字幕,直到听懂为止。切换到下一条字幕用 `Enter` 或 `↓`键。


    5. 抄写文本,可以抄写 [古腾堡计划]( https://www.gutenberg.org/) 所有 txt 格式的电子书,非 [古腾堡计划] 的电子书,抄写前可能需要先格式化,把每行的字母数量限制在 75 个以内。

    6. 内置了常用词库(单词本):四级、六级、专四、专八、考研、TOEFL 、IELTS 、GRE 、GMAT 、SAT 、牛津核心词、北师大版高中英语、人教版英语、商务英语、外研版英语、新概念英语。这些词是没有链接字幕的,后续可用根据自己的兴趣,链接字幕词库。

    7. 如果不是 MKV 格式的视频可以使用字幕 + 视频生成词库(单词本)。 https://github.com/tangshimin/typing-learner/wiki/从字幕生成词库

    8. 可以用英文文档生成词库(单词本)。https://github.com/tangshimin/typing-learner/wiki/从文档生成词库

    9. 用 MKV 视频或字幕生成的词库,可以链接到用文档生成的词库或内置的词库。

    10. 过滤词库,过滤熟悉的单词。

    11. 歌词转字幕

    12. 合并词库,可以把一整季的电视剧生成的多个字幕词库合并成一个词库。



    应用平台:Windows / macOS
    开发语言:Kotlin
    UI 框架 Compose Desktop
    GitHub 地址: https://github.com/tangshimin/typing-learner
    下载地址: https://github.com/tangshimin/typing-learner/releases
    第 1 条附言  ·  2022-08-12 23:53:51 +08:00

    1.4 新增功能:

    1. ⌈听写复习⌋ ,可以选择多个章节的单词一起复习,先听写测试,然后再复习错误的单词。
    2. ⌈根据词频生成词库⌋,可以根据内置的本地词典,直接生成最常见的 2000词,3000词。
    3. 生成词库的时候,可以直接过滤最常见的 1000 词,这个值可以设置为 2000 或 3000。
    36 条回复    2022-08-23 10:53:42 +08:00
    that5
        1
    that5  
       2022-07-23 19:42:04 +08:00 via iPhone
    有意思
    mrfox
        2
    mrfox  
       2022-07-24 05:19:20 +08:00
    很感兴趣但不太会用

    从文档生成词库里有 选择词库,打开窗口格式是 词库

    可这个词库格式是什么

    比如我有一个已认识单词的列表的 txt ,能用吗
    async10
        3
    async10  
    OP
       2022-07-24 07:14:37 +08:00
    @mrfox 你先用这个已经认识的单词列表生成一个词库, [从文档生成词库] 的时候要过滤熟悉的单词就从 [最近生成的词库] 选择,从 [选择词库] 选择也行。
    xp12047
        4
    xp12047  
       2022-07-24 08:01:15 +08:00 via Android
    不错😄
    xp12047
        5
    xp12047  
       2022-07-24 08:04:09 +08:00 via Android
    我想知道你那个抄写用的啥技术,就是跟描摹似的,我很想知道。因为我之前练五笔双拼的时候也有用到过,就是不知道啥原理,这真的很棒如果抄的时候有错的很容易就能看出来。但不知道那是啥?
    pepsiwant
        6
    pepsiwant  
       2022-07-24 08:55:41 +08:00
    记忆单词的第一要义就是 英英,把中文释义关掉
    再就是间隔记忆算法 似乎都是 sm2 开源算法,我看墨墨搞得很好
    async10
        7
    async10  
    OP
       2022-07-24 09:19:58 +08:00
    @pepsiwant 可用把中文释义关掉不显示。
    async10
        8
    async10  
    OP
       2022-07-24 09:23:23 +08:00
    @xp12047 使用 Box 容器,里面放一个 TextField 和一个 Text, TextField 和 Text 共享一个状态。
    TextField 用于处理输入,字符颜色设置为透明,Text 用于显示。
    xp12047
        9
    xp12047  
       2022-07-24 10:10:32 +08:00
    @async10 谢谢😊
    mrfox
        10
    mrfox  
       2022-07-25 04:16:48 +08:00
    测试了下从文档生成词库,选中一个 txt ,点开始,出现了一堆单词,好像说点 x 是去掉熟词对吧,于是乎,点掉了,但是它们去哪了,点一下词形还原又出现了全部的词,岂不是白点了几十下? x 掉的不是应该也能保存(或追加)到一个词库以备下次过滤吗?还是每次都要重来?
    疑惑中
    async10
        11
    async10  
    OP
       2022-07-25 09:10:46 +08:00
    @mrfox 手动点 x 删除熟词,然后又出现是 bug, 最好是最后才点 x 删除熟词。
    async10
        12
    async10  
    OP
       2022-07-25 09:15:47 +08:00
    @async10 ”x 掉的不是应该也能保存(或追加)到一个词库以备下次过滤吗?还是每次都要重来“,你先把熟悉的单词写到一个 txt 一行一个单词。然后生成词库,不做任何过滤,直接点击保存,下一次生成词库的时候可用点击 [最近词库] 或者 [选择词库] 进行过滤。

    暂时还不能点击 x 追加到一个词库。后续可能会添加。
    mrfox
        13
    mrfox  
       2022-07-25 15:52:07 +08:00
    @async10 感谢回复,期待下一次更新;嗯,实验时已经用熟悉的词生成了一词库进行过滤,点的那几十下是想把 x 掉的词留下来,方便下次过滤(有些停止词什么的没放到熟词里,x 掉时也很快也记不住有哪些词),因为目的是找出生词学习,所以要是逐篇重复标记的话有些费时间,建议 x 掉的词能单独保存或追加
    总之,很赞的功能,非常棒!
    mrfox
        14
    mrfox  
       2022-07-26 02:34:48 +08:00
    下载了个字幕尝试,格式如下:
    62
    00:05:01,445 --> 00:05:03,851
    No, no, no, no.
    It's not like that.
    从字幕生成词库一直在转圈,试了两台( windows )均如些
    async10
        15
    async10  
    OP
       2022-07-26 06:39:55 +08:00
    @mrfox 这是一个 bug, 是 1.3.0 引入的。
    async10
        16
    async10  
    OP
       2022-07-26 07:36:25 +08:00
    feimo1996
        17
    feimo1996  
       2022-07-26 09:40:35 +08:00
    什么时候搞一个手机版的,在地铁上也能用了哈哈
    mrfox
        18
    mrfox  
       2022-07-26 18:50:44 +08:00
    @async10 lz 神速!
    sillydaddy
        19
    sillydaddy  
       2022-07-27 17:10:00 +08:00
    看介绍很不错,👍+🙏
    mrfox
        20
    mrfox  
       2022-07-29 02:53:32 +08:00
    可否增加将词库转换为单词文本的功能,目前已经生成了一个熟词库,用它来过滤新字幕
    出来的单词还有不少熟词,所以希望(在增加保存本次 x 掉的单词追加到熟词库的功能前)
    加一个保存当前过滤结果至 txt 单词列表的功能,比如在现在的从字幕生成词库窗口的保存
    按钮左侧加一个保存为 txt 的按钮?
    async10
        21
    async10  
    OP
       2022-07-29 10:35:25 +08:00
    @mrfox 不用加保存当前的过滤结果为 txt 了,从生成的词库过滤是可以 [多选] 的,你下一次过滤的时候可以选择一个熟词词库再加这一次过滤后的结果词库。

    也可以把这次生成的词库和已有的熟词用 [合并词库] 合并成一个词库。
    mrfox
        22
    mrfox  
       2022-07-29 14:36:43 +08:00
    @async10 不是这样的,词库合并已经在用
    初期因为这个熟词库得循序渐进地搞,想用软件中的光标浮上去显示词义确认(这个很好用,赞)
    比如现在弄了个 2k 的基础,之后从某个字幕生成,可能一次出来几百个单词,这几百个单词
    里有少部分是不认识的,需要挑出来;理想方式是
    在过滤结果的窗口:( BTW 这个窗口无法最大化,显示内容也不能用翻页键或上下键只能鼠标滚动不方便定位
    最好是能一页显示多少,比如 4x5 共 20 个,当前处理的有 x 掉的单词也不刷新即不补新单词进来,之后用翻页键
    翻到下一个 20 个继续处理直到完成)
    看一遍单词,不确认的就浮动上去,确为生词就 x 掉(追加生),剩下的就可以追加到熟词库了
    就是你说的合并词库的功能,之后再对相同字幕用追加完成的生成一次,出来的就是纯生词了
    后续等个人熟词库基本完成后,再过滤生成时就是 x 掉熟词(追加熟)
    说得有点啰嗦,其实就是想把一次筛选的结果生熟两部分都能保存下来
    如果有一个选项,指定本次筛选将 x 掉的单词追加到哪个词库最佳
    如果不能的话,优化一下筛选界面会更好用
    总结:
    1. 过滤词库那里加一个当前处理去掉的单词追加到“选择词库”的功能
    2. 优化过滤单词翻页刷新方便定位和键盘处理
    async10
        23
    async10  
    OP
       2022-07-29 15:02:58 +08:00   ❤️ 1
    @mrfox [筛选单词区] 和 [选择章节窗口] 本来是有一个垂直滚动条的,为了加 [批量生成词库] 功能,升级到了一个不稳定的 Compose 版本, 这个版本的 LazyVerticalGrid 组件没有实现垂直滚动条。所以后续版本会在这两个地方增加垂直滚动条。

    [生成词库窗口] 可以手动调整窗口的大小。

    [ 过滤词库那里加一个当前处理去掉的单词追加到“选择词库”的功能] 这个功能可以考虑。
    mrfox
        24
    mrfox  
       2022-08-06 03:34:14 +08:00
    尝试处理这个字幕,没有提取到词汇
    https://subhd.tv/a/538897
    其中的英文 srt
    async10
        25
    async10  
    OP
       2022-08-06 14:44:37 +08:00
    @mrfox 这个字幕文件的编码是 UTF-16 LE ,如果是 windows 操作系统,只需要用记事本打开文件,再选择 另存为,在文件选择对话框的下面,把编码改成 UTF-8 即可。

    后续会增加自动检测文件编码,增加自动检测后就不用手动调整字幕的编码了。
    mrfox
        26
    mrfox  
       2022-08-06 15:26:33 +08:00
    @async10 明白了
    mrfox
        27
    mrfox  
       2022-08-07 03:49:38 +08:00
    今天有个新想法,关于生成词库界面:
    是否可以考虑过滤区筛选单词处二分窗格,左侧为待筛选的单词,五个一行(这样比较好定位和计算数量)
    右边初始时是空的,在左边 X 掉的单词放到右边窗格,这样的话不管怎么分(大部分认识挑生词或是反过来)
    都可以将词汇分成两部分,这两个窗格各有一个保存按钮即可,保存完了自己再去合并
    而且即使有的单词挑错了,等到光标浮上去的时候确认是挑的问题的话,还可以在右边窗格点 X 恢复回左边
    供参考
    mrfox
        28
    mrfox  
       2022-08-12 17:55:49 +08:00
    恭喜 1.4 版发布
    mrfox
        29
    mrfox  
       2022-08-20 04:13:31 +08:00
    1.4.1
    也可以在记忆单词的时候删除熟悉的词,把鼠标移动到正在记忆的单词,会弹出一个菜单,可以从这里删除单词。可以直接使用快捷键 Delete 删除单词。----这里和过滤单词时删除后结果不一致,过滤时删除会进入熟词库,记忆时不行,希望记忆时删除也进入熟词库
    async10
        30
    async10  
    OP
       2022-08-21 10:15:14 +08:00
    在记忆单词界面,可以点击最中间的五角星按钮,把熟悉的单词加入到熟悉词库。如果单词是一个⌈专业术语⌋、⌈生僻词⌋ 就用删除按钮。
    async10
        31
    async10  
    OP
       2022-08-21 10:15:52 +08:00
    @mrfox 在记忆单词界面,可以点击最中间的五角星按钮,把熟悉的单词加入到熟悉词库。如果单词是一个⌈专业术语⌋、⌈生僻词⌋ 就用删除按钮。
    mrfox
        32
    mrfox  
       2022-08-22 03:45:56 +08:00
    @async10 谢谢
    记忆单词时按回车切换时感觉会卡一下,不知这个时间能不能调整
    或者电脑带不动?
    async10
        33
    async10  
    OP
       2022-08-22 09:00:54 +08:00
    从启动程序开始,就卡吗?还是启动 1 个小时以后?在我的电脑上,启动 1 个小时后输入单词的反应就变慢了,暂时没有找到原因,
    async10
        34
    async10  
    OP
       2022-08-22 09:02:38 +08:00
    @mrfox 在记忆单词界面,如果是启动了一段时间后才开始卡的,暂时只能重启了。
    mrfox
        35
    mrfox  
       2022-08-22 18:08:21 +08:00
    应该是运行一段时间后,我再观察下

    感觉似乎如果不联网时会快些,不知是心理作用还是确实调用音频时有的词会卡一下,要是能和离线发音的 mdd 词典联动也许能改善
    猜想程序是按完回车后,取下一个词时是要先联网获取读音?或可改成单词直出,音频调用成功时播放,这样文字先显示对改善卡的直感或有帮助
    async10
        36
    async10  
    OP
       2022-08-23 10:53:42 +08:00
    @mrfox 单词发音会缓存到本地,如果本地没有再从服务器获取。
    可以打开 ⌈帮助⌋ -> ⌈帮助文档⌋ -> 选择左侧最下面的 ⌈特殊文件夹⌋ -> ⌈单词发音文件夹⌋ 查看缓存的单词发音
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.