Skip to content

About

Augmentative and Alternative Communication (AAC) platform using self-adaptive webcam-based gaze tracking and accessible interfaces with customisable pictographic boards.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ComunicELA logo

ComunicELA

AAC through gaze estimation and pictographic boards.

Python 3.10, 3.11 and 3.12 Windows platform GPLv3 licensed source code DOI: 10.5281/zenodo.23699296

Overview

ComunicELA is an augmentative and alternative communication (AAC) desktop application designed to provide an accessible means of interaction for people with motor or speech impairments. Using a conventional camera, it turns gaze direction and blinking into actions within a visual, pictogram-based interface.

The system combines computer vision with a gaze-estimation model that can be retrained to suit individual needs. It enables navigation through communication boards, concept selection, message composition and speech output through Windows text-to-speech.

The core application runs locally and does not rely on external services. Google Gemini can optionally transform selected words into a natural, grammatically correct sentence before passing it to the speech synthesiser. Communication boards are editable, allowing the vocabulary to be extended or adapted without modifying the source code.

The complete analysis, design, implementation and evaluation of the system are available in the ComunicELA technical report.

ComunicELA pictographic communication board
Pictographic board used to compose and play messages.

Key features

  • Gaze- and blink-based interface control.
  • Blink calibration.
  • Model retraining for improved user adaptation.
  • Sentence composition using pictograms.
  • Message playback through Windows text-to-speech.
  • Editable communication boards.
  • Spanish, Galician and English interfaces and boards.
  • Optional sentence correction and conjugation with Google Gemini.

Getting started

Requirements

  • Windows 10 or 11 with Python 3.10/11/12.
  • Standard webcam.
  • Internet connection and Gemini API key (optional).

Installation and execution

  1. Create and activate a virtual environment from PowerShell in the project directory:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
  1. Install the dependencies:
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
  1. Start the application:
python main.py

Optional Gemini configuration

ComunicELA can use Google Gemini to convert a sequence of selected words into a more natural sentence before it is spoken. This integration is optional. Without an API key, the rest of the application continues to work normally.

Obtain an API key

Generate a key in Google AI Studio.

Configure the key in Windows

  1. Open the Windows Start menu and search for Environment Variables.
  2. Select Edit the system environment variables.
  3. Select Environment Variables.
  4. Under User variables, select New.
  5. Enter GOOGLE_API_KEY as the variable name.
  6. Paste the API key as its value and save the changes.
  7. Close and reopen the application.

Customising communication boards

Communication boards are defined in .xlsx files.

Available files

File Language
tableros/tableros_es_ES.xlsx Spanish
tableros/tableros_gal_ES.xlsx Galician
tableros/tableros_en_US.xlsx English

Each worksheet represents a separate board. The first worksheet in the workbook is used as the initial board.

Cell format

Each board cell uses two consecutive spreadsheet columns:

Column Content
First Pictogram filename.
Second Word or message displayed in the interface.

The pictogram files shared by all languages are stored in tableros/pictogramas.

Add or replace a pictogram

  1. Copy the new image to tableros/pictogramas.
  2. Open the board file you want to edit.
  3. Enter the image filename in the first column of the cell.
  4. Enter the visible label in the second column.
  5. Save the workbook in .xlsx format.

Links between boards

A cell is interpreted as a link when its label starts with TAB. . The complete label must exactly match another worksheet name in the same workbook. For example, TAB. QUICK opens the worksheet named TAB. QUICK.

Recommendation: include a cell that returns to the first board on every other worksheet.

Checks before saving

  • Keep the initial board as the first worksheet.
  • Preserve the two columns assigned to each board cell.
  • Make sure image filenames include their extension and exactly match the files stored in the pictogram directory.
  • Keep every TAB. ... link synchronised with its target worksheet name.

Awards and recognition

  • Premio al Mejor TFG Aplicado – Facultad de Informática, Universidade da Coruña (2025).
  • Mención de Honor en los Premios CREAIMPACTO – Uno de los tres mejores proyectos de España en la categoría Salud (2025).
  • 2º Premio al Mejor Trabajo de Fin de Grado – Asociación Española para la Inteligencia Artificial (AEPIA) (2025).
  • Premio al Mejor Trabajo de Fin de Estudios en Emprendimiento – Categoría Ciencias de la Salud, Universidade da Coruña (2025).
  • Premio ao Mellor Traballo Universitario con Licenza Libre - GPUL, XVIII edición (2025).
  • Premio TalentPRO 2026 - Categoría de Nuevas Tecnologías (2026)

Media coverage


Licences and attribution

Source code

The ComunicELA source code is distributed under the GNU General Public License v3.0.

Intellectual property registration

ComunicELA is registered as a computer program under registration entry 03/2025/362. The Universidade da Coruña holds the exploitation rights.

ARASAAC pictograms

Author: Sergio Palao · Source: ARASAAC · Licence: CC BY-NC-SA 4.0 · Owner: Government of Aragon, Spain.

About

Augmentative and Alternative Communication (AAC) platform using self-adaptive webcam-based gaze tracking and accessible interfaces with customisable pictographic boards.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages