Anki自动生成语音

本文最后更新于 2024年9月1日 上午

前言

已经实现了通过[[使用Obsidian实现Anki快速制卡]]。

对于语言学习,仅仅只有不同语言文字的对照是不够的,我们还需要声音。

所以就需要加入音频。

幸好 Anki 插件十分丰富。

安装插件

这里我们使用 AwesomeTTS 插件进行音频生成。

此为插件链接 AwesomeTTS - Add speech to your flashcards - AnkiWeb

先安装插件,如有不会请先看 [[Anki如何安装插件]]。

安装后点击 Anki 中的浏览

Snipaste_2024-08-23_21-31-50.png

可以看到多了一个 AwesomeTTS 选项。

Snipaste_2024-08-23_21-32-35.png

这就说明安装成功了。

制作音频

这个插件制作音频是开箱即用的,非常简单。

先选中一些卡片,然后点击 AwesomeTTS 中的 Add Audio to Selected

Snipaste_2024-08-23_21-34-07.png

进入下面的界面。

Generate Using 是选择你要用的语音模型,我这里用 Azure,这个是需要 API 的。还可以用 Google Translate,这个不需要 API,免费的,不过如果一次生成太多的卡片,会有个 sleep,需要等挺长时间的。

Voice 是声音,选择你需要的语言,语言一定要选对,不然会很奇怪。不同人物音色是不同的。

下面的 sava 可以保存声音的设置,下次生成就不用调整了。

最后单击 Generate,生成声音。可能会出现 sleep,让你等待,那就耐心等待,这个是因为一次请求太多了,一次生成十个卡片以上就会出现,换个付费的语音模型可以避免。

Snipaste_2024-08-23_21-37-41.png

如果卡片后面出现 sound: xxx.mp3,这就说明语音生成成功了。

Snipaste_2024-08-23_21-45-03.png

预览卡片,我们也能看到播放图标了。

Snipaste_2024-08-23_21-38-04.png

一些注意事项

有些事情是需要注意的。

语音消失现象

有时候会出现单词后面的 xxx.mp3 这个音频不见的情况,一般是相同标签下再次点击制卡的时候,不用担心,因为媒体文件是一直有的,当你制作完成后就本地存储了,再次添加音频首先用的是本地的。

我们可以添加一个音频字段,专门放置音频。

不同端出现媒体文件丢失

使用 AnkiWeb 进行不同端的同步时,可能会出现媒体文件丢失。

这是因为 Anki 默认只同步牌组,至于说卡牌含有的媒体文件,是不管的。

我们需要点击工具里面的设置。

选择同步,勾上同时同步音频和图片

Snipaste_2024-08-23_21-51-53.png

Obsidian 中带有卡片的标签与 Anki 制出的卡片数量不匹配

大概率是因为两个相邻的卡片没有换行。

使用 vscode 进行修改。

制卡的时候无法加入 ID

这个大概率是有重复的了,这个插件还挺智能的,重复的卡不加 ID,也就是说不会制出相同的 Anki 卡片。

参考文章

如何使用AwesomeTTS进行音频生成

Anki的卡片配置推荐

AwesomeTTS: Batch Generation (vocab.ai)

PKMer_Obsidian 插件:用 Obsidian 进行 Anki 制卡


Anki自动生成语音
https://saintfore.github.io/2024/08/23/Anki自动生成语音/
作者
Soleil
发布于
2024年8月23日
更新于
2024年9月1日
许可协议