Anki add-on for speech recognition.
Currently supported services are the following:
Most speech recognition services require you to register for an API key. Check the docs of your chosen service for details.
You can configure your API key from the add-on's dialog accessible from the editor button ().
You can paste the transcriptions of audio files in a chosen field to any other field using the editor button or the Notes > Transcribe Selected browser action for bulk processing.
The add-on can also work as a template filter (asr
, for "automatic speech recognition" or "Anki speech recognition"), which you put in your card template. E.g:
{{asr:Front}}
The add-on processes any [sound:foo.mp3]
tags in the specified field and replaces them with the transcriptions of the audio. The results will be cached to avoid making additional requests to the ASR service in subsequent reviews. Compared to Fill-in option, this has the advantage that newly created notes can make use of the add-on automatically as long as their card template contains the filter.
You can specify the language using the lang
option. E.g:
{{asr lang=tr:Front}}
The default language is English (en
). Supported languages depend on the service used. For Deepgram, see https://deepgram.com/product/languages/ for a list of supported languages.
The speech-to-text service used can be specified using the provider
option. E.g:
{{asr provider=deepgram:Front}}
If you set auto=false
, a button will be shown that you can click to show the transcription:
{{asr auto=false:Front}}
This is useful to avoid making a request to the ASR service when not needed, or to simply use the transcription as an optional hint.
You can see a list of each provider's supported languages by placing something like the following on your template:
{{asr-langs provider=deepgram:}}
This will list each supported language's code and name. The language code is what you have to provide to the lang
option.
In the window under Tools > Speech Recognition for Anki > Transcribed Files you can see a list of files transcribed since starting Anki and their status (running, finished successfully or with an error) and the resulting transcriptions.
If you know Python, you can integate any ASR service via a custom provider. See user_files/providers/my_provider.py for an example. If your provider is general enough to warrant including in the add-on, please open a pull request!
The the add-on can be downloaded from AnkiWeb: https://ankiweb.net/shared/info/411601849
See CHANGELOG.md for a list of changes.
Icons are adapted from Bootstrap Icons; licensed under the MIT.
Please post any questions, bug reports, or feature requests in the support page or the issue tracker.
If you want priority support for your feature/help request, I'm available for hire. Get in touch via email or the UpWork link below.
Consider supporting me if you like my work:
I'm also available for freelance add-on development: