分享一个github项目,让anki的awesometts插件支持forvo音源

anki是背单词的利器,有丰富的插件,其中awesometts是最常用的插件之一,支持大量的音源网站和语言。

??可惜的是,awesometts本身不支持forvo的音源,主要原因是forvo的api要收费。于是我抱着试试看的态度,谷歌了一把,终于在github上找到这个项目,可以给awesometts添加forvo音源,api的费用估计作者自己掏了。

??

??安装方法很简单,以2.0.52版本为例,将下图的文件和文件夹全部复制到anki的安装目录\addons\awesometts文件夹内,重启anki后就能看到awesometts中有forvo音源了。由于forvo的服务器在国外,可能有时候会下载音频失败,多试几次或者爬墙。


??

??不过最近发现个小麻烦,这样下载的音频都是在forvo上默认排名第一(根据母语会员的投票)。比如搜索日语“地方”这个单词,默认下载第1个发音,如果我觉得第2个发音比较清晰,似乎只能手工下载。

??于是我想了个很简单的办法,只需稍微修改一下就能实现。大致思路就是照着这个forvo插件再做一个,只是变成默认下载第2个音频,然后在awesometts中选择就行了。如下图:

??修改方法:

??第一步,在awesometts的文件夹内修改__init__.py文件。

router = Router(
    services=Bundle(
        mappings=[
            (‘abair‘, service.Abair),
            (‘baidu‘, service.Baidu),
            (‘collins‘, service.Collins),
            ......(中间省略)
            (‘yandex‘, service.Yandex),
            (‘youdao‘, service.Youdao),
            (‘forvo‘, service.Forvo),
            # 添加下面一行
            (‘forvo2‘, service.Forvo2),
        ],

??第二步,在awesometts\service文件夹内也有个__init__.py文件,也要修改。

#  添加导入模块
from .forvo2 import Forvo2
__all__ = [
    ‘Trait‘,
    ‘Abair‘,
    ‘Baidu‘,
    ‘Collins‘,
    # 中间省略
    ‘Yandex‘,
    ‘Youdao‘,
    ‘Forvo‘,
    # 添加下面一行
    ‘Forvo2‘,
]

??第三步,在awesometts\service文件夹内,复制forvo.py文件,命名forvo2.py,并修改4个地方。

# 第一个
# __all__ = [‘Forvo‘]
__all__ = [‘Forvo2‘]
......
# 第二个
# class Forvo(Service):
class Forvo2(Service):
......
# 第三个
# NAME = "Forvo"
NAME = "Forvo2"
......
# 第四个
# audio_url = data[‘data‘][‘items‘][0][‘realmp3‘]
audio_url = data[‘data‘][‘items‘][1][‘realmp3‘]

??

??以上就OK了。如果想要切换方便,可以在awesometts上保存为常用配置。

原文地址:https://blog.51cto.com/trance/2449810

时间: 2024-10-10 09:38:07

分享一个github项目,让anki的awesometts插件支持forvo音源的相关文章

Android 使用github导入一个github项目

1\下载git 如果下载时间过长可以在我的网盘下载 2\默认安装即可 3\在studio中设置git插件.点击test测试 4\配置github帐号 5\可能还会让你设置一个密码 6\导入github项目 上边的链接填写github上的工程链接 点击clone即可导入

分享一个移动项目中消除click事件点击延迟的方法

对于前端工程师来说,apicloud无疑给我们提供了很好的平台,有各种各样的模块供我们使用,但是在实际项目的时候,很大部分的代码,还是需要我们用html css js来实现的.但是呢,移动端页面对于click事件会有 300 毫秒的延迟,导致多数用户感觉移动设备上基于 HTML 的 web 应用界面响应速度慢. 在这里推荐一个简单易用的 js库,用来消除界面中的click事件造成的延迟. https://github.com/ftlabs/fastclick 目前,亲测在iphone表现很完美.

分享一个异步任务在遇到IO异常时支持递归回调的辅助方法

public void TryAsyncActionRecursively<TAsyncResult>( string asyncActionName, Func<Task<TAsyncResult>> asyncAction, Action<int> mainAction, Action<TAsyncResult> successAction, Func<string> getContextInfoFunc, Action<E

创建一个vue 项目 必备的几个插件

第一步npm安装 首先:先从nodejs.org中下载nodejs 打开控制命令行程序(CMD),node -v 检查是否正常 使用淘宝NPM 镜像 npm  install  -g  cnpm  --registry=https://registry.npm.taobao.org 第二步项目初始化 1.第一步:安装vue-cli cnpm install vue-cli -g      //全局安装 vue-cli 2.新建vue项目 vue init webpack  "项目名称"

分享一个简单易用的软件定时器模块——基于keil+stm32f103zet+hal库(裸机实现)

公众号上看到一个比较好的一个github项目:https://github.com/0x1abin/MultiTimer 今天看了看,简单的,就移植了- 且看文档的说明, ================================= 分享一个简单易用的软件定时器模块——MultiTimer.源码地址: https://github.com/0x1abin/MultiTimer 简介 MultiTimer 是一个软件定时器扩展模块,可无限扩展你所需的定时器任务,取代传统的标志位判断方式, 更

【0】分享一个正在做的SSM项目

正在做一个外包项目,虽然老板百般让我复制别人写好的代码(普通jsp跟servlet做的,一个字:乱). 但是!!我怎么可能这么没有追求,学了一段时间的SSM框架后,果断用SSM改装了,当然咯,前端的版式和模样都一样,所以看着没区别.可以后期维护肯定不一样的.维护起来一定会越来越深刻.按照我想法,用jsp跟servlet直接干的,维护起来只能让自己的思路越来越乱,这样是做不了大项目的. 有需求项目经验,但是找不到合适项目的,我可以共享给你(一起交流,一起做,please留言),当然了,项目用的数据

分享一个快速的Json(反)序列化开源项目 Jil

我们不缺少JSON的序列化库,但我们缺少一个性能非常好的库,这对于网站来说非常重要.今天我发现了Jil. 他是开源的代码: https://github.com/kevin-montrose/Jil 在他主页上有详细的介绍其性能的表现,我这里就不转述了,他最重要的特点就是性能,Emit那当然不会少了,当想让他超越其他的库光一个Emit肯定不行,他还有很多其他的优化. 公共缓冲区 为介绍GC的压力,他使用了诸如builder.CommonCharBuffer这样的功能缓冲,builder.Comm

用Vue构建一个github“可视化大数据平台”-GitDataV,设计开发分享

写在前面 GitDataV,是一个github“大数据可视化平台”,通过它你可以更直观的看到你在github里的一些数据,(之所以打双引号,是因为我觉得这个还没到大数据可视化的程度).其实我在 上篇文章 分享的时候已经提到了这个想法,通过github提供的接口,做一个自己的“大数据分析页面”,所以我就花了几天晚上的时间,把这想法从设计到开发构建出来了,那么下面我就我个人的账号测试看看效果如下gif图 如果您感兴趣可以点击这里访问简单的:GitDataV网站(目前打包后有些小bug,但不影响正常使

GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!

大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻... 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚.当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的). 后来自己花了一个星期看完了 Python 的基础知识,就想着找点项目看一看,学一学,练一练,这个时候我才真正的去了解 GitHub,开始了在