The goal of the project is to help you practice listening comprehension.
It works by giving you random sentences in the language you're learning and asking you to fill in the gaps. The sentences were submitted by contributors to Mozilla Common Voice platform.
The project aims to not require any knowledge of a meta language in order to start learning. If you are interested in a more traditional course creation project, check out LibreLingo.
The game works by ordering the questions by difficulty, then you are given batches of five with a random task for each of the questions. When you sucessfully answer a batch of five in less time than the audio takes to play, then you advance a level and get given a new batch of five.
- Fill in the blanks: A cloze-style task
- Drag and drop: Get a set of tiles and click on them to build a word or sentence
- Pick the right one: Get two options and choose the right one
- Spot the word: Get set of six tiles and click on the ones that appear in the audio
Space
: Play the recordingEnter
:- Submit and check if you got it right
- If already submitted, move to the next recording
The data comes from the Common Voice dataset releases.
This system is designed with two main user groups in mind:
- People who want to learn a new language
- People who want to learn how to write their native language
The system endeavours to be audio first, with knowledge of writing built up by hearing.
- IRC:
irc.freenode.net
#OmniLingo
- Matrix:
#OmniLingo:matrix.org
(access via Element) - Telegram: OmniLingo
All of the languages available in Common Voice 6.1 dataset.
Abkhaz · Arabic · Assamese · Breton · Catalan · Hakha Chin · Czech · Chuvash · Welsh · German · Dhivehi · Greek · English · Esperanto · Spanish · Estonian · Basque · Persian · Finnish · French · Frisian · Irish · Hindi · Upper Sorbian · Hungarian · Interlingua · Indonesian · Italian · Japanese · Georgian · Kabyle · Kyrgyz · Luganda · Lithuanian · Latvian · Mongolian · Maltese · Dutch · Odia · Punjabi · Polish · Portuguese · Romansh Sursilvan · Romansh Vallader · Romanian · Russian · Kinyarwanda · Sakha · Slovenian · Swedish · Tamil · Thai · Turkish · Tatar · Ukrainian · Vietnamese · Votic · Chinese (China) · Chinese (Hong Kong) · Chinese (Taiwan)
If you want to work with a language not yet in Common Voice, we highly recommend that you get set up in Common Voice, but in the meantime, you can check out the format guidelines.
For deployment information check out our blogpost at the IPFS blog.
To add more languages, download a dataset from Common Voice and
put it in cv-corpus-6.1-2020-12-11/
.
Happy hacking! :)
For those who prefer to install their dependencies through their package manager in Debian/Ubuntu, the following dependencies are available there:
python3-mutagen - audio metadata editing library (Python 3)
python3-jieba - Jieba Chinese text segmenter (Python 3)
python3-flask - micro web framework based on Werkzeug and Jinja2 - Python 3.x
- Logo by Fabi Yamada! Licensed under CC-BY.
- Funding generously provided by Protocol Labs.
- Recording and mp3 encoding code based on https://github.com/welll/record-encode-audio-from-browser (MIT license)
- libmp3lame port to javascript by Andreas Krennmair ak@synflood.at; libmp3lame is under LGPL