January 6, 2017

Hinnebusch & Mirza Swahili with Python

I think the pedagogical approach taken in Kiswahili: Msingi wa Kusema, Kusoma, na Kuandika by Thomas J. Hinnebusch and Sarah M. Mirza is the best possible for learning a language: each chapter starts off with several exercises entirely in Swahili before explaining anything in English. This forces, or incentivizes depending on perspective, the learner to make an active effort to understand the new material presented in each chapter, as it isn’t outlined beforehand.

Even better, the audio is freely available online. As I went through the chapters, I spliced the audio tracks up into individual words/phrases and included them in a simple Python script to randomly shuffle them in quiz form. Press p to play the audio for a word/phrase (requires VLC command-line binary cvlc), press f to forfeit if you don’t know, and o to mark an answer correct that was marked wrong (useful for some of the entries that include additional info about a word/phrase). The program keeps track of the number correct, forfeited, and retried. Below is the program itself; the accompanying spliced audio files are available in the program’s git repository.

# -*- coding: utf-8 -*-
import random, sys, os, subprocess

# NOTE: This may be useful if audio is garbled:
#os.environ['PULSE_LATENCY_MSEC'] = '60'

pairs = [
# Somo la Kwanza: Msamiati 1
    ('asubuhi', 'morning', 'ch1/asubuhi.mp3'),
    ('au', 'or', 'ch1/au.mp3'),
    ('baba', 'father', 'ch1/baba.mp3'),
    ('bibi', 'ms., mrs., miss', 'ch1/bibi.mp3'),
    ('bwana', 'mr., sir', 'ch1/bwana.mp3'),
    ('gani?', 'what kind? what sort?', 'ch1/gani.mp3'),
    ('habari', 'news', 'ch1/habari.mp3'),
    ('hujambo', 'how are you? (to younger only)', 'ch1/hujambo.mp3'),
    ('-itika', 'respond, affirm', 'ch1/itika.mp3'),
    ('je', 'used in questions, roughly "what about?"', 'ch1/je.mp3'),
    ('mama', 'mother', 'ch1/mama.mp3'),
    ('mchana', 'daytime, afternoon', 'ch1/mchana.mp3'),
    ('mwalimu', 'teacher', 'ch1/mwalimu.mp3'),
    ('walimu', 'teachers', 'ch1/walimu.mp3'),
    ('mwanafunzi', 'student', 'ch1/mwanafunzi.mp3'),
    ('wanafunzi', 'students', 'ch1/wanafunzi.mp3'),
    ('mzee', 'elderly m/f', 'ch1/mzee.mp3'),
    ('wazee', 'elderly people m/f', 'ch1/wazee.mp3'),
    ('ndugu', 'sibling, relative', 'ch1/ndugu.mp3'),
    ('nzuri', 'good', 'ch1/nzuri.mp3'),
    ('salama', 'safety, security, peace (used in greetings)', 'ch1/salama.mp3'),
    ('sijambo', 'I\'m fine', 'ch1/sijambo.mp3'),
    ('tu', 'only, just, merely', 'ch1/tu.mp3'),
    ('wewe', 'you', 'ch1/wewe.mp3'),
# Somo la Kwanza: Msamiati 2
    ('basi', 'well, then, well then, etc.', 'ch1/basi.mp3'),
    ('-fundisha', 'teach', 'ch1/fundisha.mp3'),
    ('kufundisha', 'to teach, teaching', 'ch1/kufundisha.mp3'),
    ('anafundisha', 's/he is teaching', 'ch1/anafundisha.mp3'),
    ('haya', 'alright, ok', 'ch1/haya.mp3'),
    ('kuitika', 'to respond, responding', 'ch1/kuitika.mp3'),
    ('anaitika', 's/he is responding', 'ch1/anaitika.mp3'),
    ('mmoja', 'one person', 'ch1/mmoja.mp3'),
    ('mwingine', 'another/other person', 'ch1/mwingine.mp3'),
    ('na', 'and, by, with', 'ch1/na.mp3'),
    ('sana', 'very, very much, a lot', 'ch1/sana.mp3'),
    ('sasa', 'now', 'ch1/sasa.mp3'),
    ('-sema', 'speak, say', 'ch1/sema.mp3'),
    ('kusema', 'to speak, say', 'ch1/kusema.mp3'),
    ('anasema', 's/he is saying, speaking', 'ch1/anasema.mp3'),
    ('wanasema', 'they are speaking, saying', 'ch1/wanasema.mp3'),
    ('-soma', 'read, study', 'ch1/soma.mp3'),
    ('kusoma', 'to read, study', 'ch1/kusoma.mp3'),
    ('vizuri', 'very well, fine (adverb)', 'ch1/vizuri.mp3'),
    ('yeye', 'she, he', 'ch1/yeye.mp3'),
# Somo la kwanza: Msamiati 3
    ('maamkio', 'greetings', 'ch1/maamkio.mp3'),
    ('baina ya watu wawili', 'between 2 people',
    ('mazungumzo', 'conversation, dialogue', 'ch1/mazungumzo.mp3'),
    ('mazoezi', 'drills, exercises (pl.)', 'ch1/mazoezi.mp3'),
    ('zoezi', 'drill, exercise (sg.)', 'ch1/zoezi.mp3'),
    ('zoezi la kusoma', 'reading exercise', 'ch1/zoezi_la_kusoma.mp3'),
    ('zoezi la nyumbani', 'homework exercise', 'ch1/zoezi_la_nyumbani.mp3'),
    ('tafsiri kwa Kiswahili', 'translate into Kiswahili',
    ('jaza mistari', 'fill in the blanks/lines', 'ch1/jaza_mistari.mp3'),
    ('jibu maswali', 'answer the questions', 'ch1/jibu_maswali.mp3'),
    ('msamiati', 'vocabulary (sg.)', 'ch1/msamiati.mp3'),
    ('maneno ya mazungumzo na mazoezi', 'words in the conversations and exercises',
    ('maneno ya zoezi la kusoma', 'words in the reading exercise',
    ('maneno maalum', 'special vocabulary', 'ch1/maneno_maalum.mp3'),
# Somo la pili: Msamiati 1
    ('asante', 'thank you (sg.)', 'ch2/asante.mp3'),
    ('asanteni', 'thank you (pl.)', 'ch2/asanteni.mp3'),
    ('habari zenu?' , 'how are you? (pl.)', 'ch2/habari_zenu.mp3'),
    ('hamjambo', 'hello, how are you (pl.)', 'ch2/hamjambo.mp3'),
    ('hatujambo', 'we are fine', 'ch2/hatujambo.mp3'),
    ('ninyi', 'you all (pl.)', 'ch2/ninyi.mp3'),
    ('somo', 'lesson, reading', 'ch2/somo.mp3'),
    ('masomo', 'lessons, readings', 'ch2/masomo.mp3'),
    ('wengi', 'many (refers only to people)', 'ch2/wengi.mp3'),
# Somo la pili: Msamiati 2
    ('-amkiana', 'greet one another', 'ch2/amkiana.mp3'),
    ('lakini', 'but', 'ch2/lakini.mp3'),
    ('-uliza', 'ask (a question)', 'ch2/uliza.mp3'),
    ('-jibu', 'answer (a question)', 'ch2/jibu.mp3'),
    ('mimi', 'I', 'ch2/mimi.mp3'),
    ('ni', 'is/are; it is/they are', 'ch2/ni.mp3'),
# Somo la pili: Msamiati 3
    ('Funga kitabu chako.', 'Close your book. (one person)',
    ('Fungeni vitabu vyenu.', 'Close your books. (multiple people)',
    ('Fungua kitabu chako.', 'Open your book. (one person)',
    ('Fungueni vitabu vyenu.', 'Open your books. (multiple people)',
    ('Ni tarehe gani?', 'What\'s the date?', 'ch2/ni_tarehe_gani.mp3'),
    ('Ni tarehe mosi...', 'It\'s the first... (i.e., of October)',
    ('Sema tena, tafadhali.', 'Please repeat.',
    ('Sema kwa sauti.', 'Speak louder/loudly.', 'ch2/sema_kwa_sauti.mp3'),
    ('Sijui.', 'I don\'t know.', 'ch2/sijui.mp3'),
    ('Sikiliza.', 'Listen. (sg.)', 'ch2/sikiliza.mp3'),
    ('Sikilizeni.', 'Listen. (pl.)', 'ch2/sikilizeni.mp3'),
# Somo la pili: MQUINN Additions
    ('Habari zako?', 'How are you? (to one person)'),
    ('Habari zenu?', 'How are you? (to multiple people)'),
# Somo la tatu: Msamiati 1
    ('hajambo?', 'is s/he well?', 'ch3/hajambo.mp3'),
    ('hawajambo?', 'are they well?', 'ch3/hawajambo.mp3'),
    ('je', 'yes/no question particle', 'ch3/je.mp3'),
    ('juu ya', 'about, concerning, on', 'ch3/juu_ya.mp3'),
    ('mgonjwa', 'sick (adjective), sick person', 'ch3/mgonjwa.mp3'),
    ('wagonjwa', 'sick people', 'ch3/wagonjwa.mp3'),
    ('jioni', 'evening (about 4-7pm)', 'ch3/jioni.mp3'),
    ('kidogo', 'a little, somewhat (adverb)', 'ch3/kidogo.mp3'),
    ('sisi', 'we, us', 'ch3/sisi.mp3'),
    ('wao', 'they, them', 'ch3/wao.mp3'),
# Somo la tatu: Msamiati 2
    ('mtoto', 'children (sg.)', 'ch3/mtoto.mp3'),
    ('watoto', 'child (pl.)', 'ch3/watoto.mp3'),
    ('ndiyo (also spelled ndio)', 'yes; it is so', 'ch3/ndiyo.mp3'),
    ('nyumba', 'home(s), house(s)', 'ch3/nyumba.mp3'),
    ('nyumbani', 'in/at/on house/home', 'ch3/nyumbani.mp3'),
    ('swali', 'question (sg.)', 'ch3/swali.mp3'),
    ('maswali', 'questions (pl.)', 'ch3/maswali.mp3'),
    ('wako', 'your, yours', 'ch3/wako.mp3'),
    ('wengine', 'others, some (people only)', 'ch3/wengine.mp3'),
    ('zako', 'your, yours', 'ch3/zako.mp3'),
# Somo la nne: Msamiati 1
    ('-agana', 'say goodbye/take leave of each other', 'ch4/agana.mp3'),
    ('baada ya', 'after', 'ch4/baada_ya.mp3'),
    ('baina ya', 'between, among', 'ch4/baina_ya.mp3'),
    ('-bisha hodi', 'call hodi to seek entrance', 'ch4/bisha_hodi.mp3'),
    ('dada', 'sister, elder sister', 'ch4/dada.mp3'),
    ('hapana', 'no', 'ch4/hapana.mp3'),
    ('heri', 'happiness, blessedness, good fortune', 'ch4/heri.mp3'),
    ('hodi', 'used to request entrance', 'ch4/hodi.mp3'),
    ('-kali', 'srict, hard, touch, sharp', 'ch4/kali.mp3'),
    ('karibu', 'come in, welcome (lit. near)', 'ch4/karibu.mp3'),
    ('kijana', 'youth, young person (sg.)', 'ch4/kijana.mp3'),
    ('vijana', 'young people (pl.)', 'ch4/vijana.mp3'),
    ('kwa', 'with, by, to, for, etc.', 'ch4/kwa.mp3'),
    ('kwa heri ya kuonana', 'goodbye until we see each other again',
    ('marahaba', 'response to shikamoo', 'ch4/marahaba.mp3'),
    ('mkali', 'strict, hard, tough person', 'ch4/mkali.mp3'),
    ('wakali', 'strict, hard, tough people', 'ch4/wakali.mp3'),
    ('mzuri', 'good person (cf. nzuri "good")', 'ch4/mzuri.mp3'),
    ('wazuri', 'good people', 'ch4/wazuri.mp3'),
    ('nani?', 'who?', 'ch4/nani.mp3'),
    ('-onana', 'see one another', 'ch4/onana.mp3'),
    ('shikamoo', 'respectful greeting for elders/superiors', 'ch4/shikamoo.mp3'),
    ('si', 'is not, are not', 'ch4/si.mp3'),
    ('-zungumza', 'converse, chat', 'ch4/zungumza.mp3'),
# Somo la nne: Msamiati 2
    ('aamkio', 'greeting (sg.)', 'ch4/amkio.mp3'),
    ('kwa muda', 'for a period of time', 'ch4/kwa_muda.mp3'),
    ('misamiati', 'vocabulary (pl.)', 'ch4/misamiati.mp3'),
    ('muda', 'period of time', 'ch4/muda.mp3'),
# Somo la tano: Msamiati 1
    ('jina', 'name', 'ch5/jina.mp3'),
    ('majina', 'names', 'ch5/majina.mp3'),
    ('lako', 'your, yours (only for nouns like jina)', 'ch5/lako.mp3'),
    ('lake', 'his, her (only for nouns like jina)', 'ch5/lake.mp3'),
    ('langu', 'my, mine (only for nouns like jina)', 'ch5/langu.mp3'),
    ('mzima', 'healthy, fine, well (sg.)', 'ch5/mzima.mp3'),
    ('wazima', 'healthy, fine, well (pl.)', 'ch5/wazima.mp3'),
# Somo la tano: Msamiati 2
    ('cha', 'of', 'ch5/cha.mp3'),
    ('chuo', 'school, college (sg.)', 'ch5/chuo.mp3'),
    ('vyuo', 'schools, colleges (pl.)', 'ch5/vyuo.mp3'),
    ('hali', 'condition, situation', 'ch5/hali.mp3'),
    ('huko', 'there (at a place previously mentioned)', 'ch5/huko.mp3'),
    ('mgeni', 'guest, stranger (sg.)', 'ch5/mgeni.mp3'),
    ('wageni', 'guests, strangers (pl.)', 'ch5/wageni.mp3'),
    ('mtu', 'person (sg.)', 'ch5/mtu.mp3'),
    ('watu', 'persons (pl.)', 'ch5/watu.mp3'),
    ('mtu mzima', 'adult (sg.)', 'ch5/mtu_mzima.mp3'),
    ('watu wazima', 'adults (pl.)', 'ch5/watu_wazima.mp3'),
    ('shule', 'school', 'ch5/shule.mp3'),
    ('skuli', 'school', 'ch5/skuli.mp3'),
    ('u hali gani?', 'how are you?', 'ch5/u_hali_gani.mp3'),
# Somo la tano: Msamiati 3
    ('msichana', 'girl (sg.)', 'ch5/msichana.mp3'),
    ('wasichana', 'girls (pl.)', 'ch5/wasichana.mp3'),
    ('mvulana', 'boy (sg.)', 'ch5/mvulana.mp3'),
    ('wavulana', 'boys (pl.)', 'ch5/wavulana.mp3'),
    ('mwanamke', 'woman (sg.)', 'ch5/mwanamke.mp3'),
    ('wanawake', 'women (pl.)', 'ch5/wanawake.mp3'),
    ('mwanamume', 'man (sg.)', 'ch5/mwanamume.mp3'),
    ('wanaume', 'men (pl.)', 'ch5/wanaume.mp3'),
# Somo la sita: Msamiati 1
    ('chuo kikuu', 'university', 'ch6/chuo_kikuu.mp3'),
    ('vyuo vikuu', 'universities', 'ch6/vyuo_kikuu.mp3'),
    ('-kaa', 'live, reside; stay, remain; sit', 'ch6/kaa.mp3'),
    ('kwa nini?', 'why?', 'ch6/kwa_nini.mp3'),
    ('lugha', 'language(s)', 'ch6/lugha.mp3'),
    ('nini?', 'what?', 'ch6/nini.mp3'),
    ('njia', 'road(s), street(s), path(s)', 'ch6/njia.mp3'),
    ('-safiri', 'travel', 'ch6/safiri.mp3'),
    ('-taka', 'want, desire', 'ch6/taka.mp3'),
    ('-toka', 'come from', 'ch6/toka.mp3'),
# Somo la sita: Msamiati 2
    ('-fanya', 'do, make', 'ch6/fanya.mp3'),
    ('-fanya kazi', 'work, do work', 'ch6/fanya_kazi.mp3'),
    ('hapa', 'here', 'ch6/hapa.mp3'),
    ('hospitali', 'hospital', 'ch6/hospitali.mp3'),
    ('katika', 'in, on', 'ch6/katika.mp3'),
    ('mji', 'town, city', 'ch6/mji.mp3'),
    ('miji', 'towns, cities', 'ch6/miji.mp3'),
    ('mke', 'wife', 'ch6/mke.mp3'),
    ('mume', 'husband', 'ch6/mume.mp3'),
    ('-pata', 'get, obtain', 'ch6/pata.mp3'),
    ('pia', 'also', 'ch6/pia.mp3'),
    ('-rudi', 'return', 'ch6/rudi.mp3'),
# Somo la saba: Msamiati 1
    ('-enu', 'your, yours (pl., i.e., zenu)', 'ch7/enu.mp3'),
    ('jamaa', 'family (sg. and pl.)', 'ch7/jamaa.mp3'),
    ('-jua', 'know', 'ch7/jua.mp3'),
    ('Marekani', 'America', 'ch7/marekani.mp3'),
    ('Mkenya', 'Kenyan', 'ch7/mkenya.mp3'),
    ('Wakenya', 'Kenyans', 'ch7/wakenya.mp3'),
    ('Mmarekani', 'American', 'ch7/mmarekani.mp3'),
    ('Wamarekani', 'Americans', 'ch7/wamarekani.mp3'),
    ('Mtanzania', 'Tanzanian', 'ch7/mtanzania.mp3'),
    ('Watanzania', 'Tanzanians', 'ch7/watanzania.mp3'),
    ('mzaliwa', 'native (sg.)', 'ch7/mzaliwa.mp3'),
    ('wazaliwa', 'natives (pl.)', 'ch7/wazaliwa.mp3'),
    ('nyote', 'all of you', 'ch7/nyote.mp3'),
    ('rais', 'president', 'ch7/rais.mp3'),
    ('marais', 'presidents', 'ch7/marais.mp3'),
    ('sote', 'all of us', 'ch7/sote.mp3'),
    ('vema', 'very well, very good, fine', 'ch7/vema.mp3'),
    ('yangu', 'my, mine (for family words)', 'ch7/yangu.mp3'),
    ('zenu', 'your, yours (pl., used with words like habari', 'ch7/zenu.mp3'),
# Somo la saba: Msamiati 2
    ('Baba Taifa', 'Father of the Nation', 'ch7/baba_taifa.mp3'),
    ('darasa', 'classroom', 'ch7/darasa.mp3'),
    ('madarasa', 'classrooms', 'ch7/madarasa.mp3'),
    ('-eleza', 'explain', 'ch7/eleza.mp3'),
    ('hawajui', 'they don\'t know', 'ch7/hawajui.mp3'),
    ('hizi', 'these (for N- plurals)', 'ch7/hizi.mp3'),
    ('kiongozi', 'leader (sg.)', 'ch7/kiongozi.mp3'),
    ('viongozi', 'leader (pl.)', 'ch7/viongozi.mp3'),
    ('kwamba', 'that', 'ch7/kwamba.mp3'),
    ('mashariki', 'east', 'ch7/mashariki.mp3'),
    ('mheshimiwa', 'respected/honored person', 'ch7/mheshimiwa.mp3'),
    ('waheshimiwa', 'respected/honored people', 'ch7/waheshimiwa.mp3'),
    ('mtukufu', 'exalted person', 'ch7/mtukufu.mp3'),
    ('watukufu', 'exalted people', 'ch7/watukufu.mp3'),
    ('nchi', 'country, land (sg. and pl.)', 'ch7/nchi.mp3'),
    ('siku', 'day (sg. and pl.)', 'ch7/siku.mp3'),
    ('siku za leo', 'these days', 'ch7/siku_za_leo.mp3'),
    ('yaani', 'that is, i.e.', 'ch7/yaani.mp3'),
    ('zamani', 'old, long ago, past', 'ch7/zamani.mp3'),
# Somo la nane: Msamiati 1
    ('-fahamu', 'understand, know', 'ch8/fahamu.mp3'),
    ('kama', 'if, as, like, such as, about, around', 'ch8/kama.mp3'),
    ('kwa kweli', 'truly, in truth', 'ch8/kwa_kweli.mp3'),
    ('kweli', 'true', 'ch8/kweli.mp3'),
# Somo la nane: Msamiati 2
    ('bara', 'mainland, inland, continent', 'ch8/bara.mp3'),
    ('hasa', 'especially', 'ch8/hasa.mp3'),
    ('-jifunza', 'learn', 'ch8/jifunza.mp3'),
    ('kabila' , 'tribe, ethnic group', 'ch8/kabila.mp3'),
    ('makabila', 'tribes', 'ch8/makabila.mp3'),
    ('karibu', 'nearly (adv.)', 'ch8/karibu.mp3'),
    ('kazi', 'work (sg. and pl.)', 'ch8/kazi.mp3'),
    ('kazini', 'at work', 'ch8/kazini.mp3'),
    ('kisiwa', 'island', 'ch8/kisiwa.mp3'),
    ('visiwa', 'islands', 'ch8/visiwa.mp3'),
    ('kule', 'there; at a distance', 'ch8/kule.mp3'),
    ('kwa hivyo', 'therefore', 'ch8/kwa_hivyo.mp3'),
    ('kwa sababu', 'because', 'ch8/kwa_sababu.mp3'),
    ('mashambani', 'in the rural areas', 'ch8/mashambani.mp3'),
    ('mbalimbali', 'various, assorted', 'ch8/mbalimbali.mp3'),
    ('mfanyakazi', 'worker', 'ch8/mfanyakazi.mp3'),
    ('wafanyakazi', 'workers', 'ch8/wafanyakazi.mp3'),
    ('mwananchi', 'citizen', 'ch8/mwananchi.mp3'),
    ('wananchi', 'citizens', 'ch8/wananchi.mp3'),
    ('pwani', 'coast, shore', 'ch8/pwani.mp3'),
    ('sehemu', 'section, part', 'ch8/sehemu.mp3'),
    ('-sema na', 'speak with', 'ch8/sema_na.mp3'),
    ('shamba', 'farm, field', 'ch8/shamba.mp3'),
    ('mashamba', 'farms', 'ch8/mashamba.mp3'),
    ('-tumia', 'use', 'ch8/tumia.mp3'),
    ('Unguja', 'traditional name of island of Zanzibar', 'ch8/unguja.mp3'),
    ('upesi', 'quick, quickly', 'ch8/upesi.mp3'),
    ('vingine', 'other/some things', 'ch8/vingine.mp3'),
    ('vizuri', 'very well, well (adv.)', 'ch8/vizuri.mp3'),
    ('wakati', 'time (general sense)', 'ch8/wakati.mp3'),
    ('wakati wa', 'when (used w/ infinitive)', 'ch8/wakati_wa.mp3'),
# Somo la tisa: Msamiati 1
    ('baisikeli', 'bicycle (sg. and pl.)', 'ch9/baisikeli.mp3'),
    ('basi', 'bus', 'ch9/basi.mp3'),
    ('mabasi', 'buses', 'ch9/mabasi.mp3'),
    ('eropleni', 'airplane', 'ch9/eropleni.mp3'),
    ('-ja', 'come', 'ch9/ja.mp3'),
    ('kuja', 'to come', 'ch9/kuja.mp3'),
    ('kwa miguu', 'on/by foot', 'ch9/kwa_miguu.mp3'),
    ('lori', 'truck', 'ch9/lori.mp3'),
    ('malori', 'trucks', 'ch9/malori.mp3'),
    ('meli', 'modern ship/boat', 'ch9/meli.mp3'),
    ('mguu', 'foot', 'ch9/mguu.mp3'),
    ('miguu', 'feet', 'ch9/miguu.mp3'),
    ('motokaa', 'car (sg. and pl.)', 'ch9/motokaa.mp3'),
    ('njia', 'road, path, way of doing something, means', 'ch9/njia.mp3'),
    ('ndege', 'bird, airplane (sg. and pl.)', 'ch9/ndege.mp3'),
    ('pikipiki', 'motorcycle (sg. and pl.)', 'ch9/pikipiki.mp3'),
    ('teksi', 'taxi (sg. and pl.)', 'ch9/teksi.mp3'),
# Somo la tisa: Msamiati 2
    ('-a kutosha', 'enough (cf. -tosha "be sufficient")', 'ch9/a_kutosha.mp3'),
    ('-a lami', 'paved (cf. lami "tar, asphalt")', 'ch9/a_lami.mp3'),
    ('-chache', 'few', 'ch9/chache.mp3'),
    ('wachache', 'few people', 'ch9/wachache.mp3'),
    ('gari', 'vehicle', 'ch9/gari.mp3'),
    ('magari', 'vehicles', 'ch9/magari.mp3'),
    ('gari la moshi', 'train', 'ch9/gari_la_moshi.mp3'),
    ('magari ya moshi', 'trains', 'ch9/magari_ya_moshi.mp3'),
    ('ghali', 'expensive', 'ch9/ghali.mp3'),
    ('hali', 'condition, situation (sg. and pl.)', 'ch9/hali.mp3'),
    ('ingawa', 'although', 'ch9/ingawa.mp3'),
    ('karibu na', 'near, close to', 'ch9/karibu_na.mp3'),
    ('kwa sababu', 'because', 'ch9/kwa_sababu.mp3'),
    ('kwa sababu gani?', 'why, for what reason?', 'ch9/kwa_sababu_gani.mp3'),
    ('lami', 'tar, asphalt', 'ch9/lami.mp3'),
    ('mahitaji', 'needs, requirements', 'ch9/mahitaji.mp3'),
    ('mbali na', 'far, far from', 'ch9/mbali_na.mp3'),
    ('mkulima', 'farmer', 'ch9/mkulima.mp3'),
    ('wakulima', 'farmers', 'ch9/wakulima.mp3'),
    ('-nunua', 'buy', 'ch9/nunua.mp3'),
    ('nyingi', 'many, much (only for n- noun class)', 'ch9/nyingi.mp3'),
    ('nyingine', 'other, another (only for ny- noun class)', 'ch9/nyingine.mp3'),
    ('pesa', 'money', 'ch9/pesa.mp3'),
    ('sababu', 'reason (sg. and pl.)', 'ch9/sababu.mp3'),
    ('soko', 'market', 'ch9/soko.mp3'),
    ('masoko', 'markets', 'ch9/masoko.mp3'),
    ('sivyo?', 'is that not so?', 'ch9/sivyo.mp3'),
    ('taabu', 'trouble, difficulty (sg. and pl.)', 'ch9/taabu.mp3'),
    ('udongo', 'dirt, soil', 'ch9/udongo.mp3'),
    ('-kataa', 'say no, deny, negate', 'ch9/kataa.mp3'),
# Somo la kumi: Msamiati 1
    ('alasiri', 'afternoon around 3 - 4pm', 'ch10/alasiri.mp3'),
    ('alfajiri', 'very early morning, around dawn', 'ch10/alfajiri.mp3'),
    ('-amka', 'get up, wake up', 'ch10/amka.mp3'),
    ('kesho', 'tomorrow', 'ch10/kesho.mp3'),
    ('leo', 'today', 'ch10/leo.mp3'),
    ('ngapi?', 'how many, how much', 'ch10/ngapi.mp3'),
    ('saa ngapi?', 'what time is it?', 'ch10/saa_ngapi.mp3'),
    ('saa', 'hour (sg. and pl.); masaa means # of hours', 'ch10/saa.mp3'),
# Somo la kumi: Msamiati 2
    ('bahati', 'luck', 'ch10/bahati.mp3'),
    ('chai', 'tea', 'ch10/chai.mp3'),
    ('chakula', 'food (cf. cha+kula: something+to_eat)', 'ch10/chakula.mp3'),
    ('vyakula', 'food (pl.)', 'ch10/vyakula.mp3'),
    ('chamshakinywa', 'breakfast (cf. -amsha+kinywa: wake_someone_up+mouth',
    ('-chelewa', 'be late', 'ch10/chelewa.mp3'),
    ('dereva', 'driver', 'ch10/dereva.mp3'),
    ('madereva', 'drivers', 'ch10/madereva.mp3'),
    ('-fika', 'to arrive', 'ch10/fika.mp3'),
    ('kabla ya', 'before (infinitive follows)', 'ch10/kabla_ya.mp3'),
    ('kijiji', 'village', 'ch10/kijiji.mp3'),
    ('vijiji', 'villages', 'ch10/vijiji.mp3'),
    ('kila', 'each, every (precedes noun)', 'ch10/kila.mp3'),
    ('kituo', 'station, rest place, bus stop', 'ch10/kituo.mp3'),
    ('vituo', 'stations, rest places, bus stops', 'ch10/vituo.mp3'),
    ('kwenye', 'at, to', 'ch10/kwenye.mp3'),
    ('mapema', 'early', 'ch10/mapema.mp3'),
    ('mara', 'single event, instant, immediately (n. or adv.)', 'ch10/mara.mp3'),
    ('mara kwa mara', 'often', 'ch10/mara_kwa_mara.mp3'),
    ('mosi', 'one, first', 'ch10/mosi.mp3'),
    ('muda', 'period, time interval', 'ch10/muda.mp3'),
    ('muda wa', 'during, for the time/interval of', 'ch10/muda_wa.mp3'),
    ('mvuvi', 'fisherman', 'ch10/mvuvi.mp3'),
    ('wavuvi', 'fishermen', 'ch10/wavuvi.mp3'),
    ('njiani', 'along the way', 'ch10/njiani.mp3'),
    ('safari', 'trip, journey (sg. and pl.)', 'ch10/safari.mp3'),
    ('siku', 'day (sg. and pl.)', 'ch10/siku.mp3'),
    ('-simama', 'to stop, to stand', 'ch10/simama.mp3'),
    ('tena', 'again, moreover', 'ch10/tena.mp3'),
    ('-vua', 'to fish', 'ch10/vua.mp3'),
    ('-badilisha', 'to change', 'ch10/badilisha.mp3'),
# Somo la kumi na moja: Msamiati 1
    ('ada', 'fee(s)', 'ch11/ada.mp3'),
    ('dakika', 'minute(s)', 'ch11/dakika.mp3'),
    ('kasa', 'less', 'ch11/kasa.mp3'),
    ('kasarobo', 'less a quarter (time)', 'ch11/kasarobo.mp3'),
    ('kasoro', 'less (minutes, when telling time)', 'ch11/kasoro.mp3'),
    ('kesho asubuhi', 'tomorrow morning', 'ch11/kesho_asubuhi.mp3'),
    ('-lipa', 'pay', 'ch11/lipa.mp3'),
    ('-lipia', 'pay to/for', 'ch11/lipia.mp3'),
    ('mzazi', 'parent', 'ch11/mzazi.mp3'),
    ('wazazi', 'parents', 'ch11/wazazi.mp3'),
    ('nusu', 'half (hour)', 'ch11/nusu.mp3'),
    ('robo', 'quarter (hour)', 'ch11/robo.mp3'),
# Somo la kumi na moja: Msamiati 2
    ('bure', 'for free, for nothing (also "useless")', None),
    ('-enda', 'to go', None),
    ('-endea', 'to go to/for/toward', None),
    ('-fanya', 'to do, to make', 'ch11/fanya.mp3'),
    ('-fanyia', 'to do to/for, to make for', 'ch11/fanyia.mp3'),
    ('kadhalika', 'and so on, etc., likewise', 'ch11/kadhalika.mp3'),
    ('-kimbia', 'to run, run away', 'ch11/kimbia.mp3'),
    ('-kimbilia', 'to run to/toward', 'ch11/kimbilia.mp3'),
    ('kusini', 'south', 'ch11/kusini.mp3'),
    ('kwa bahati nzuri', 'fortunately, by good luck', 'ch11/kwa_bahati_nzuri.mp3'),
    ('-lima', 'cultivate, farm', 'ch11/lima.mp3'),
    ('maskini', 'poor, poor person(s)', 'ch11/maskini.mp3'),
    ('msaada', 'help, aid, assistance (sg.)', 'ch11/msaada.mp3'),
    ('misaada', 'help, aid, assistance (pl.)', 'ch11/misaada.mp3'),
    ('nguo', 'clothing (sg. and pl.)', 'ch11/nguo.mp3'),
    ('-nunulia', 'to buy for/on behalf of', 'ch11/nunulia.mp3'),
    ('-ondoa', 'to clear off/away', 'ch11/ondoa.mp3'),
    ('-ondolea', 'to clear off for someone', 'ch11/ondolea.mp3'),
    ('-pika', 'to cook', 'ch11/pika.mp3'),
    ('-pikia', 'to cook for someone', 'ch11/pikia.mp3'),
    ('-rudia', 'to return to/for', 'ch11/rudia.mp3'),
    ('-saidia', 'to help someone/something', 'ch11/saidia.mp3'),
    ('samaki', 'fish (sg. and pl.)', 'ch11/samaki.mp3'),
    ('serikali', 'government (sg. and pl.)', 'ch11/serikali.mp3'),
    ('-somea', 'to study for, read for/to', 'ch11/somea.mp3'),
    ('zote', 'all (only for corresonding noun class)', 'ch11/zote.mp3'),
# Somo la kumi na mbili: Msamiati 1
    ('dola', 'dollar', 'ch12/dola.mp3'),
    ('elfu', 'thousand (sg. and pl.)', 'ch12/elfu.mp3'),
    ('maelfu', 'thousand (collective plural)', 'ch12/maelfu.mp3'),
    ('hivi', 'about, approximately', 'ch12/hivi.mp3'),
    ('kipindi', 'period, portion of time', 'ch12/kipindi.mp3'),
    ('vipindi', 'periods, portions of time', 'ch12/vipindi.mp3'),
    ('kujitegemea', 'self-reliance', 'ch12/kujitegemea.mp3'),
    ('mia', 'hundred (sg. and pl.)', 'ch12/mia.mp3'),
    ('mamia', 'hundred (collective plural)', 'ch12/mamia.mp3'),
    ('mwaka', 'year', 'ch12/mwaka.mp3'),
    ('miaka', 'years', 'ch12/miaka.mp3'),
    ('-tegemea', 'rely on, depend on', 'ch12/tegemea.mp3'),
# Somo la kumi na mbili: Msamiati 2
    ('bustani', 'garden (sg. and pl.)', 'ch12/bustani.mp3'),
    ('-chuma', 'to harvest, pick (fruits, vegetables)', 'ch12/chuma.mp3'),
    ('chungwa', 'orange', 'ch12/chungwa.mp3'),
    ('machungwa', 'oranges', 'ch12/machungwa.mp3'),
    ('ijapokuwa', 'even though', 'ch12/ijapokuwa.mp3'),
    ('jani', 'leaf', 'ch12/jani.mp3'),
    ('majani', 'leaves', 'ch12/majani.mp3'),
    ('kawaida', 'usual thing, custom', 'ch12/kawaida.mp3'),
    ('kitunguu', 'onion', 'ch12/kitunguu.mp3'),
    ('vitunguu', 'onions', 'ch12/vitunguu.mp3'),
    ('kwa kawaida', 'usually, customarily', 'ch12/kwa_kawaida.mp3'),
    ('kwa mfano', 'for example, as an example', 'ch12/kwa_mfano.mp3'),
    ('maziwa', 'milk (also: lake)', 'ch12/maziwa.mp3'),
    ('mboga', 'vegetable (sg. and pl.)', 'ch12/mboga.mp3'),
    ('mchungwa', 'orange tree', 'ch12/mchungwa.mp3'),
    ('michungwa', 'orange trees', 'ch12/michungwa.mp3'),
    ('mfano', 'example', 'ch12/mfano.mp3'),
    ('mifano', 'examples', 'ch12/mifano.mp3'),
    ('mgomba', 'banana plant', 'ch12/mgomba.mp3'),
    ('migomba', 'banana plants', 'ch12/migomba.mp3'),
    ('mkate', 'bread', 'ch12/mkate.mp3'),
    ('mikate', 'loaves of bread', 'ch12/mikate.mp3'),
    ('mingi', 'many, much, a lot of (for mi- words only)', 'ch12/mingi.mp3'),
    ('mmea', 'plant', 'ch12/mmea.mp3'),
    ('mimea', 'plants', 'ch12/mimea.mp3'),
    ('mti', 'tree', 'ch12/mti.mp3'),
    ('miti', 'trees', 'ch12/miti.mp3'),
    ('ndizi', 'banana (sg. and pl.)', 'ch12/ndizi.mp3'),
    ('nyanya', 'tomato (sg. and pl.)', 'ch12/nyanya.mp3'),
    ('-(ku)nywa', '(to) drink', 'ch12/kunywa.mp3'),
    ('-panda', 'to plant', 'ch12/panda.mp3'),
    ('-penda', 'like, love', 'ch12/penda.mp3'),
    ('-safisha', 'to clean', 'ch12/safisha.mp3'),
    ('sukari', 'sugar', 'ch12/sukari.mp3'),
    ('-tumia', 'to use', 'ch12/tumia.mp3'),
    ('tunda', 'fruit', 'ch12/tunda.mp3'),
    ('matunda', 'fruits', 'ch12/matunda.mp3'),
    ('-uza', 'sell', 'ch12/uza.mp3'),
    ('zao', 'produce, product (sg.)', 'ch12/zao.mp3'),
    ('mazao', 'produce, product (pl.)', 'ch12/mazao.mp3'),
# Somo la kumi na tatu: Msamiati 1
    ('jana', 'yesterday', 'ch13/jana.mp3'),
    ('leo asubuhi', 'this morning', 'ch13/leo_asubuhi.mp3'),
    ('mtihani', 'exam', 'ch13/mtihani.mp3'),
    ('mitihani', 'exams', 'ch13/mitihani.mp3'),
    ('nafasi', 'chance, opportunity, time (sg. and pl.)', 'ch13/nafasi.mp3'),
    ('(ku)wa', '(to) be', 'ch13/kuwa.mp3'),
    ('(ku)wa na', '(to) have', 'ch13/kuwa_na.mp3'),
# Somo la kumi na tatu: Msamiati 2
    ('duka', 'store, shop', 'ch13/duka.mp3'),
    ('maduka', 'stores, shops', 'ch13/maduka.mp3'),
    ('hata', 'up to, even', 'ch13/hata.mp3'),
    ('hili', 'this (for singular nouns with ma- plurals)', 'ch13/hili.mp3'),
    ('hindi', 'grain of corn', 'ch13/hindi.mp3'),
    ('mahindi', 'corn (pl.)', 'ch13/mahindi.mp3'),
    ('hivi', 'these (for plural nouns with vi- prefixes)', 'ch13/hivi.mp3'),
    ('ili', 'in order that', 'ch13/ili.mp3'),
    ('kadhaa', 'various', 'ch13/kadhaa.mp3'),
    ('kuna', 'there is/are', 'ch13/kuna.mp3'),
    ('mahali', 'place', 'ch13/mahali.mp3'),
    ('maji', 'water', 'ch13/maji.mp3'),
    ('mchungaji', 'herder', 'ch13/mchungaji.mp3'),
    ('wachungaji', 'herders', 'ch13/wachungaji.mp3'),
    ('mwenyeji', 'inhabitant', 'ch13/mwenyeji.mp3'),
    ('wenyeji', 'inhabitants', 'ch13/wenyeji.mp3'),
    ('mwuzaji', 'seller', 'ch13/mwuzaji.mp3'),
    ('wauzaji', 'sellers', 'ch13/wauzaji.mp3'),
    ('nyama', 'meat', 'ch13/nyama.mp3'),
    ('-oza', 'to rot, spoil', 'ch13/oza.mp3'),
    ('rafiki', 'friend (sg. and pl.)', 'ch13/rafiki.mp3'),
    ('marafiki', 'friends (collective plural)', 'ch13/marafiki.mp3'),
    ('upesi', 'quickly', 'ch13/upesi.mp3'),
    ('vinaoza', 'they are rotting (only for vi- plurals)', 'ch13/vinaoza.mp3'),
    ('-wekea', 'keep in, put in', 'ch13/wekea.mp3'),
# Somo la kumi na nne: Msamiati 1
    ('daftari', 'notebook (JI-)', 'ch14/daftari.mp3'),
    ('madaftari', 'notebooks (MA-)', 'ch14/madaftari.mp3'),
    ('kalamu', 'pencil, pen (N-)', 'ch14/kalamu.mp3'),
    ('kitabu', 'book (KI-)', 'ch14/kitabu.mp3'),
    ('vitabu', 'books (VI-)', 'ch14/vitabu.mp3'),
    ('kiti', 'chair (KI-)', 'ch14/kiti.mp3'),
    ('viti', 'chairs (VI-)', 'ch14/viti.mp3'),
    ('meza', 'table (N-)', 'ch14/meza.mp3'),
    ('mfuko', 'bag (M-)', 'ch14/mfuko.mp3'),
    ('mifuko', 'bags (MI-)', 'ch14/mifuko.mp3'),
    ('nje', 'outside', 'ch14/nje.mp3'),
    ('pengine', 'perhaps', 'ch14/pengine.mp3'),
    ('-potea', 'be lost', 'ch14/potea.mp3'),
    ('shati', 'shirt (JI-)', 'ch14/shati.mp3'),
    ('mashati', 'shirts (MA-)', 'ch14/mashati.mp3'),
    ('-vunjika', 'be broken', 'ch14/vunjika.mp3'),
    ('wino', 'ink (U-)', 'ch14/wino.mp3'),
# Somo la kumi na nne: Msamiati 2
    ('aina', 'kind (N-)', 'ch14/aina.mp3'),
    ('barabara', 'road (N-)', 'ch14/barabara.mp3'),
    ('chombo', 'furniture, tool, etc. (KI-)', 'ch14/chombo.mp3'),
    ('vyombo', 'furniture (pl.), tools, etc. (VI-)', 'ch14/vyombo.mp3'),
    ('-dogo', 'little (adj.)', 'ch14/dogo.mp3'),
    ('embe', 'mango (JI-)', 'ch14/embe.mp3'),
    ('maembe', 'mango (MA-)', 'ch14/maembe.mp3'),
    ('gazeti', 'newspaper (JI-)', 'ch14/gazeti.mp3'),
    ('magazeti', 'newspapers (MA-)', 'ch14/magazeti.mp3'),
    ('hali kadhalika', 'likewise', 'ch14/hali_kadhalika.mp3'),
    ('kadha wa kadha', 'so forth, so on, etc.', 'ch14/kadha_wa_kadha.mp3'),
    ('karatasi', 'paper (N-)', 'ch14/karatasi.mp3'),
    ('kiatu', 'shoe (KI-)', 'ch14/kiatu.mp3'),
    ('viatu', 'shoes (VI-)', 'ch14/viatu.mp3'),
    ('kitu', 'thing (KI-)', 'ch14/kitu.mp3'),
    ('vitu', 'things (VI-)', 'ch14/vitu.mp3'),
    ('kiwanda', 'factory (KI-)', 'ch14/kiwanda.mp3'),
    ('viwanda', 'factory (VI-)', 'ch14/viwanda.mp3'),
    ('-kubwa', 'big, large (adj.)', 'ch14/kubwa.mp3'),
    ('mengine', 'other, some (MA-)', 'ch14/mengine.mp3'),
    ('mtaa', 'neighborhood, section of town, street (M-)', 'ch14/mtaa.mp3'),
    ('mitaa', 'neighborhoods, sections of town, streets (MI-)', 'ch14/mitaa.mp3'),
    ('-ondoka', 'to leave, depart a place', 'ch14/ondoka.mp3'),
    ('-panda', 'go up, climb, ascend', 'ch14/panda.mp3'),
    ('-patikana', 'be available, be obtainable', 'ch14/patikana.mp3'),
    ('-potea', 'be lost', 'ch14/potea.mp3'),
    ('pengi', 'many places (PA-)', 'ch14/pengi.mp3'),
    ('soksi', 'socks (N-)', 'ch14/soksi.mp3'),
    ('suruali', 'trousers, pants (N-)', 'ch14/suruali.mp3'),
    ('-tengeneza', 'fix, make, repair', 'ch14/tengeneza.mp3'),
    ('-tengenezwa', 'be fixed, be made, be repaired', 'ch14/tengenezwa.mp3'),
    ('vazi', 'article of clothing (JI-)', 'ch14/vazi.mp3'),
    ('mavazi', 'clothing (MA-)', 'ch14/mavazi.mp3'),
# Somo la kumi na nne: Noun class system
    ('a- / yu- prefix', 'Class 1 (M-) positive', None),
    ('ha- / hayu- prefix', 'Class 1 (M-) negative', None),
    ('wa- prefix', 'Class 2 (WA-) positive', None),
    ('hawa- prefix', 'Class 2 (WA-) negative', None),
    ('u- prefix', 'Classes 3 (M-), 11 (U-), 14 (U-) positive', None),
    ('hau- prefix', 'Classes 3 (M-), 11 (U-), 14 (U-) negative', None),
    ('i-prefix', 'Classes 4 (MI-), 9 (N-) positive', None),
    ('hai- prefix', 'Class 4 (MI-), 9 (N-) negative', None),
    ('li- prefix', 'Class 5 (JI-) positive', None),
    ('hali- prefix', 'Class 5 (JI-) negative', None),
    ('ya- prefix', 'Class 6 (MA-) positive', None),
    ('haya- prefix', 'Class 6 (MA-) negative', None),
    ('ki- prefix', 'Class 7 (KI-) positive', None),
    ('haki- prefix', 'Class 7 (KI-) negative', None),
    ('vi- prefix', 'Class 8 (VI-) positive', None),
    ('havi- prefix', 'Class 8 (VI-) negative', None),
    ('zi- prefix', 'Class 10 (N-) positive', None),
    ('hazi- prefix', 'Class 10 (N-) negative', None),
    ('ku- prefix', 'Classes 15 (KU-), 17 (KU-) positive', None),
    ('haku- prefix', 'Classes 15 (KU-), 17 (KU-) negative', None),
    ('pa- prefix', 'Class 16 (PA-) positive', None),
    ('hapa- prefix', 'Class 16 (PA-) negative', None),
    ('m(u)- prefix', 'Class 18 (MU-) positive', None),
    ('ham(u)- prefix', 'Class 18 (MU-) negative', None),
# Somo la kumi na tano: Msamiati 1
    ('-ambia', 'say to, tell', 'ch15/ambia.mp3'),
    ('afisi', 'office', 'ch15/afisi.mp3'),
    ('bado', 'yet, still', 'ch15/bado.mp3'),
    ('bila', 'without', 'ch15/bila.mp3'),
    ('bila shaka', 'without doubt, undoubtedly', 'ch15/bila_shaka.mp3'),
    ('humu', 'in this place, in here, here inside', 'ch15/humu.mp3'),
    ('-ona', 'see', 'ch15/ona.mp3'),
    ('shaka', 'doubt, uncertainty', 'ch15/shaka.mp3'),
    ('wiki', 'week', 'ch15/wiki.mp3'),
    ('jumamosi', 'Saturday', 'ch15/jumamosi.mp3'),
    ('jumapili', 'Sunday', 'ch15/jumapili.mp3'),
    ('jumatatu', 'Monday', 'ch15/jumatatu.mp3'),
    ('jumanne', 'Tuesday', 'ch15/jumanne.mp3'),
    ('jumatano', 'Wednesday', 'ch15/jumatano.mp3'),
    ('alhamisi', 'Thursday', 'ch15/alhamisi.mp3'),
    ('ijumaa', 'Friday', 'ch15/ijumaa.mp3'),
# Somo la kumi na tano: Msamiati 2
    ('-anzia', 'begin with', 'ch15/anzia.mp3'),
    ('bei', 'price', 'ch15/bei.mp3'),
    ('chai kavu', 'plain tea', 'ch15/chai_kavu.mp3'),
    ('-chemsha', 'boil', 'ch15/chemsha.mp3'),
    ('-chemshwa', 'be boiled', 'ch15/chemshwa.mp3'),
    ('dunia', 'world', 'ch15/dunia.mp3'),
    ('-enda madukani', 'go shopping', 'ch15/enda_madukani.mp3'),
    ('jiko', 'stove, kitchen', 'ch15/jiko.mp3'),
    ('meko', 'stoves, kitchens', 'ch15/meko.mp3'),
    ('-kavu', 'dry', 'ch15/kavu.mp3'),
    ('kijiko', 'spoon', 'ch15/kijiko.mp3'),
    ('vijiko', 'spoons', 'ch15/vijiko.mp3'),
    ('kikombe', 'cup', 'ch15/kikombe.mp3'),
    ('vikombe', 'cups', 'ch15/vikombe.mp3'),
    ('kuanzia', 'beginning, to begin with', 'ch15/kuanzia.mp3'),
    ('kwamba', 'that (conjunction)', 'ch15/kwamba.mp3'),
    ('mwanzo', 'beginning, at first', 'ch15/mwanzo.mp3'),
    ('mianzo', 'beginnings', 'ch15/mianzo.mp3'),
    ('mwisho', 'end', 'ch15/mwisho.mp3'),
    ('miisho', 'ends', 'ch15/miisho.mp3'),
    ('mwishowe', 'finally', 'ch15/mwishowe.mp3'),
    ('rahisi', 'cheap, easy', 'ch15/rahisi.mp3'),
    ('senti', 'cent', 'ch15/senti.mp3'),
    ('-shuka', 'go down, get down, descend', 'ch15/shuka.mp3'),
    ('vyote', 'all (VI-)', 'ch15/vyote.mp3'),
# Somo la kumi na sita: Msamiati 1
    ('-a nani?', 'whose?', 'ch16/a_nani.mp3'),
    ('-ake', 'his, her(s), its', 'ch16/ake.mp3'),
    ('-ako', 'your, yours', 'ch16/ako.mp3'),
    ('-angu', 'my, mine', 'ch16/angu.mp3'),
    ('-ao', 'their, theirs', 'ch16/ao.mp3'),
    ('-bovu', 'rotten, bad', 'ch16/bovu.mp3'),
    ('chama', 'society, organization, party', 'ch16/chama.mp3'),
    ('vyama', 'societies, organizations, parties', 'ch16/vyama.mp3'),
    ('-enu', 'your, yours pl.', 'ch16/enu.mp3'),
    ('-etu', 'our, ours', 'ch16/etu.mp3'),
    ('mkono', 'arm, hand', 'ch16/mkono.mp3'),
    ('mikono', 'arms, hands', 'ch16/mikono.mp3'),
    ('mkononi mwangu', 'on my arm/wrist', 'ch16/mkononi_mwangu.mp3'),
    ('-ondoa', 'clear away', 'ch16/ondoa.mp3'),
    ('rangi', 'color', 'ch16/rangi.mp3'),
    ('umoja', 'unity', 'ch16/umoja.mp3'),
    ('-zuri', 'good, nice, beautiful', 'ch16/zuri.mp3'),
# Somo la kumi na sita: Msamiati 2
    ('-a juu', 'high, upper', 'ch16/a_juu.mp3'),
    ('baadaye', 'afterwards', 'ch16/baadaye.mp3'),
    ('chumba/vy-', 'room', 'ch16/chumba_vyumba.mp3'),
    ('damu', 'blood (N-, usually sg.)', 'ch16/damu.mp3'),
    ('haragwe/ma-', 'bean', 'ch16/haragwe_maharagwe.mp3'),
    ('irio', 'type of food from Kikuyu', 'ch16/irio.mp3'),
    ('kahawa', 'coffee (N-, usually sg.)', 'ch16/kahawa.mp3'),
    ('-kamuliwa', 'be squeezed', 'ch16/kamuliwa.mp3'),
    ('kiazi/vi-', 'potato', 'ch16/kiazi_viazi.mp3'),
    ('kinywaji/vi-', 'drink, beverage', 'ch16/kinywaji_vinywaji.mp3'),
    ('-kuna', 'scratch, grate', 'ch16/kuna.mp3'),
    ('kwa urahisi', 'easily', 'ch16/kwa_urahisi.mp3'),
    ('toke/ma-', 'type of banana (from Luganda)', 'ch16/toke_matoke.mp3'),
    ('-mea', 'grow (plants)', 'ch16/mea.mp3'),
    ('mnanasi/mi-', 'pineapple plant', 'ch16/mnanasi_minanasi.mp3'),
    ('mnzai/mi-', 'coconut palm', 'ch16/mnazi_minazi.mp3'),
    ('mpapayu/mi-', 'papaya tree', 'ch16/mpapayu_mipapayu.mp3'),
    ('mtama/mi-', 'millet', 'ch16/mtama_mitama.mp3'),
    ('muhimu', 'important (invariable adj.)', 'ch16/muhimu.mp3'),
    ('muhogo/mi-', 'cassava', 'ch16/muhogo_mihogo.mp3'),
    ('mwembe/mi-', 'mango tree', 'ch16/mwembe_miembe.mp3'),
    ('nanasi/ma-', 'pineapple', 'ch16/nanasi_mananasi.mp3'),
    ('nazi', 'coconut (N-)', 'ch16/nazi.mp3'),
    ('ng\'ombe', 'cow, cattle (N-)', 'ch16/ngombe.mp3'),
    ('mnyama/wa-', 'animal', 'ch16/mnyama_wanyama.mp3'),
    ('safi', 'clean, pure (invariable adj.)', 'ch16/safi.mp3'),
    ('tayari', 'ready (invariable adj.)', 'ch16/tayari.mp3'),
    ('-tia', 'put in, place, set into', 'ch16/tia.mp3'),
    ('-tiwa', 'be put in', 'ch16/tiwa.mp3'),
    ('tofauti', 'different (invariable adj.)', 'ch16/tofauti.mp3'),
    ('tui/ma-', 'coconut milk', 'ch16/tui_matui.mp3'),
    ('ugali', 'porridge-like food', 'ch16/ugali.mp3'),
    ('upande/pande', 'side, section, area (U-/N-)', 'ch16/upande_pande.mp3'),
    ('urahisi', 'ease, easiness, easy (U-)', 'ch16/urahisi.mp3'),
    ('wali', 'cooked rice (U-)', 'ch16/wali.mp3'),
    ('wali wa nazi', 'cooked rice with coconut tui', 'ch16/wali_wa_nazi.mp3'),
# Somo la kumi na saba: Msamiati 1
    ('ala!', 'oh! (expression of surprise, emphasize last syllable)',
    ('-andika', 'write', 'ch17/andika.mp3'),
    ('bado', 'yet, still; not yet', 'ch17/bado.mp3'),
    ('-leta', 'bring', 'ch17/leta.mp3'),
    ('lini?', 'when?', 'ch17/lini.mp3'),
    ('mbona?', 'why? (reproachful sense)', 'ch17/mbona.mp3'),
    ('-pa', 'give (always used w/ obj prefix, usually person)', 'ch17/pa.mp3'),
    ('-taka', 'want', 'ch17/taka.mp3'),
    ('yote', 'all (Classes 4, 6, 9)', 'ch17/yote.mp3'),
# Somo la kumi na saba: Msamiati 2
    ('-a kienyeji', 'traditional, local, native', 'ch17/a_kienyeji.mp3'),
    ('-a mwisho', 'last', 'ch17/a_mwisho.mp3'),
    ('-a zamani', 'old, former, ancient', 'ch17/a_zamani.mp3'),
    ('-cheza', 'play, dance, etc.', 'ch17/cheza.mp3'),
    ('-cheza ngoma', 'dance and sing', 'ch17/cheza_ngoma.mp3'),
    ('-chukua', 'take, carry, etc.', 'ch17/chukua.mp3'),
    ('haijawa', 'it was not yet', 'ch17/haijawa.mp3'),
    ('halafu', 'later, and then, afterwards', 'ch17/halafu.mp3'),
    ('hapo', 'then, there, then at that time', 'ch17/hapo.mp3'),
    ('hapo mwanzoni', 'there in the beginning, etc.', 'ch17/hapo_mwanzoni.mp3'),
    ('hivi karibuni', 'recently', 'ch17/hivi_karibuni.mp3'),
    ('hotuba', 'speech (N-)', 'ch17/hotuba.mp3'),
    ('jamhuri', 'republic (N-)', 'ch17/jamhuri.mp3'),
    ('koloni', 'colonies (N-)', 'ch17/koloni.mp3'),
    ('korongo', 'crane, stork (MA-)', 'ch17/korongo.mp3'),
    ('-kuta', 'find', 'ch17/kuta.mp3'),
    ('madaraka', 'responsibilities, duties, obligations (usually MA-)',
    ('Mjerumani/wa-', 'German person', 'ch17/mjerumani_wajerumani.mp3'),
    ('mnamo', 'by, in, on (time only, usually followed by date)',
    ('Mreno/wa-', 'Portuguese person', 'ch17/mreno_wareno.mp3'),
    ('muungano/mi-', 'unity, alliance', 'ch17/muungano_miungano.mp3'),
    ('Mwarabu/wa-', 'Arab person', 'ch17/mwarabu_waarabu.mp3'),
    ('mwanasiasa/wa-', 'politician', 'ch17/mwanasiasa_wanasiasa.mp3'),
    ('mwezi/mi-', 'month (also moon)', 'ch17/mwezi_miezi.mp3'),
    ('Mwingereza/wa-', 'English person', 'ch17/mwingereza_waingereza.mp3'),
    ('ndefu', 'long (N- adj.)', 'ch17/ndefu.mp3'),
    ('ngoma', 'dance, drum, dancing, singing (N-)', 'ch17/ngoma.mp3'),
    ('-sherehekea', 'celebrate', 'ch17/sherehekea.mp3'),
    ('siasa', 'politics', 'ch17/siasa.mp3'),
    ('sikukuu', 'holiday (N-)', 'ch17/sikukuu.mp3'),
    ('taifa/ma-', 'nation', 'ch17/taifa_mataifa.mp3'),
    ('Tanganyika', 'former name of Tanzania', 'ch17/tanganyika.mp3'),
    ('tarehe', 'date (N-)', 'ch17/tarehe.mp3'),
    ('-tawala', 'rule (verb)', 'ch17/tawala.mp3'),
    ('-toa hotuba', 'give speech', 'ch17/toa_hotuba.mp3'),
    ('ukoloni', 'colonialism (U-/N-)', 'ch17/ukoloni.mp3'),
    ('-ungana', 'join together, unite', 'ch17/ungana.mp3'),
    ('Unguja', 'traditional name of Zanzibar', 'ch17/unguja.mp3'),
    ('utawala', 'rule (noun, U-)', 'ch17/utawala.mp3'),
    ('vita', 'war (VI- only, no sg.)', 'ch17/vita.mp3'),
    ('Vita vya Kwanza vya Dunia', 'World War I',
    ('zamani', 'long ago, the past', 'ch17/zamani.mp3'),
# Somo la kumi na nane: Msamiati 1
    ('hewa', 'air, atmosphere', 'ch18/hewa.mp3'),
    ('jumba/ma-', 'building', 'ch18/jumba_majumba.mp3'),
    ('mbingu', 'sky, heavens (N-)', 'ch18/mbingu.mp3'),
    ('mji mkuu/mi-', 'capital city', 'ch18/mji_mkuu_miji_mikuu.mp3'),
    ('muhula/mi-', 'period of time, i.e school year', 'ch18/muhula_mihula.mp3'),
    ('utamaduni', 'culture', 'ch18/utamaduni.mp3'),
    ('vile vile', 'also', 'ch18/vile_vile.mp3'),
    ('-baya', 'bad', 'ch18/baya.mp3'),
    ('-chafu', 'dirty', 'ch18/chafu.mp3'),
    ('-ekundu', 'red, bright in color', 'ch18/ekundu.mp3'),
    ('-eupe', 'white, light in color', 'ch18/eupe.mp3'),
    ('-eusi', 'black, dark in color', 'ch18/eusi.mp3'),
    ('-fupi', 'short', 'ch18/fupi.mp3'),
    ('-gumu', 'hard', 'ch18/gumu.mp3'),
    ('-ingi', 'much, many', 'ch18/ingi.mp3'),
    ('-ingine', 'other, another, some', 'ch18/ingine.mp3'),
    ('-kuu', 'major, chief, important', 'ch18/kuu.mp3'),
    ('-ngapi?', 'how many? (adj)', 'ch18/ngapi.mp3'),
    ('-refu', 'long, tall', 'ch18/refu.mp3'),
# Somo la kumi na nane: Msamiati 2
    ('Arabuni', 'Arabia', 'ch18/arabuni.mp3'),
    ('baadhi ya', 'some of', 'ch18/baadhi_ya.mp3'),
    ('Bara Hindi', 'India', 'ch18/bara_hindi.mp3'),
    ('-hesabu', 'to count', 'ch18/hesabu.mp3'),
    ('-hesabiwa', 'to be counted, be estimated', 'ch18/hesabiwa.mp3'),
    ('idhaa', 'broadcast (N-)', 'ch18/idhaa.mp3'),
    ('-ishi', 'to live', 'ch18/ishi.mp3'),
    ('kando', 'side, edge, margin, bank, shore', 'ch18/kando.mp3'),
    ('Kibantu', 'Bantu language family', 'ch18/kibantu.mp3'),
    ('maana', 'meaning, cause, reason', 'ch18/maana.mp3'),
    ('matamshi', 'pronunciation', 'ch18/matamshi.mp3'),
    ('milioni', 'million', 'ch18/milioni.mp3'),
    ('msemaji/wa-', 'speaker', 'ch18/msemaji_wasemaji.mp3'),
    ('Msumbiji', 'Mozambique', 'ch18/msumbiji.mp3'),
    ('neno/ma-', 'word, something', 'ch18/neno_maneno.mp3'),
    ('redio', 'radio (N-)', 'ch18/redio.mp3'),
    ('-sikika', 'to be heard', 'ch18/sikika.mp3'),
    ('-tambua', 'to recognize', 'ch18/tambua.mp3'),
    ('-tambuliwa', 'to be recognized', 'ch18/tambuliwa.mp3'),
    ('-tamka', 'to pronounce', 'ch18/tamka.mp3'),
    ('-tokana', 'to come from, derive from', 'ch18/tokana.mp3'),
    ('Ufaransa', 'France', 'ch18/ufaransa.mp3'),
    ('Uingereza', 'England', 'ch18/uingereza.mp3'),
    ('Ulaya', 'Europe', 'ch18/ulaya.mp3'),
    ('ulimwengu', 'world', 'ch18/ulimwengu.mp3'),
    ('umaarufu', 'fame, renown', 'ch18/umaarufu.mp3'),
    ('umuhimu', 'importance', 'ch18/umuhimu.mp3'),
    ('Ureno', 'Portugal', 'ch18/ureno.mp3'),
    ('Urusi', 'Russia', 'ch18/urusi.mp3'),
    ('wingi', 'abundance (pl.)', 'ch18/wingi.mp3'),
    ('zaidi ya', 'more than', 'ch18/zaidi_ya.mp3'),
    ('ziwa/ma-', 'lake (also: milk)', 'ch18/ziwa_maziwa.mp3'),
# Somo la kumi na tisa: Msamiati 1
    ('-azima', 'borrow', 'ch19/azima.mp3'),
    ('eeeh', 'affirmative exclamation "yes"', 'ch19/eeeh.mp3'),
    ('kidole/vi-', 'finger', 'ch19/kidole_vidole.mp3'),
    ('-lala', 'sleep, lie down', 'ch19/lala.mp3'),
    ('maktaba', 'library (N-)', 'ch19/maktaba.mp3'),
    ('mwulize', 'ask her/him', 'ch19/mwulize.mp3'),
    ('-onyesha', 'show', 'ch19/onyesha.mp3'),
    ('-onyesha kidole', 'point finger', 'ch19/onyesha_kidole.mp3'),
    ('-pi?', 'which? (of alternatives)', 'ch19/pi.mp3'),
    ('ubao/mbao', 'board, plank', 'ch19/ubao_mbao.mp3'),
    ('ukuta/kuta', 'wall', 'ch19/ukuta_kuta.mp3'),
# Somo la kumi na ishirini: Msamiati 2
    ('adabu', 'good manners, behavior (N-)', 'ch19/adabu.mp3'),
    ('akili', 'intelligence (N-)', 'ch19/akili.mp3'),
    ('babu', 'grandfather', 'ch19/babu.mp3'),
    ('chuki', 'hate (N-)', 'ch19/chuki.mp3'),
    ('desturi', 'custom (N-)', 'ch19/desturi.mp3'),
    ('elimu', 'education (N-)', 'ch19/elimu.mp3'),
    ('-ema', 'good (morally, ie njema)', 'ch19/ema.mp3'),
    ('-enyewe', 'oneself', 'ch19/enyewe.mp3'),
    ('hadithi', 'story (N-)', 'ch19/hadithi.mp3'),
    ('hapo kale', 'then long ago', 'ch19/hapo_kale.mp3'),
    ('hapo zamani', 'then long ago', 'ch19/hapo_zamani.mp3'),
    ('kale', 'the past, old/ancient times', 'ch19/kale.mp3'),
    ('kimya', 'silence, silent, silently', 'ch19/kimya.mp3'),
    ('kwenye', 'on, at, in (locative ku-, "-enye" having)',
    ('-lala usingizi', 'sleep a sleep', 'ch19/lala_usingizi.mp3'),
    ('maisha', 'life (MA-)', 'ch19/maisha.mp3'),
    ('mapenzi', 'love (MA-)', 'ch19/mapenzi.mp3'),
    ('mnyama/wa-', 'animal', 'ch19/mnyama_wanyama.mp3'),
    ('mpaka', 'up to, until', 'ch19/mpaka.mp3'),
    ('namna', 'kind, sort, type; way, manner', 'ch19/namna.mp3'),
    ('njema', 'good (N- adj)', 'ch19/njema.mp3'),
    ('nyanya', 'grandmother; tomato', 'ch19/nyanya.mp3'),
    ('paliondokea', '(once upon a time) there was',
    ('papo hapo', 'then and there, right then, right there',
    ('-toa', 'give, offer, present', 'ch19/toa.mp3'),
    ('-toa hadithi', 'tell a story', 'ch19/toa_hadithi.mp3'),
    ('-tolea hadithi', 'tell a story to', 'ch19/tolea_hadithi.mp3'),
    ('-toleana hadithi', 'tell each other a story',
    ('-tolewa hadithi', 'be told a story', 'ch19/tolewa_hadithi.mp3'),
    ('ubaya', 'badness, evil', 'ch19/ubaya.mp3'),
    ('ujinga', 'stupidity (U-)', 'ch19/ujinga.mp3'),
    ('usingizi', 'sleep (U-)', 'ch19/usingizi.mp3'),
    ('utoaji wa hadithi', 'story telling', 'ch19/utoaji_wa_hadithi.mp3'),
    ('uzuri', 'goodness, beauty (U- adj)', 'ch19/uzuri.mp3'),
    ('-zima', 'whole, entire', 'ch19/zima.mp3'),
# Somo la ishirini: Msamiati 1
    ('daktari/ma-', 'doctor', 'ch20/daktari_madaktari.mp3'),
    ('dawa', 'medicine (N-)', 'ch20/dawa.mp3'),
    ('fulani', 'so-and-so, used when name of person unknwon', 'ch20/fulani.mp3'),
    ('homa', 'fever, malarai (N-)', 'ch20/homa.mp3'),
    ('jambo/mambo', 'matter, thing, affair', 'ch20/jambo_mambo.mp3'),
    ('lazima', 'necessity, obligation', 'ch20/lazima.mp3'),
    ('mpira/mi-', 'ball', 'ch20/mpira_mipira.mp3'),
    ('-piga', 'hit', 'ch20/piga.mp3'),
    ('-piga sindano', 'give injection', 'ch20/piga_sindano.mp3'),
    ('-pima', 'measure, examine', 'ch20/pima.mp3'),
    ('pole', 'slowly, gently, softly, quietly / expression of sympathy',
    ('sindano', 'needle', 'ch20/sindano.mp3'),
    ('ugonjwa/ma-', 'sickness', 'ch20/ugonjwa_magonjwa.mp3'),
# Somo la ishirini: Msamiati 2
    ('-cheka', 'laugh', 'ch20/cheka.mp3'),
    ('ghafula', 'suddenly', 'ch20/ghafula.mp3'),
    ('hamu', 'desire (N-)', 'ch20/hamu.mp3'),
    ('hivyo', 'those things referred to, such things', 'ch20/hivyo.mp3'),
    ('-ishia', 'finish up', 'ch20/ishia.mp3'),
    ('kobe', 'tortoise', 'ch20/kobe.mp3'),
    ('-kubali', 'agree, accept', 'ch20/kubali.mp3'),
    ('kuliko', 'more than', 'ch20/kuliko.mp3'),
    ('lo!', 'exclamation', 'ch20/lo.mp3'),
    ('-maliza', 'finish', 'ch20/maliza.mp3'),
    ('mashindano', 'competition', 'ch20/mashindano.mp3'),
    ('mbio', 'speed; race', 'ch20/mbio.mp3'),
    ('mjanja/wa-', 'clever person', 'ch20/mjanja_wajanja.mp3'),
    ('mwendo/mi-', 'way, manner of going, pace', 'ch20/mwendo_miendo.mp3'),
    ('-ona lo', 'be surprised/astonished', 'ch20/ona_lo.mp3'),
    ('-pita', 'pass', 'ch20/pita.mp3'),
    ('polepole', 'slowly slowly', 'ch20/polepole.mp3'),
    ('-pumzika', 'rest', 'ch20/pumzika.mp3'),
    ('samahani', 'pardon me, excuse me, forgive me', 'ch20/samahani.mp3'),
    ('-shinda', 'overcome, conquer, win, surpass, etc.',
    ('-shindana', 'compete with one another', 'ch20/shindana.mp3'),
    ('-sikia', 'hear', 'ch20/sikia.mp3'),
    ('-sikiliza', 'listen', 'ch20/sikiliza.mp3'),
    ('sungura', 'hare', 'ch20/sungura.mp3'),
    ('-tangulia', 'go first', 'ch20/tangulia.mp3'),
    ('taratibu', 'order, orderliness, care, carefulness', 'ch20/taratibu.mp3'),
# Somo la ishirini na moja: Msamiati 1
    ('-enye', 'having, possessing', 'ch21/enye.mp3'),
    ('sifa', 'good reputation, praise', 'ch21/sifa.mp3'),
    ('ujuzi', 'knowledge, experience (U-)', 'ch21/ujuzi.mp3'),
    ('utaratibu', 'care, order, carefulness, etc.', 'ch21/utaratibu.mp3'),
# Somo la ishirini na moja: Msamiati 2
    ('afadhali', 'better, preferable', 'ch21/afadhali.mp3'),
    ('damu', 'blood', 'ch21/damu.mp3'),
    ('-enda zake', 'go one\'s way', 'ch21/enda_zake.mp3'),
    ('hai', 'alive', 'ch21/hai.mp3'),
    ('hekima', 'common sense (N-)', 'ch21/hekima.mp3'),
    ('hodari', 'brave, clever, skillful', 'ch21/hodari.mp3'),
    ('-kali', 'sharp, bitter, fierce, etc.', 'ch21/kali.mp3'),
    ('-kataa', 'refuse, say no', 'ch21/kataa.mp3'),
    ('kwao', 'their home, their place', 'ch21/kwao.mp3'),
    ('maarifa', 'information, knowledge, facts (MA- only)',
    ('mara moja', 'at once', 'ch21/mara_moja.mp3'),
    ('mfu/wa-', 'dead person', 'ch21/mfu_wafu.mp3'),
    ('mfupa/mi-', 'bone', 'ch21/mfupa_mifupa.mp3'),
    ('miongoni mwa', 'among', 'ch21/miongoni_mwa.mp3'),
    ('mwenzi/w-', 'companion', 'ch21/mwenzi_wenzi.mp3'),
    ('mwenzao', 'their companion (mwenzi+wao)', 'ch21/mwenzao.mp3'),
    ('wenzake', 'his companion (wenzi+wake)', 'ch21/wenzake.mp3'),
    ('ngozi', 'skin (N-)', 'ch21/ngozi.mp3'),
    ('pori/ma-', 'wilderness, bush, uninhabited place',
    ('-rudisha', 'return (cause to return; transitive)',
    ('-rudishia', 'return to/for (i.e. return something to someone',
    ('-ruka', 'fly, jump', 'ch21/ruka.mp3'),
    ('-rukia', 'fly at, jump at', 'ch21/rukia.mp3'),
    ('simba', 'lion (N-)', 'ch21/simba.mp3'),
    ('-tunza', 'care for', 'ch21/tunza.mp3'),
    ('-ua', 'kill', 'ch21/ua.mp3'),
    ('uhai', 'principle of life, state of being alive', 'ch21/uhai.mp3'),
    ('uhodari', 'courage, skill', 'ch21/uhodari.mp3'),
    ('uzima', 'wholeness', 'ch21/uzima.mp3'),
    ('wale', 'those; the', 'ch21/wale.mp3'),
    ('-weka', 'put down', 'ch21/weka.mp3'),
    ('yule', 'that; the', 'ch21/yule.mp3'),
# Somo la ishirini na mbili: Msamiati 1
    ('juu', 'above, high, up, etc.', 'ch22/juu.mp3'),
    ('chini', 'down, below, under, etc.', 'ch22/chini.mp3'),
    ('kanzu', 'gown worn by men, usually long and white', 'ch22/kanzu.mp3'),
    ('mbele ya', 'in front of, beyond', 'ch22/mbele_ya.mp3'),
    ('mlango/mi-', 'door', 'ch22/mlango_milango.mp3'),
    ('nyuma ya', 'behind, in back of, etc.', 'ch22/nyuma_ya.mp3'),
    ('picha', 'picture (N-)', 'ch22/picha.mp3'),
    ('sawasawa', 'correctly, ok, alright', 'ch22/sawasawa.mp3'),
# Somo la ishirini na mbili: Msamiati 2
    ('-alika', 'invite', 'ch22/alika.mp3'),
    ('-ambiwa', 'be told', 'ch22/ambiwa.mp3'),
    ('arusi', 'wedding (N-)', 'ch22/arusi.mp3'),
    ('asili', 'origin (N-)', 'ch22/asili.mp3'),
    ('badala ya', 'instead of', 'ch22/badala_ya.mp3'),
    ('dini', 'religion (N-)', 'ch22/dini.mp3'),
    ('-fuata', 'follow', 'ch22/fuata.mp3'),
    ('-funga', 'tie, close, shut, etc.', 'ch22/funga.mp3'),
    ('-funga ndoa', 'tie the knot (marry)', 'ch22/funga_ndoa.mp3'),
    ('kadhi/ma-', 'Moslem judge', 'ch22/kadhi_makadhi.mp3'),
    ('kanisa/ma-', 'church', 'ch22/kanisa_makanisa.mp3'),
    ('karamu', 'feast (N-)', 'ch22/karamu.mp3'),
    ('kasisi/ma-', 'pastor/s', 'ch22/kasisi_makasisi.mp3'),
    ('kiasili', 'traditional, original, way', 'ch22/kiasili.mp3'),
    ('kidini', 'religious way', 'ch22/kidini.mp3'),
    ('kienyeji', 'native/local way, custom', 'ch22/kienyeji.mp3'),
    ('kihindi', 'Indian way, custom, religion, language', 'ch22/kihindi.mp3'),
    ('kiislamu', 'Moslem way, custom, religion, language', 'ch22/kiislamu.mp3'),
    ('kikristo', 'Christian way, custom, religion, language', 'ch22/kikristo.mp3'),
    ('kiyahudi', 'Jewish way, custom, religion, language', 'ch22/kiyahudi.mp3'),
    ('-kubaliwa', 'be accepted/allowed', 'ch22/kubaliwa.mp3'),
    ('kufuata', 'according to', 'ch22/kufuata.mp3'),
    ('kuliko', 'more than', 'ch22/kuliko.mp3'),
    ('mahari', 'dowry (N-)', 'ch22/mahari.mp3'),
    ('Mkristo/Wa-', 'Christian', 'ch22/mkristo_wakristo.mp3'),
    ('mpango/mi-', 'plan/s', 'ch22/mpango_mipango.mp3'),
    ('mjumbe/wa-', 'representative/s', 'ch22/mjumbe_wajumbe.mp3'),
    ('msichana/wa-', 'girl/s', 'ch22/msichana_wasichana.mp3'),
    ('msikiti/mi-', 'mosque/s', 'ch22/msikiti_misikiti.mp3'),
    ('mvulana/wa-', 'boy/s', 'ch22/mvulana_wavulana.mp3'),
    ('Mwislamu/Wa-', 'Muslim', 'ch22/mwislamu_waislamu.mp3'),
    ('n.k.', 'etc, so on: abbrev for "na kadhalika"',
    ('ndoa', 'marriage', 'ch22/ndoa.mp3'),
    ('-oa', 'marry (said of man)', 'ch22/oa.mp3'),
    ('-olewa', 'marry (said of woman)', 'ch22/olewa.mp3'),
    ('-oana', 'marry each other', 'ch22/oana.mp3'),
    ('-ozwa', 'be married by (someone)', 'ch22/ozwa.mp3'),
    ('padri/ma-', 'priest/s', 'ch22/padri_mapadri.mp3'),
    ('-peleka', 'send', 'ch22/peleka.mp3'),
    ('pekee', 'alone, solitary', 'ch22/pekee.mp3'),
    ('posa/ma-', 'proposal/s', 'ch22/posa_maposa.mp3'),
    ('-posa', 'engage, become engaged', 'ch22/posa.mp3'),
    ('shekhe/ma-', 'Muslim elder, ruler, sheikh, teacher',
    ('sherehe', 'celebration (N-)', 'ch22/sherehe.mp3'),
    ('sheria', 'law (N-)', 'ch22/sheria.mp3'),
    ('-tazama', 'look at', 'ch22/tazama.mp3'),
    ('tofauti na', 'different from', 'ch22/tofauti_na.mp3'),
# Somo la ishirini na tatu: Msamiati 1 and 2
    ('-fungua', 'open, unfasten, untie', 'ch23/fungua.mp3'),
    ('korti/ma-', 'court/s', 'ch23/korti_makorti.mp3'),
    ('-sahau', 'forget', 'ch23/sahau.mp3'),
    ('-andaliwa', 'be served (food)', 'ch23/andaliwa.mp3'),
    ('bibi arusi', 'bride', 'ch23/bibi_arusi.mp3'),
    ('biarusi', 'bride (abbrev.)', 'ch23/biarusi.mp3'),
    ('biriani', 'cooked rice and meat', 'ch23/biriani.mp3'),
    ('bwana arusi', 'bridegroom', 'ch23/bwana_arusi.mp3'),
    ('chakacha', 'kind of dance', 'ch23/chakacha.mp3'),
    ('choo/vy-', 'bathroom', 'ch23/choo_vyoo.mp3'),
    ('-dondoa', 'pick up bit by bit', 'ch23/dondoa.mp3'),
    ('-endelea', 'continue, go on', 'ch23/endelea.mp3'),
    ('hiyo', 'that referred to (N-)', 'ch23/hiyo.mp3'),
    ('-hudhuria', 'attend, be in attendance', 'ch23/hudhuria.mp3'),
    ('huku', 'while, around here', 'ch23/huku.mp3'),
    ('-imba', 'sing', 'ch23/imba.mp3'),
    ('-inuka', 'stand up, get up, rise up', 'ch23/inuka.mp3'),
    ('-ita', 'call', 'ch23/ita.mp3'),
    ('-itwa', 'be called', 'ch23/itwa.mp3'),
    ('jamaa', 'family member (N-)', 'ch23/jamaa.mp3'),
    ('jamvi/ma-', 'mat/s', 'ch23/jamvi_majamvi.mp3'),
    ('juma/ma-', 'week/s', 'ch23/juma_majuma.mp3'),
    ('jumla', 'sum, total, a lot', 'ch23/jumla.mp3'),
    ('kikundi/vi-', 'small group/s', 'ch23/kikundi_vikundi.mp3'),
    ('kundi/ma-', 'group/s', 'ch23/kundi_makundi.mp3'),
    ('kuzingira', 'to surround, surrounding', 'ch23/kuzingira.mp3'),
    ('kwa jumla', 'altogether', 'ch23/kwa_jumla.mp3'),
    ('lelemama', 'kind of dance', 'ch23/lelemama.mp3'),
    ('madhumuni', 'purpose (N-)', 'ch23/madhumuni.mp3'),
    ('manukato', 'perfume (N-)', 'ch23/manukato.mp3'),
    ('mbali', 'far', 'ch23/mbali.mp3'),
    ('mchele/mi-', 'rice grain (usually sg.)', 'ch23/mchele_michele.mp3'),
    ('mpigaji/wa-', 'drummer/s', 'ch23/mpigaji_wapigaji.mp3'),
    ('mto/mi-', 'pillow/s, river/s', 'ch23/mto_mito.mp3'),
    ('-safisha', 'to clean', 'ch23/safisha.mp3'),
    ('sinia', 'tray (N-)', 'ch23/sinia.mp3'),
    ('-starehesha', 'entertian', 'ch23/starehesha.mp3'),
    ('-stareheshwa', 'be entertained', 'ch23/stareheshwa.mp3'),
    ('-tayarisha', 'prepare, get something ready', 'ch23/tayarisha.mp3'),
    ('-tumiwa', 'be used', 'ch23/tumiwa.mp3'),
    ('ukubwa', 'size, bigness', 'ch23/ukubwa.mp3'),
    ('urefu', 'length, tallness', 'ch23/urefu.mp3'),
    ('usufi', 'kapok (cotton-like material)', 'ch23/usufi.mp3'),
    ('uwezo', 'ability', 'ch23/uwezo.mp3'),
    ('-wezekana', 'be possible', 'ch23/wezekana.mp3'),
    ('wimbo/nyimbo', 'song/s (U-/N-)', 'ch23/wimbo_nyimbo.mp3'),
    ('-zingira', 'surround, go round', 'ch23/zingira.mp3'),
# Somo la ishirini na nne: Msamiati 1 and 2
    ('kupa', 'to give', 'ch24/kupa.mp3'),
    ('kwetu', 'at our place/home', 'ch24/kwetu.mp3'),
    ('zawadi', 'present, gift (N-)', 'ch24/zawadi.mp3'),
    ('-a kisasa', 'modern, up-to-date', 'ch24/a_kisasa.mp3'),
    ('bali', 'but, but rather, but to the contrary', 'ch24/bali.mp3'),
    ('baraka', 'blessing (N-)', 'ch24/baraka.mp3'),
    ('-chekesha', 'cause to laugh, amuse', 'ch24/chekesha.mp3'),
    ('-choka', 'be tired', 'ch24/choka.mp3'),
    ('fumbo/ma-', 'puzzle/s, riddle/s, mystery/s', 'ch24/fumbo_mafumbo.mp3'),
    ('-fumbua', 'figure out a mystery/puzzle', 'ch24/fumbua.mp3'),
    ('haraka', 'haste (N-)', 'ch24/haraka.mp3'),
    ('-imbia', 'sing to', 'ch24/imbia.mp3'),
    ('-imbwa', 'be sung', 'ch24/imbwa.mp3'),
    ('kama hivi', 'such as the following, as follows', 'ch24/kama_hivi.mp3'),
    ('kamba', 'rope (N-)', 'ch24/kamba.mp3'),
    ('kisasa', 'the modern way (adv.)', 'ch24/kisasa.mp3'),
    ('kitendawili/vi-', 'riddle/s', 'ch24/kitendawili_vitendawili.mp3'),
    ('kuni', 'firewood (N- plural)', 'ch24/kuni.mp3'),
    ('lete!', 'bring! (irregular imperative)', 'ch24/lete.mp3'),
    ('methali', 'proverb (N-)', 'ch24/methali.mp3'),
    ('mchezo/mi-', 'game/s', 'ch24/mchezo_michezo.mp3'),
    ('mila', 'custom, tradition (N-)', 'ch24/mila.mp3'),
    ('msemo/mi-', 'saying/s', 'ch24/msemo_misemo.mp3'),
    ('msikilizaji/wa-', 'listener/s', 'ch24/msikilizaji_wasikilizaji.mp3'),
    ('mtoaji/wa-', 'giver/s, teller/s', 'ch24/mtoaji_watoaji.mp3'),
    ('mtu mzima/wa-', 'adult/s', 'ch24/mtu_mzima_watu_wazima.mp3'),
    ('nenda!', 'go! (irregular imperative)', 'ch24/nenda.mp3'),
    ('njoo!', 'come! (irregular imperative)', 'ch24/njoo.mp3'),
    ('-peana', 'give to one another', 'ch24/peana.mp3'),
    ('sentensi', 'sentence (N-)', 'ch24/sentensi.mp3'),
    ('shairi/ma-', 'poem/s', 'ch24/shairi_mashairi.mp3'),
    ('siasa', 'politics', 'ch24/siasa.mp3'),
    ('-sikitisha', 'cause sorrow, sadden someone', 'ch24/sikitisha.mp3'),
    ('-simulia', 'narrate, tell', 'ch24/simulia.mp3'),
    ('-simuliwa', 'be narrated, be told', 'ch24/simuliwa.mp3'),
    ('-tega', 'set a trap/riddle', 'ch24/tega.mp3'),
    ('-tukana', 'insult', 'ch24/tukana.mp3'),
    ('-tunga', 'compose', 'ch24/tunga.mp3'),
    ('-tungiana', 'compose for one another', 'ch24/tungiana.mp3'),
    ('ukuni/kuni', 'stick of firewood/firewood', 'ch24/ukuni_kuni.mp3'),
    ('utenzi/tenzi', 'epic poem (U-/N-)', 'ch24/utenzi_tenzi.mp3'),
# Somo la ishirini na tano: Msamiati 1
    ('-elewa', 'understand', 'ch25/elewa.mp3'),
    ('maanake', 'its meaning', 'ch25/maanake.mp3'),
    ('mueleze', 'explain to him/her (varient of mweleze)', 'ch25/mueleze.mp3'),
    ('-samehe', 'forgive', 'ch25/samehe.mp3'),
    ('sarufi', 'grammar', 'ch25/sarufi.mp3'),
# Somo la ishirini na tano: Msamiati 2
    ('ajili', 'sake, account', 'ch25/ajili.mp3'),
    ('-a kati', 'in the middle', 'ch25/a_kati.mp3'),
    ('-a kirumi', 'in the Roman/Latin style', 'ch25/a_kirumi.mp3'),
    ('-a kizungu', 'in the European style', 'ch25/a_kizungu.mp3'),
    ('elezo/ma-', 'explanation/s', 'ch25/elezo_maelezo.mp3'),
    ('guni', 'free verse', 'ch25/guni.mp3'),
    ('herufi', 'letter, letter of alphabet', 'ch25/herufi.mp3'),
    ('ila', 'except', 'ch25/ila.mp3'),
    ('kanuni', 'rule, canon', 'ch25/kanuni.mp3'),
    ('kati', 'middle, center, among', 'ch25/kati.mp3'),
    ('katili', 'cruel (inavariable adj.)', 'ch25/katili.mp3'),
    ('kina/vi-', 'rhyme/s, rhyming', 'ch25/kina_vina.mp3'),
    ('kirumi', 'Latin/Roman style', 'ch25/kirumi.mp3'),
    ('kizungu', 'a European language/style', 'ch25/kizungu.mp3'),
    ('kuhusu', 'concerning', 'ch25/kuhusu.mp3'),
    ('kulingana na', 'in comparison with/to', 'ch25/kulingana_na.mp3'),
    ('kwa ajili ya', 'on account of', 'ch25/kwa_ajili_ya.mp3'),
    ('maandiko', 'writing', 'ch25/maandiko.mp3'),
    ('mahaba', 'love, friendship', 'ch25/mahaba.mp3'),
    ('mizani', 'measure in poetry; scale for weighing (N-)', 'ch25/mizani.mp3'),
    ('moyo/mi-', 'heart/s', 'ch25/moyo_mioyo.mp3'),
    ('mpumbavu/wa-', 'fool/s', 'ch25/mpumbavu_wapumbavu.mp3'),
    ('mshairi/wa-', 'poet/s', 'ch25/mshairi_washairi.mp3'),
    ('mstari/mi-', 'line/s', 'ch25/mstari_mistari.mp3'),
    ('mwandishi/wa-', 'writer/s, author/s', 'ch25/mwandishi_waandishi.mp3'),
    ('pendo/ma-', 'act of loving, liking', 'ch25/pendo_mapendo.mp3'),
    ('-pimwa', 'be measured', 'ch25/pimwa.mp3'),
    ('sanifu', 'standard', 'ch25/sanifu.mp3'),
    ('sawa', 'equal, same', 'ch25/sawa.mp3'),
    ('sawa na', 'equal to', 'ch25/sawa_na.mp3'),
    ('silabi', 'syllable (N-)', 'ch25/silabi.mp3'),
    ('sumu', 'poison (N-)', 'ch25/sumu.mp3'),
    ('tamu', 'sweet (inv. adj.)', 'ch25/tamu.mp3'),
    ('vigumu', 'difficult (adv.)', 'ch25/vigumu.mp3'),
# Somo la ishirini na sita: Msamiati 1
    ('barua', 'letter (N-)', 'ch26/barua.mp3'),
    ('-chukua', 'take, carry, convey, etc.', 'ch26/chukua.mp3'),
    ('jalada/ma-', 'cover of a book', 'ch26/jalada_majalada.mp3'),
    ('juzi/ma-', 'day before yesterday', 'ch26/juzi_majuzi.mp3'),
    ('-ongoza', 'to lead', 'ch26/ongoza.mp3'),
    ('-tawala', 'to rule', 'ch26/tawala.mp3'),
# Somo la ishirini na sita: Msamiati 2
    ('bandari', 'harbor, port (N-)', 'ch26/bandari.mp3'),
    ('biashara', 'business, commerce (N-)', 'ch26/biashara.mp3'),
    ('bunge/ma-', 'parliament/s, legislature/s', 'ch26/bunge_mabunge.mp3'),
    ('-fanana', 'to resemble, be alike', 'ch26/fanana.mp3'),
    ('-hamia', 'move to', 'ch26/hamia.mp3'),
    ('-hitaji', 'to need, require', 'ch26/hitaji.mp3'),
    ('jahazi/ma-', 'dhow/s', 'ch26/jahazi_majahazi.mp3'),
    ('jinai', 'crime (N-)', 'ch26/jinai.mp3'),
    ('kao/ma-', 'headquarter/s', 'ch26/kao_makao.mp3'),
    ('-kua', 'to grow up, increase in size', 'ch26/kua.mp3'),
    ('mfanya biashara/wa-', 'merchant/s, trader/s',
    ('ofisi/ma-', 'office/s', 'ch26/ofisi_maofisi.mp3'),
    ('-patikana', 'be available/obtainable', 'ch26/patikana.mp3'),
    ('shida', 'trouble, hardship, difficulty', 'ch26/shida.mp3'),
    ('-shuka', 'to get down, disembark', 'ch26/shuka.mp3'),
    ('taabu', 'trouble, distress (N-)', 'ch26/taabu.mp3'),
    ('-tafuta', 'to look for', 'ch26/tafuta.mp3'),
    ('-tosha', 'suffice, be sufficient', 'ch26/tosha.mp3'),
    ('uhalifu', 'lawlessness', 'ch26/uhalifu.mp3'),
    ('-zunguka', 'go around, go about, surround', 'ch26/zunguka.mp3'),
    ('-zungukazunguka', 'go around and around, wander about',
# Somo la ishirini na saba: Msamiati 1
    ('amba-', 'who, which, what, that', 'ch27/amba.mp3'),
    ('mali', 'wealth, property, possessions (N-)', 'ch27/mali.mp3'),
    ('maskini', 'poor person (N-)', 'ch27/maskini.mp3'),
    ('mpishi/wa-', 'cook/s', 'ch27/mpishi_wapishi.mp3'),
    ('nimeshapoa', 'I\'m already feeling better', 'ch27/nimeshapoa.mp3'),
    ('tajiri/ma-', 'rich person/s', 'ch27/tajiri_matajiri.mp3'),
# Somo la ishirini na saba: Msamiati 2
    ('afya', 'health (N-)', 'ch27/afya.mp3'),
    ('bandari', 'harbor (N- or JI-/MA-)', 'ch27/bandari.mp3'),
    ('buibui', 'black cloth worn by Muslim women', 'ch27/buibui.mp3'),
    ('-fahamika', 'be understood', 'ch27/fahamika.mp3'),
    ('-fanana', 'be similar, resemble', 'ch27/fanana.mp3'),
    ('gurudumu/ma-', 'wheel/s', 'ch27/gurudumu_magurudumu.mp3'),
    ('haswa', 'especially', 'ch27/haswa.mp3'),
    ('-jenga', 'to build', 'ch27/jenga.mp3'),
    ('jiwe/ma-', 'stone', 'ch27/jiwe_mawe.mp3'),
    ('karne', 'century (N-)', 'ch27/karne.mp3'),
    ('katikati', 'middle, center, among, between', 'ch27/katikati.mp3'),
    ('makala', 'written article, treatise (N- or MA-)', 'ch27/makala.mp3'),
    ('Mzungu/wa-', 'European/s, white person/s', 'ch27/mzungu_wazungu.mp3'),
    ('-pya', 'new', 'ch27/pya.mp3'),
    ('reli', 'railroad (N-)', 'ch27/reli.mp3'),
    ('supa maketi', 'super market (N-)', 'ch27/supa_maketi.mp3'),
    ('suti', 'suit (N-)', 'ch27/suti.mp3'),
    ('-taja', 'mention, name', 'ch27/taja.mp3'),
    ('-valia', 'wear, put on, have on (clothing)', 'ch27/valia.mp3'),
    ('vipi?', 'how, in what way/manner?', 'ch27/vipi.mp3'),
    ('zaidi', 'more', 'ch27/zaidi.mp3'),
# Somo la ishirini na nane: Msamiati 1
    ('marudio', 'review', 'ch28/marudio.mp3'),
    ('nambari', 'number (N-)', 'ch28/nambari.mp3'),
    ('-pigia simu', 'telephone someone, make a call to', 'ch28/pigia_simu.mp3'),
    ('sifuri', 'zero, nought', 'ch28/sifuri.mp3'),
    ('wiki ijayo', 'next week (i-ja-yo: it-which-comes)', 'ch28/wiki_ijayo.mp3'),
# Somo la ishirini na nane: Msamiati 2
    ('ajabu', 'wonder, something amazing, incredible', 'ch28/ajabu.mp3'),
    ('-a kitaifa', 'national', 'ch28/a_kitaifa.mp3'),
    ('-a kupendeza', 'pleasing', 'ch28/a_kupendeza.mp3'),
    ('-a mwitu', 'wild', 'ch28/a_mwitu.mp3'),
    ('-bariki', 'to bless', 'ch28/bariki.mp3'),
    ('-barikiwa', 'be blessed', 'ch28/barikiwa.mp3'),
    ('bustani', 'garden, park (N-)', 'ch28/bustani.mp3'),
    ('chui', 'leopard (N- animate)', 'ch28/chui.mp3'),
    ('duma', 'cheetah (N- animate)', 'ch28/duma.mp3'),
    ('fedha', 'money, silver (N-)', 'ch28/fedha.mp3'),
    ('hakika', 'certainty, reality, fact', 'ch28/hakika.mp3'),
    ('hoteli/ma-', 'hotel/s, restaurant/s', 'ch28/hoteli_mahoteli.mp3'),
    ('huru', 'free (inv. adj.)', 'ch28/huru.mp3'),
    ('jicho/ma-', 'eye/s', 'ch28/jicho_macho.mp3'),
    ('(-a) kigeni', 'foreign', 'ch28/a_kigeni.mp3'),
    ('kwa hakika', 'certainly, indeed, for sure', 'ch28/kwa_hakika.mp3'),
    ('maskani', 'abode, dwelling, place (N-)', 'ch28/maskani.mp3'),
    ('maumbile', 'nature, natural condition, natural state (MA-)',
    ('mlima/mi-', 'mountain/s', 'ch28/mlima_milima.mp3'),
    ('mno', 'very much, especially so', 'ch28/mno.mp3'),
    ('msafara/mi-', 'trip/s, safari/s, expedition/s',
    ('mtalii/wa-', 'tourist/s', 'ch28/mtalii_watalii.mp3'),
    ('mwitu/mi-', 'forest/s', 'ch28/mwitu.mp3'),
    ('nje', 'outside', 'ch28/nje.mp3'),
    ('nyumbu', 'gnu, wildebeest (N- animate)', 'ch28/nyumbu.mp3'),
    ('-pendeza', 'be pleasing, please', 'ch28/pendeza.mp3'),
    ('-pokea', 'receive', 'ch28/pokea.mp3'),
    ('punda milia', 'zebra (N- animate)', 'ch28/punda_milia.mp3'),
    ('sanaa', 'works of art, beautiful things', 'ch28/sanaa.mp3'),
    ('swala', 'antelope, gazelle (N- animate)', 'ch28/swala.mp3'),
    ('taabu', 'trouble (N-)', 'ch28/taabu.mp3'),
    ('-tembea', 'walk', 'ch28/tembea.mp3'),
    ('-tembelea', 'visit', None),
    ('tembo', 'elephant (N- animate)', 'ch28/tembo.mp3'),
    ('-tenda', 'behave, act, do', 'ch28/tenda.mp3'),
    ('twiga', 'giraffe (N- animate)', 'ch28/twiga.mp3'),
    ('ufuko', 'beach, sandy area (U-)', 'ch28/ufuko.mp3'),
    ('ukarimu', 'hospitality (U-)', 'ch28/ukarimu.mp3'),
    ('utalii', 'tourism (N-)', 'ch28/utalii.mp3'),
    ('-vutia', 'attract', 'ch28/vutia.mp3'),
# MQUINN: Miscellaneous additions.
    ('kaka', 'brother (relative or friend)', None),
    ('moja', 'one', None),
    ('mbili', 'two', None),
    ('tatu', 'three', None),
    ('nne', 'four', None),
    ('tano', 'five', None),
    ('sita' 'six', None),
    ('saba', 'seven', None),
    ('nane', 'eight', None),
    ('tisa', 'nine', None),
    ('kumi', 'ten', None),
    ('kwanza', 'first', None),
    ('pili', 'second', None),

num_correct = 0
num_forfeits = 0
num_retries = 0

def play_audio(file_path):
        subprocess.call(["cvlc", "--play-and-exit", "audio/" + file_path])
    except Exception as ex:
        print "Error attempting to play: " + file_path + "; " + str(ex)

def prompt(to_show, to_reply, audio):
    global num_retries
    response = raw_input(to_show + ': ')
    if response == 'p':
        if audio == None:
            print "NO AUDIO EXISTS."
        return prompt(to_show, to_reply, audio)
    if response == 'f':
  print to_reply
  # After a forfeit, the user may have entered
  # a response that isn't materially different
  # from the answer. If so, allow them to override
  # so as to reflect a more accurate correct/forfeit
  # count.
  if prompt(to_show, to_reply, audio) == 'OVERRIDE':
      return 'CORRECT'
      return 'FORFEIT'
    elif response == 'o':
  print "OVERRIDING; this will be marked as correct."
  return 'OVERRIDE'
    elif response != to_reply:
  num_retries += 1
        print "INCORRECT, try again."
        return prompt(to_show, to_reply, audio)
        print "CORRECT"
  return 'CORRECT'

def print_status():
    global num_correct, num_forfeits, num_retries
    print "Correct: %d, Forfeits: %d (Total Retries: %d)" \
  % (num_correct, num_forfeits, num_retries)

# We want to run through the list of pairs twice,
# since we want to prompt for both languages.
for run_count in range(2):
    # Shuffle the pairs in place.
    for pair_idx in range(len(pairs)):
  print "\n====== RUN %d, PROMPT %d of %d" \
    % (run_count+1, pair_idx+1, len(pairs))
  if run_count == 0:
      # On first run, randomly select either
      # language to show to the user.
            prompt_idx = random.randint(0, 1)
      # On second run, show the language
      # that wasn't shown to the user on the first run.
      prompt_idx = (pairs[pair_idx][3] + 1) % 2
            audio = pairs[pair_idx][2]
        except IndexError:
            audio = None
        result = prompt(pairs[pair_idx][prompt_idx],
      pairs[pair_idx][(prompt_idx + 1) % 2], audio)
  if result == 'CORRECT':
      num_correct += 1
  elif result == 'FORFEIT':
      num_forfeits += 1
  if run_count == 0:
            # We append the prompted pair element to the pair,
            # so that on the next run, we prompt for the other.
            pairs[pair_idx] = pairs[pair_idx] + (prompt_idx,)

print "\nCOMPLETE"