Close

Application

A project log for Talking Glove

Human-computer interface to help non speaking people to actually talk!

alexander-fuentesAlexander Fuentes 08/27/2018 at 21:420 Comments

Mobile App: I choose to use MIT App Inventor, due to the ease of use, and because it’s easily customizable. Android phones have also the particularity to be easier to program than other models and have some functionalities that can be well exploited from a single app.

The app visual has the following:

Speaking section:

Listening section:

The app has the following core non-visible components:

Text to speech: Used to convert what is typed with the glove to sounds

Speech Recognizer: To convert voice to text

Other components are used to give useful functionalities:

Clock: used to calculate the time of the day so when the user touches the greeting button, it will create the phrase with the right moment and reproduce it

Notifier and TinyDB: Used to store user name and help on the selection of output language

MIT App Inventor apps are made in blocks, which is like doing a code puzzle instead of typing it. I divided the blocks in 3 parts:

Initialization: Blocks that will start the following functions:

- User name entering: Needed to store the desired user name, this will be used for the greeting button, by concatenating the pieces of code with text and day time calculation.

Buttons: Pieces of code which will activate the non-visible components functions.

- Language: Blocks that will process the language change. Since is not a common functionality, I made use of lists in which the pieces of text are stored.

Language set blocks, which will operate the change by calling the items in the lists. In order to be organized, I divided the function in “language”, “listName” and “String”.

- Language: a number which identifies the language to be chosen. I assigned 1 for Spanish and 2 for English

- ListName: Global variable containing a list of strings. There should be variables for language, buttons, and titles.

- String: corresponding number of the string to be used. The strings are stored in a list inside a list. The main list defines the listname and the inside lists are created with independent pieces of text according to the languages available. In this case, for example, I have a global list called “buttons”. This list contains 2 other lists, one for English and other for Spanish, and inside each list, there are 10 words which will determine the text on the app buttons.

Discussions