RITMOM - Repetition is the mother of memory.
It's for learning languages. Creates audio tracks from:
- Your Google Translate favorites list. Feeds word and phrase pairs from.
- Plain text file with foreign word list. Offline dictionaries are used for translation (WordNet, GoldenDict, Lingoes).
The idea is to use a sequence
- foreign female slow
- native female normal
- example usage phrase female
- foreign male slow
- native female normal
- example usage phrase male
for better memorization.
Text to speech out of a box. It uses 3rd party TTS engines via Windows COM. You have to use some proprietary TTS engine to generate a good quality narration.
- Install TTS engines
- You will need ffmpeg executable in your PATH to convert your tracks to MP3.
- Save phrases to
phrases/
dir, both csv or xls will fit: pip install -r requirements.txt
- Edit config.json file.
foreign and native parameters must contain substring of description, which can be listed
with this command: python main.py -l
Download desired text corpuses to be able to generate context usage phrases.
Corpuses are listed in a phraseExamples
configuration option:
import nltk; nltk.download()
- Generate audio
python main.py
For furigana support you'll need MeCab executable accessible in your PATH.
You'll need to install the requirements pip install -r requirements-jp.txt
Supported dictionary formats:
- DSL (Used by GoldenDict)
- LDX (Used by ABBYY Lingvo and Lingoes)
- WordNet (through NLTK)
- Fix TidyUpText filter
- Download and cache required resources (dictionaries, pre-trained models, etc)
- Use TextChunk instead of plain text
- Extract examples from offline dictionaries
- Add subtitle (.srt) corpus reader and examples
- Do try fuzzy matching if no translation found
- Text: write approximate audio timestamp
- Arbitrary Text Source (book, subtitles, news)
- Generate text output too
- Make a sequence configurable from a config
- Fix wordnet for languages differ from English
- Search for collocations
- Download missing NLTK packages and corpuses automatically if missing
- Fix index before running tasks
- Add synonyms and antonyms
- Use more threads for TTS
- Pickle indices for corpus for quicker start
- Add wordnet: definition (thesaurus, examples, excerpts)
- Update requirements.txt