Language Learning for primates.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Koko is a web application that uses the Language Learning Toolkit (LLTK) as a backend to allow for automatic generation of flashcards for Anki SRS. It is based on Flask and queries LLTK-RESTful.

The name is inspired by Koko the gorilla who learned to communicate using American Sign Language (ASL). Furthermore, Koko is able to understand roughly 2000 words of spoken English.



The current release is intended for developers only. You will have to do the following steps manually:

  1. Download Koko and LLTK-RESTful from GitHub and unpack packages.
  2. Install requirements inside virtual environment.
  3. Copy addons/* to your Anki addon directory ($HOME/Anki/addons/). Restart Anki.
  4. Configure config['host'] and config['port'] in (for both).
  5. Get your Forvo API key and add it to forvokey in koko.js.
  6. Run python inside virtual environment (for both).
  7. Open http://server:port/koko in your browser. Koko is waiting for you.

Import into Anki

At the end of the session, you will get a ZIP package containing all the data. If you have installed the addons correctly (see Installation), there should be three new note types: Koko Languages (NN), Koko Languages (VB) and Koko Languages (JJ). Unzip the ZIP package, open Anki and proceed to the import dialog. Select the .csv file you got from Koko, choose the correct note type (NN for nouns, VB for verbs, JJ for adjectives), and import everything into a deck of your choice.


Please install the following Python packages: Flask, Flask-Cache, tornado. You can do that by running:

sudo pip install -r requirements/base.txt

Additionally you will have to have an instance of LLTK-RESTful running.


GNU Affero General Public License (AGPL), see LICENSE.txt for further details.