Skip to content

Yobeco/MAEL_Scan

Repository files navigation

MAEL

MAEL Scan

An application belonging to the MAEL project
Copyright (c) 2022 Yonnel Bécognée

License: Libre Non Commerciale

Kotlin

SQLite

Contributions Welcome Beginner friendly

Status: Active

🇫🇷 Français | 🇪🇸 Español | 🇬🇧 English


A- Description 👁️

MAEL Scan is a mobile phone application 📱 (soon, a Raspberry Pi version ) that allows the student to scan QR codes created by their teacher with MAEL Gen and listen to their content 🔈.
Its interface is designed to be used by a child, from the age of 4 👶.
It only includes 3 large buttons by default.

MAEL Scan allows students who do not have any “talking device” at home to listen to the language being studied within an educational context designed by their teacher 💯. It therefore allows the teacher to boost their language teaching 📈.

Potentially, 55 languages can be implemented! 😲

🇫🇷 🇬🇧 🇪🇸 🇵🇹 🇧🇷 🇮🇹 🇩🇪 🇷🇺 🇯🇵 🇨🇳 🇰🇷 ...


B- Features 📋

  • Scan 🔈 : Starts scanning the QR code and then vocalizes its content.
  • Listen again ➰ : Allows listening again without re-scanning.
  • Listen more slowly 🐌 : Allows listening again without re-scanning, but more slowly (does not work with mp3 files).
  • “MP3” playback 🎵 : When scanning, if the link points to an mp3 file, the student will hear that file.
  • Special modes : These are syllable libraries in mp3 format (integrated into MAEL Scan) because reading a single syllable is sometimes of poor quality with synthetic speech 😒. There are:
    • the syllables of the Consigny bilingual alphabet book (in French and Spanish)
    • the syllables of the “Borel-Maisonny” method (very commonly used syllables, associated with gestures intended to help children with dysorthography)

C- How to use MAEL Scan? 😊

⚠️ Make sure you have installed the text-to-speech voice corresponding to the language used on your phone.
For these examples, install the French voice 🇫🇷.


⟶ The student does not know what the QR code contains: it is the teacher who decides the content (text, language, mode, mp3 link, etc.) when it is created. The student only has to scan it.

  1. Launch MAEL Scan
  2. Scan a QR code generated by MAEL Gen from a text.

Press this button:

Scan


1- If the QR code contains text 🗒️

Example Example Example
Reading mode Test QR code Dictation mode Test QR code Spelling mode Test QR code
  1. 🔈 Listen to the content of the QR code.

  2. Listen again

Listen again

  1. Listen again more slowly

Listen again

⟶ The student will hear a synthetic voice 🗣️


2- If the QR code contains a link to an MP3 file 🎤

How to upload an .mp3 to Google Drive

Test QR code

  1. 🔈 Listen to the mp3 file.
  2. Listen again

Listen again

  1. Manage file playback

Play Pause Stop

⟶ The student will hear the .mp3 file. 🎵


D- Operating principle ⚙️

(To help understand the code)


  1. MAEL Scan scans a QR code
  2. It decrypts the content of the QR code (algorithm already written in Kotlin 👍).
  3. It extracts the prefix and the suffix using regex.
  4. It deduces the language, the country, and the mode (or whether it is an mp3).
  5. It configures ⚙️ the phone’s text-to-speech module according to the language and country (or selects the mp3 playback module)
  6. It configures ⚙️ the mode (Reading / Hide / Dictate / Spell) and vocalizes 🗣️ the text as requested.
  7. If it is a special mode, it retrieves the corresponding audio (integrated into the app) 📤.

Additional document 🗒️

Anecdote : the MIT App Inventor version does not have the necessary functions to decrypt the content of the QR code. I had to write the algorithm in JavaScript to integrate it into a web page used by the Web module of MIT App Inventor.
What a detour!!! 😬
⟶ Another reason for migrating to Kotlin .


E- Features to be developed 🚀

1- “Dictation” mode

  • The current dictation mode (vocalizing the text but not displaying it) will change name and be called “Hide mode”. 🔄

  • The new dictation mode will include:

    • reading the text, but not displaying it,
    • vocalization of punctuation, and
    • display of the play–pause menu (with progress bar). ⏯️

2- “MP3” mode

  • Creation of a MAEL Cloud ☁️ with fewer limitations than Google Drive. (hosted with the MAEL Phrase platform).
  • Addition of an option (suffix) that will indicate to MAEL Scan that it must keep the file 📥 so it does not have to be re-downloaded if it is scanned again.

3- “Spell” mode

Preliminary explanation:
To spell a text, MAEL Scan contains a data structure holding the correspondences between letters and what should be spoken.

Examples:

Letter What will be pronounced
A capital A
a a
é e acute accent
ç c cedilla

This database is very specific to each language. In the MIT App Inventor version of MAEL Scan, this information is stored in a variable of type dictionary which takes the form of an immense building 🏢 made of small blocks, difficult to display (and therefore to manage).
It seems very complicated to create 55 dictionaries of this type 😵‍💫, which is one of the limiting factors of MIT App Inventor and therefore one of the reasons for the move to Kotlin MP .

1- Implementation of a SQLite database

It would therefore be necessary to use a SQLite database in which each table would contain the correspondences Letter | What will be pronounced.

2- Handling of ideographic writing systems 🉐

How should spelling be handled for languages such as Chinese 🇨🇳, Japanese 🇯🇵, or Korean 🇰🇷?

If a specialist in one of these languages is interested, he or she will be welcome! 👐

👍 Offer your help to develop one of these features


F- Participate in the MAEL project 👐

🛟 To get help regarding the use of MAEL or to participate in development 💻, write to me here:

🌟 Contributors

A big thank you to everyone who will contribute to this project!

Avatar Name GitHub Role
Bécognée Yonnel @Yobeco Maintainer
Padawan @Nail-yk Documentation translation
... ... ... Developer
... ... ... Developer

G- Installation ⤵️

Only the Android version using MIT App Inventor is functional at the moment.
📥 To try MAEL Scan, Download the MAEL_Scan_V5_0.apk file

About

MAEL Scan is an application for reading the contents of QR codes generated by MAEL Gen.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages