Fluent Forever vocabulary deck builder for Anki

Fluent Forever vocabulary deck builder for Anki

In a previous post I’ve discussed about two problems of the Fluent Forever method. Here I present the idea I had to try to solve the second one, i.e., how to build vocabulary decks in a faster way.

The basic idea is to create an Anki add-on that automatically searches and downloads all the media we need to create our cards.In particular it should be able to:

  1. Using an image service like Google images or Bing images, load an image gallery directly into the Anki card editor so that the user can choose the image that better describe the current word just clicking on it.
  2. Using a word pronunciation service (e.g. forvo.com), load a “gallery” of the available pronunciations of the current word in the target language.
  3. Using on line dictionaries, load a “gallery” of the possible IPA transcriptions. Multiple transcriptions may be available for various reasons. As an example different services may have slightly different transcriptions due to different conventions, like using a more strict IPA transcription which uses more diacritics or they can provide General American and Received Pronunciation transcriptions in the case of English.
  4. Preload all the media for the next words in order to minimize the creation time of each card.

In the following video you can see a semi-working mock up of this add-on with explanations, and in the appendix of this post there are two other videos which compare the current card creation workflow to the workflow using the add on.


Issues and possible solutions

Unfortunately not all the cards are easy to build like the ones shown in the video above, so that some advanced things must be taken into account. Here I discuss some of them.

Image gallery


  1. Some words may have multiple meanings.
  2. Some words may have different meanings in different languages (e,g. killing (da) = kitten (en)) which may lead to wrong results when searching for images.

Possible solutions

  1. Use smart search strategies, e.g., search results only in the target language, preload multiple search results using the combination of the original word and its translation.
  2. Allow the user to perform a custom search or add an extra search terms to the word to improve the results.

Pronunciation gallery


  1. Many audio files have very bad quality and a lot of noise.
  2. Some pronunciations may be missing.

Possible solutions

  1. Automatically filter noise (I’m working on some code which do this, and the results are not bad).
  2. Automatically request a pronunciation for the given word or open a page to do it in services like forvo.com or rhinospike.com

IPA gallery


  1. The user may not be able to evaluate which transcription is the best.
  2. The quality of the transcriptions are not optimal.
  3. The transcription is missing.

Possible solutions

  1. Use multiple services.
  2. Let the users rate the transcriptions and share the rates among the users.

I want to expand the last point. An useful tool that currently is missing, is a service that collects and let access in a standard way the IPA transcriptions of all the words. A kind of Forvo for the IPA. Indeed, even tough it’s possible to find IPA transcriptions on line, the transcriptions are not available for all the words of a language, or only the phonemic transcription is available, or the transcription is given in non standard IPA. As an example Google “define”, gives the phonemic transcription in non-IPA transcription, Google Books only provides the IPA phonetic transcription for the basic form of a verb so that it’s not possible to obtain the IPA transcription for words like “was” because you will get the definition and transcription of  “be”, but “was” is a completely different word and it’s pronounced in a different way. The only tool that provides IPA for most of the words is Wikitionary, but it has no sort of API to access the different fields.

I’ve recently discovered that Forvo provides IPA transcriptions for some words, but only editors can add more transcriptions, which of course makes it very difficult to provide IPA transcription for all the words of all the languages. I’ve suggested the guys of Forvo to allow users add more IPA transcriptions, and create a rating system (as the one already present for the audio pronunciations) in such a way to have a quality indicator of the different transcriptions. At that point Forvo would be a complete tool for language learning.

If you would like to see this feature implemented in Forvo ask the Forvo developers to implement it! If they see there is a wide interest in this feature they may be more motivated in add it.

Other issues

One user pointed out that for languages like Chinese and Japanese there are some other problems, which need to be addressed as well.

“I’m trying Mandarin Chinese via FF, and there’s a bit more to do – compounded by having to get the characters with correct stroke order (needing more mnemonics to help the brain cells), plus the fact that G-Images for Chinese has a strong tendency to return images of women wearing few clothes, regardless of the input!!”

Other possible features

  • Mnemonic manager. Create a collection of mnemonic images and allow adding them easily to the different cards.
  • Word definition. Show the definition of the word in the target language to better understand its meaning and help in the card build operation.


With this post I’ve provided an overview of my ideas on the add-on implementation. Now I want to hear what you think about it, if you consider it useful, which features can be added, what problems should be addressed and so on, so that we can make a further step in the simplification of the hard task of learning a new language.

Appendix: Card creation workflows comparison



14 thoughts on “Fluent Forever vocabulary deck builder for Anki”

  1. Simone, this plugin looks fantastic, just why I’ve been looking for (and lots of other FF users too).

    Re images, I’m studying French and as Gabe suggests, use the French Google site. But sometimes this doesn’t give suitable images and I have to use the google.com site. Eg looking for pictures of réunion on the French Google site shows lots of pictures of the the Réunion island, but none of ‘meetings’.

    So maybe have a checkbox to switch to the google.com site?

    You also didn’t mention how to get the word’s gender? Are you planning on using Wiktionary?

    Let me know if you want someone to beta-test it for you!



    • I think I’ll add a combobox to choose between several search options. I’ll use bing images, and there you can use a filter to search images in different localizations.

      I still didn’t think about the gender, but Wikitionary is a possibility, or openwords.org is another.

  2. This sound great and is something I would pay for. Perhaps Gabe could sell it on his web site if you developed it?


    • Thanks. Actually I’m planning a Kickstarter campaign to get some funding to develop it and to aggregate ideas to achieve a best result. I hope to launch it quite soon, if time permits.

  3. Re audio processing for forvo.org files, can you also put in some volume level harmonisation? The files on forvo are different levels so some you can hardly hear, others are loud. Should be some sort of function to automatically bring up level for quite tracks and quieten the loud ones.

    Just a thought.

    • I think it’s possible. It’s called normalization, and usually all audio tools allows you to do it. I’ll look into it.

  4. Hi Simone,

    I hope your language learning is progressing well. Any news on this plug in – it really does look like a great idea.


    • I’ve just seen the previous two comments, so I’m replying only now (for some reason wordpress doesn’t send me notifications).

      The work is progressing. I’m able to download audio from forvo and filter the noise (only in linux for now). The image gallery is still rough and needs some improvement.

      Along the way I’ve found some problems so I’m waiting to open the Kickstarter project, to have a more general idea on the feasibility of the whole thing.

      Unfourtunately programming takes a lot of time, and the free time is short.

      I’ll probably write an more detailed article on the development progress soon.

  5. Thanks Simone. Thought you might have lost interest when there were no updates for two months!

    The tool you use on linux might exist on Mac OS X, as that has a FreeBSD base. (Won’t help you with Windows of course).

    Does the tool do normalisation?

    Another thought would be to pull the IPA from Forvo if it has it, otherwise from Wiktionary. Should be easy to find it by searching for the /…/

    Understand that it takes time – completely understand and hope you don’t take any of this as putting pressure on you.

    Look forward to the Kickstarter. If you need any help (ideas, beta testing, etc) let me know.

    • The tools I use are sox and ffmpeg, which are both available in Win, Mac.

      For the IPA it’s not straightforward, because you need to collect the correct IPA, since a single Wiktionary page can contains many of them for different languages, etymologies,.. . but shouldn’t be too difficult.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.