Glossary

Some terms in the docs might be unknown to you; this section should help you achieve a better understanding of these words and how they relate to Leon.

Actions 1.0.0-beta.3+

Actions represent the modules entry points.

Attachment: packages/calendar/todolist.py example of the To-Do List module including actions such as create_list, complete_todo, etc.

API

API stands for Application Programming Interface and it allows the communication between different nodes of a project. These nodes can be a server, library, etc.

Examples of Leon APIs:

  • The HTTP API allows him to exchange data between the server and the client.
  • The WebSocket API allows him to open a bidirectional communication channel between the client and the server.
  • The Python library API allows developers to pick up functions to work on Leon's modules.

ASR

ASR or Automatic Speech Recognition is the use of computer hardware and software-based techniques to identify and process human voice.

Leon uses it to make your voice understandable for him.

Attachments:

Answers

Answers are Leon's responses. Each package has its own set of answers with different translations.

Attachment: packages/checker/data/answers/en.json example of the Checker package English answers.

Brain

Leon's brain is a major part of his core. This is where he executes his modules, talks, picks up sentences, etc.

Attachment: server/src/core/brain.js Leon's brain.

Classifier

A classifier is a type of model. Once trained, it outputs a result via an algorithm. This result is used to make decisions.

Leon uses it to store the outcomes of his expressions training phase.

Expressions

Expressions are the dataset that Leon uses to train his understanding. Each package has its own dataset with different translations.

Attachment: packages/checker/data/expressions/en.json example of the Checker package English expressions.

Modules

Modules are Leon's skills; thanks to them Leon can work his magic. Modules contain one or an infinity of actions.

TIP

The more modules Leon has, the more skillful he becomes. Do not hesitate to contribute ❤️

NLU

NLU (Natural Language Understanding) helps computers understand human language.

Leon employs it to load the most appropriate classifier.

Attachment: server/src/core/nlu.js Leon's NLU.

Packages

Leon's packages contain one or an infinity of modules. You can consider packages as a category of modules. This is where the answers and expressions are stored.

Attachment: packages/leon example of the Leon package including modules related to Leon himself.

TIP

The full package list is available here.

STT

STT, or Speech-To-Text, transforms an audio stream (speech) to a string (text).

Leon has multiple STT parsers; you can choose one (or several) to configure.

Attachment: server/src/stt/stt.js Leon's STT.

Synchronizer

The synchronizer allows you to synchronize your content via different methods (Google Drive, on your current device, etc.) restricted by the requested module's offerings.

You can configure your favorite method for each module that supports this feature.

Attachment: server/src/core/synchronizer.js Leon's synchronizer.

TTS

TTS or (Text-To-Speech) transforms a string (text) to an audio stream (speech).

Leon has multiple TTS synthesizers; you can choose one (or several) to configure.

Attachment: server/src/tts/tts.js Leon's TTS.