Anki 2教程:从单词表制作有声记忆库

【本原创文章首发于本博客及公众号,原创授权归个人公众号“西市馒头铺子”所有,转载请联系微信qinsmandesign】

说来有趣,博客的文章里阅读量最高的一篇不是关于设计的文章,而是12年还在台湾时写的一篇关于Anki的教程。
五年过去,Anki变成了Anki 2(以下还是简称Anki),Anki已经从一个当时很小众的记忆软件,变成了许多GRE党、托雅党、N1党、考研党、司考党都熟识且口口相传的一个记忆利器,当时在备考N2时边摸索边写的教程也不知不觉在这过程中成了初代Anki推广的一小股力量。
时至今日,还是能收到很多关于那篇文章的留言,由于Anki的插件系统,以及插件本身的更新导致旧教程中有些步骤已经不适用于最新的版本,所以在参照过程中会有一些对不上的地方。这也成了促使我基于五年前的教程更新这篇文章的契机。
如果因为Anki关注这个公众号的朋友还没有取关的话,希望这篇基于新版Anki 2的教程能帮到你们,更希望借此机会,能将这款近乎完美的记忆神器推广给更多需要的朋友。

一、Anki是什么

1. Anki = 暗記

Anki是日语“暗記”的罗马音,开发之初主要是用于日语学习,但随着越来越多用户发现这个软件,它极高的自由度和丰富的插件资源,大家迅速找到了日语、英语单词记忆之外更多的应用场景,可以用一句话形容——Anki可以用于记任何想记的东西。无论是语言学习、医学法律等知识点的记忆,甚至(如官网所说)可以用来重复练习吉他和弦。
五年前在台湾,被写代码跑数据愁paper挤压得所剩无几的业余时间里,抱着一个安卓系统的杂牌小Pad抓住各种零碎时间,最终半年多零基础通关N2,说实话Anki功不可没。当时不单用来背单词,还把一些翻译填空题、听力题自己截出图片和音频都做成了记忆库。
哦,悲伤的是,工作后太久不用已经差不多还给Anki了。
只要是由“题面”和“答案”构成的学习、复习体系,都可以用Anki进行卡片式学习,Anki可以根据记忆曲线安排学习和复习进度,并按用户自己选择的记忆程度,计算下一次复习巩固的时间间隔。

2. 自由度与有声插件

相比许多售价不菲的大型背单词软件,或是放在图书馆的桌面上很有成就感但实际背起来效率并不那么高的纸质红宝书,Anki的最大优势在于词库制作和复习计划的灵活度。
例如准备某个考试时,考试大纲的词库里有8000个单词,而其中大部分我们都是早已熟识的基础词汇,再去背一遍无异于浪费时间。虽然一些背单词软件和书籍也提供了所谓的“精选词库”,但再“精选”也不会比一个经过自己筛选的词库更适合自己。举个例子,可以先在一个Excel(或者Mac的Numbers)里把8000个词筛一遍,删掉4500个已经掌握的单词,留下3500个陌生或仅有印象但仍需记忆的单词,当我们希望用这3500个去制作一个词库时,Anki就是最好的选择。
此外,对语言学习来说,有读音的记忆过程是哑巴记忆无法比拟的,而Anki可以通过它优秀的TTS(Text To Speech的缩写,即“从文本到语音”)插件,方便地根据纯文本的单词卡片制作相应的音频文件,并自动将文件嵌入卡片里用于学习。

3. Anki是否收费?

iOS版以外的Anki是完全免费的,iOS版确实小贵(¥163),初期体验大可用其他端去尝试,如果觉得适合自己长期使用,我觉得还是值得的。
所以我很惊讶于听到有人为了做自己想要的Anki词库去付费。如果说针对特定考试,在使用Anki进行复习的策略和进度排期上有一些进阶的经验,那付费无可厚非,这些来自实际备考者的经验是确实有额外价值的。但我很难以理解在最基础的词库制作上还会有人去付费。一个以分享精神为导向,一切功能都是可快速学会、有很高DIY自由度的软件,还有这样的现象。如果有,大概也只能归因于一些基本教程和技巧交流的缺失吧。

4. Anki是否收费?

iOS版以外的Anki是完全免费的。所以我很惊讶于听到有人为了做自己想要的Anki词库去付费。如果说针对特定考试,在使用Anki进行复习的策略和进度排期上有一些进阶的经验,那付费无可厚非,这些来自实际备考者的经验是确实有额外价值的。但我很难以理解在最基础的词库制作上还会有人去付费。一个以分享精神为导向,一切功能都是可快速学会、有很高DIY自由度的软件,还有这样的现象。如果有,大概也只能归因于一些基本教程和技巧交流的缺失吧。

5. 官网与用户手册

Anki官网:https://apps.ankiweb.net/
(注意不是百度搜索Anki的第一个“Anki中国”,那个只是一个国内爱好者自建的交流站,并非官网)
Anki手册:https://apps.ankiweb.net/docs/manual.html

6. 记忆过程

可以看到,记忆中会首先看到一个日语单词的汉字形态,这时尝试去说出这个单词的词性、含义以及读音,并根据自己的判断选择是“生疏/错误”、“犹豫/想起”还是“顺利/正确”,软件会自动安排下一次的巩固时间——默认对应三个选项分别是1分钟、10分钟和4天,这个梯度在选项中可以自行设置,在本文中就不展开讲了。


Mac/Windows版在背诵过程中有快捷键,比鼠标方便得多,三个选项分别是1、2、3,“显示答案”是空格。

这里顺便提一句,Anki是Win/Mac/iOS/Android四个常用端通用的,Windows版的Anki和Mac版的几乎没有区别,Android端则和iOS端有少许区别,但也大同小异(Android的细节体验比iOS好很多)。数据(包括词库附属的音频、图片文件)可以通过简单地在AnkiWeb注册一个账号实现实时一键同步,这一点就不展开讲了。

二、从单词表到有声记忆库

下面就是手把手教你从单词表制作有声记忆库的全过程,基于Mac版进行展示,其实Windows系统下除了粘进记事本那步之外,几乎和Mac下毫无区别,同样可以参考。
鉴于12年那篇文章里有些步骤写的可能有点跳导致有读者卡住,这次的教程写得会尽可能的细致,几乎每个小步骤都有配图。所以虽然看起来很长,但相信我,只要熟悉了这一套操作,全程最多只要3分钟就可以搞定。
教程一共分为准备输入文件、设置卡片格式、自动导入、有声化这4个部分,前3部分其实都是关于如何将一个表格自动导入成为一个记忆库的,如果有读者觉得自己亲手一个一个敲卡片更适合自己的习惯,觉得亲手录入也是一个记忆的过程,那这部分大可以跳过。作为一个基础教程,自动导入这部分还是很有必要讲一下的,对我个人而言,使用自动导入的场景会更常见一些。

1. 准备输入文件

1.1 打开Numbers(Mac)或Excel(Windows)的单词表文件,复制所有非标题行

这里举一个最简单的例子,随便从N2单词表里截了100个单词作为示例。
首先我们要记清每列对应的是什么内容——汉字、假名、词性和译文,这在设置卡片格式和导入匹配字段时非常重要。
记得不要选中标题行,不然后面一不留神就把标题行也做成一个卡片了。

1.2 打开TextEdit(Mac)或记事本(Windows)

Windows打开记事本就可以了,Mac打开TextEdit后记得需要切换到纯文本模式,可以直接按Command+Shift+T,也可以在工具栏选择:

默认处于富文本模式的TextEdit

切换到纯文本模式

切换到纯文本模式的TextEdit(注意没有标尺了)

1.3 粘贴单词表,然后保存

无论是TextEdit还是记事本,在从Numbers/Excel粘贴表格时,都会自动把单元格之间用“ ”(一个制表符)分隔,Anki的导入功能正是和这个关键的制表符对接。

保存这个记事本,这里命名为test-jp.txt。TextEdit的默认编码方式就是UTF8,而记事本则要千万注意将“保存”按钮左边的编码选为UTF8(正常的话,默认应该是ANSI码)。

至此,我们的导入文件就制作完毕了。

1.4 打开Anki,创建一个新的记忆库

导入文件同样可以用于在已有单词库里追加单词卡片,当然这里为了演示清晰,我们点击窗口底部的“创建记忆库”新建一个记忆库,用来接下来导入100张单词卡片,这里我们命名为“示例-日语”。


2.设置卡片格式

导入文件有了,记忆库也有了,但第一件事不是着急导入。
因为默认的卡片格式只有一个题面字段和一个答案字段,不符合我们的需求。所以首先要设置符合我们需要的卡片格式。

2.1 添加一个新的卡片格式

打开[工具]-[管理笔记类型]:

默认状态下,只有下面这些基本类型:

点击[添加],新增一个名为“日语”的类型。


2.2 设置卡片字段

点击[区域…]按钮,打开[日语 的区域]设置面板,默认只有”正面”和”背面”两栏。我们逐一进行修改和新增,最终一共设置5个字段,其中前4个对应单词表里的“汉字、假名、词性、译文”,此外还要预留一个字段用于存放接下来生成的音频链接。添加完之后,点选关闭。

2.3 设置卡片格式

回到[笔记类型]对话框,还是选中刚刚新增的“日语”,选右边的[卡片]。
这个窗口可能对新手来说稍微有点复杂,但实际上要做一个标准的卡片库很简单,只需要定义清楚正面、背面模板的字段就可以。“正面”和“背面”乍一听可能比较抽象,其实很简单,一张卡片,看正面、答背面,那正面自然就代表题面部分,而背面则代表答案部分。
当然如果要美化自己的卡片,比如改变字体样式之类的,就要用到这个窗口的其他功能,比如说“样式”栏和“添加字段”功能,这里就不展开讲了。
直接在[正面模板]、[背面模板]进行输入,将正面模板修改为“”,背面模板修改为“[]”。
只要清楚字段是通过“”的语法定义的,就可以很自由地设置自己希望的呈现格式。注意“词性”字段左右的中括号并不是语法,只是为了加中括号而已。

以第一个单词卡片为例:

  • 汉字:相変わらず
  • 假名:あいかわらず
  • 词性:副
  • 译文:照旧、仍旧
    那么按照我们定义的语法,正面的格式是:相変わらず
    背面则是:[副]あいかわらず
    “语音”字段在实际卡片中会呈现为一个播放icon。这里插一句,“语音”字段放在问题还是答案随大家喜好,一般来说,背英语的话放在问题里比较合适,而日语由于涉及汉字读音的记忆和考察,放在答案更合适。
    这里可能有朋友会问,怎么没用到假名字段?因为假名字段只是用来生成语音的,并不需要在记忆过程中展示出来。当然如果你认为需要,放在背面也可以,按规定语法写在背面区域就行了。
    修改完毕后,关闭[卡片]窗口和[笔记类型]窗口,回到主界面。

3. 自动导入

3.1 确认字段对应关系

现在可以导入我们在第一部分准备的txt文件了,点选主界面底部的“导入文件”按钮,选中“text-jp.txt”,载入完毕后会自动打开[导入]界面。
Anki已经判断出我们的每行数据都由4列组成,这一步要留意确认的就是第1~第4字段与我们在2.2中设置的卡片字段之间的对应关系,如果对应关系有误,就点击“更改”按钮选中正确的项。
在这个例子里面,第1字段应该是“汉字”,第2字段应该是“假名”,第3字段是“词性”,第4字段是“译文”,确认无误后,点击“导入”。

3.2 导入成功

导入顺利的话,会显示下面的提示,告诉我们100个单词卡片已经顺利导入。

3.3 浏览并检查词库

点击主界面顶部的[浏览],进入[浏览器]界面,在左侧目录树中选择“示例-日语”这个记忆库,就可以看到我们创建的100个卡片列表,在这里可以快速检查导入是否有误。

至此为止,如果不需要读音功能,那么一个基本功能齐备的词库就已经完整地创建好了。如果希望制作有声版记忆库的朋友可以继续往下看。

4. 记忆库的有声化

4.1 下载插件Awesome TTS

这一步从五年前到今天发生了蛮多的变化,很大程度上也是促使我更新这篇文章的最大原因,许多读者在留言中反映的问题也集中在这一步,按照2012年的教程已经不适用了。主要原因一方面是Anki 2的插件安装方式和1代不太一样,另一方面是五年前的文章里我介绍的TTS是Google TTS,而当前Google TTS并不是那么好用,而且已经有更新、功能更强大的替代品——就是这篇里要介绍的Awesome TTS。
Anki 2的插件是通过插件码的形式安装的,所以首先要找到我们所需的插件对应的插件码。点击[工具]-[插件]-[浏览&安装](注:因为截图的时候我已经安装了Awesome TTS,所以其实这张截图里已经可以看到它的存在,不过不影响对下载过程的讲解)。

弹出了一个[安装插件]对话框,我们点击左边的[浏览]按钮。

这时会打开一个叫Add-ons for Anki 2.0的网页。

按Ctrl+F搜索“awesome”,快速定位到Awesome TTS,就是下图里使用量鹤立鸡群的那个,很好找。

点击进入详情页,蓝色框内就是我们要找的插件码:301952613。

其实如果是下载Awesome TTS的话,直接在上一步的输入框里输入这个码就可以了。这里只是讲了插件码的具体的寻找过程,方便大家寻找其他插件,或者有朝一日Awesome TTS也出问题的时候,后来的读者可以自己去搜索新的TTS,不必再为此更新一篇文章(笑)。

4.2 制作单词音频

首先,选中要制作音频的卡片。打开[浏览器]界面中“示例-日语”记忆库的单词列表,全部选中。注意,如果记忆库里已有卡片已经生成过语音,只是要给新加入的卡片制作语音的话,只选中新卡片就可以。
如果上一步中顺利安装了Awesome TTS的话,工具栏上会有“Awesome TTS”的选项,点击“Add Audio to Selected…”。

在Awesome TTS窗口中,在左侧的Generate Using下拉列表中选择语音引擎,部分引擎可以进一步在下方选择音源和语速。
个人推荐的话,英语会推荐有道,日语推荐OS X Speech Synthesis或者NeoSpeech——二者里面,发音质量无疑NeoSpeech是更好的选择,NeoSpeech的Misaki全程伴随了我考N2时背单词的日子。但很奇怪的是Awesome TTS里用NeoSpeech制作的音频疑似有背景音乐,所以我转投OS X Speech Synthesis了,有点生硬,但也算听得过去,不嫌弃这点的话用NeoSpeech也不错。
但总之,日语的TTS发音只能说在背单词时作为加深记忆的参考,千万不要因此影响对真实发音的印象。英语TTS发音倒是问题不大,有道的发音已经相当棒了。

当然,这个选择全凭个人喜好,可以在右侧的Preview输入框里输几个单词预览一下发音。如果发现了更好的引擎,选自己更喜欢就好。
而Source Field(从哪个字段朗读)和Destination Field(把生成的音频路径写进哪个字段)就不能凭个人喜好选择了,对这个例子而言,Source Field和Destination Field无疑分别是“假名”和“语音”。

一切选择妥当后,点击[Generate],开始生成音频。单词量大的时候需要耐心等待一下,不过这个例子里只有100个单词,所以很快就生成好了。

生成完毕后,可以看到“语音”栏已经自动填入了生成的音频路径,格式一般是[sound:XXX.mp3]。
至此,记忆库的有声化制作完毕,可以点击右上角的“预览”按钮预览卡片,看看格式和发音是否正常。

三、学习设置

设置学习选项有两个地方,其一是针对记忆库的,在记忆库旁边的齿轮按钮→[选项],或是在记忆库首页点底部的[选项]按钮;其二是对全局都起作用的[偏好设置],Mac版在[Anki]选项下面。这两个地方可以按你自己的习惯DIY你的所有记忆参数。

1. 记忆库选项

设置参数细讲起来太长,这里作为一个基础教程,只讲几个一般需要注意的地方。更多细节可以去官网查看手册。

[新卡片]-[新卡片/天]:每天要记忆的新卡片数目,看自己的进度安排和承受能力而定。
[新卡片]-[顺序]:我习惯改成随机顺序,不容易受到单词表顺序所干扰。
[新卡片]-[毕业间隔]与[简单间隔]:与长期记忆相关,建议设的紧凑点没坏处。
[新卡片]-[步伐]:与瞬时记忆相关。个人习惯改到6~8分钟,比如6分钟就可以输入“1 6”。其实主要还是符合自己习惯就好,太短了的话,单词还处在脑子的“闪存”期间就再次出现的话,你会产生“已经记住”的错觉;太长了的话,忘掉的可能性就比较大,比如默认的10分钟对我感觉略长了,6~8分钟刚好能在你半忘将忘的时候蹦出来,对我个人而言,这时候是回滚的黄金时刻。
[失误次数]-[步伐]:同上,只是输入格式不一样,这里如果想设置成6分钟的话,直接输入一个数字“6”就可以。
[失误次数]-[记忆难点动作]:这里建议改成“仅标记”而不是“暂停卡片”。我其实不太清楚Anki默认将设置成“记忆难点”的卡片暂停掉(就是除非手动取消这个标记,否则不再记忆)的原因,本意是想把太难记的词屏蔽掉避免浪费时间,但个人感觉并不合理。

2. 偏好设置

[基础]-[混合新卡片和复习]:新旧记忆交错效果更好,建议选这一条,而不是先新后旧、先旧后新。
[基础]-[下一天开始]:这是Anki在体验角度做得非常贴心的一点,因为有些间隔不是按小时计算,而是按天分割任务,所以有这个设置后,可以防止夜猫子们12点时背着背着发现进入了第二天的任务。一般设成4点就行了。

其他的自己摸索就好,总之所有DIY的参数都在这两个地方,每个人熟悉或者慢慢调整一下,都能很快找到适合自己的节奏。

四、TIPS

1. 学习进度进度重设

虽然说,Anki有比较科学的记忆曲线,多数情况下相信它的安排是没错的。但有时候,下次复习间隔变得过长(比如20多天)的时候心里会不踏实——怀疑自己是不是选项的时候太轻敌了,20天后会不会忘掉了?
这时候相比很多死板的商业软件,Anki提供了自由度很高的进度重设功能。打开浏览器窗口,选中想调整的单词卡片后,选择工具栏[编辑]-[重设学习进度]。

可以直接将这些卡片设成新卡片,也可以按比例去调整复习进度,比如,想将复习间隔全部缩短一半(最长的20天的,变成10天),那么就把“最多”设为10就可以。这样,复习间隔就统一按比例减半了。

2. 单词表哪里来

没有Excel或者Numbers的话,纯文本总是能找到的吧,纯文本单词表配合批量翻译网站,再用替换功能在双语之间添加一个制表符,最后粘进Excel或者Numbers,总会有办法做成双语单词表的,接下来就和教程里的步骤一致了。

3. 试试逆序单词表吧

对厌倦了“最熟悉的永远是abandon”的朋友尤为适用。举个例子,Excel中,原单词表位于A列,例如在A1-A6分别是:
affection
affiliate
affirm
affix
afflict
afford

我们在A1对应的空列,比如B1,输入以下公式:

1
=IF((LEN(A1)-0)<=0,"",MID(A1,LEN(A1)-0,1))&IF((LEN(A1)-1)<=0,"",MID(A1,LEN(A1)-1,1))&IF((LEN(A1)-2)<=0,"",MID(A1,LEN(A1)-2,1))&IF((LEN(A1)-3)<=0,"",MID(A1,LEN(A1)-3,1))&IF((LEN(A1)-4)<=0,"",MID(A1,LEN(A1)-4,1))&IF((LEN(A1)-5)<=0,"",MID(A1,LEN(A1)-5,1))&IF((LEN(A1)-6)<=0,"",MID(A1,LEN(A1)-6,1))&IF((LEN(A1)-7)<=0,"",MID(A1,LEN(A1)-7,1))&IF((LEN(A1)-8)<=0,"",MID(A1,LEN(A1)-8,1))&IF((LEN(A1)-9)<=0,"",MID(A1,LEN(A1)-9,1))&IF((LEN(A1)-10)<=0,"",MID(A1,LEN(A1)-10,1))&IF((LEN(A1)-11)<=0,"",MID(A1,LEN(A1)-11,1))&IF((LEN(A1)-12)<=0,"",MID(A1,LEN(A1)-12,1))&IF((LEN(A1)-13)<=0,"",MID(A1,LEN(A1)-13,1))

这一公式支持最多13个字母数的单词,如果单词字母数多于13个,在公式后“保持队形”,加上

1
&IF((LEN(A1)-14)<=0,””,MID(A1,LEN(A1)-14,1))……”

就可以了,现在B列的排序是:
droffa
etailiffa
mriffa
noitceffa
tcilffa
xiffa

最后,A、B两列一起按B列排序,就制成了逆序表:
afford
affiliate
affirm
affection
afflict
affix

或许单看这个例子,逆序表看起来意义不大,但当对整个单词表做逆序时,就会发现例如-ful、-tion结尾的单词会聚在一起的有趣排列,日语同理,以する结尾的动词会聚集在一起,个人亲测这样类似词性的放在一起的记忆效率会高很多。

五、结语

其实同类软件也有不少,比如名气更大的mnemosyne、supermemo,有兴趣的话也可以多多尝试。但总得来说用起来还是Anki在体验、自由度和实际效果上表现更好,在这五年间国内也已经有了规模不小的用户群体,从心得技巧、插件、词库的交流环境来讲比其他同类产品还是要好一些的。
讲了这么多,未必全面,但相信最常用的功能点和注意事项都已经涵盖到了。虽然是用一个日语单词表举的例子,但触类旁通,许多语言学习、需要大量实打实记忆的考试都可以用Anki给你带来完全不一样的记忆体验。希望这篇文章对你有用:)

Qinsman wechat
关注我的公众号,一个卖馒头,也卖故事的地方:)