loureiromahia / OpenDomo_VR

Voice Recognition for OpenDomo OS
GNU General Public License v3.0
7 stars 1 forks source link

INTRODUCTION:

OpenDomo_VR is a Voice Recognition suite, adapted for OpenDomo OS Project

The project using Google Voice Recognition API,which is today the "state of art" in generic Voice Recognition:

The kind of commands to recognize are:

Switch On /Off Light in a room (kitchen, living room, wc...)
Switch On /Off Clima in a room (kitchen, living room, wc...)
Switch On /Off Music in a room (kitchen, living room, wc...)
Switch On /Off Video in a room (kitchen, living room, wc...)
Change the temperature in a room (kitchen, living room, wc...)
Read a specific sensor in a room (kitchen, living room, wc...)
........

As a result of these commands, OpenDomo_VR will act on the specific port to perform action requested by the user.

OpenDomo_VR is designed to be multilanguage. In the first version , English and Spanish languages are supported. More Languages can be added easily: it is a matter of adapting the voiceCommand to that language. There you can define, the voice to be recognized and the phrases to be provided by the system.

Furthermore, OpenDomo_VR, is "Character" driven: You can define a speaker(Character) to answer your commands (defining the gender, age, formal or casual answer, ...)

INSTALLATION

  1. BUILDING:

For building the package, install from git in OpenDomo:

./plugin_add_from_gh.sh loureiromahia OpenDomo_VR

This script will prepare the directory structure:

  1. DEPENDENCIES:

All these dependencies are checked in the setup script. This is just for your information.

sox python-argparse espeak flac

3.SETUP:

In OpenDomo config directory (/usr/local/opendomo/services/config) , run the following command:

    ./configureVoiceSystem.sh $1

$1 Parameter defines the Voice Character for voice sinthesis. In the Voice Character you can define the follwing properties:

What is configured:

Where is configured:

/etc/opendomo/speech

This setup script will install opendomoVR.sh to run forever every time the system is started and will let you customize your installation, depending on your preferences.

Take into account that although the software is running forever, it is not so much time consuming, as the main action script does is to compare between two consecutive samples and deciding if it is new speech or not...Only in this case (new speech) it sends the speech sample to decode it.

The mechanism to decode the speech uses Google API recognition that has a very good recognition quality in the main languages.

EXECUTION

If Voice Recognition is not autostarted with previous script (./configureVoiceSystem.sh), you can always run it manually executing:

/usr/local/opendomo/vr/opendomoVR.sh

Every time that this program is started, it checks the configuration of each installation, generating the configuration files for every of the voice managed services: Clima, Lights, Sensors, Music, Video....This configuration files are stored in:

/etc/opendomo/speech

OPERATION MODES:

OpenDomo_VR has two MODEs of operation:

Note that all these status are Operational OpenDomo_VR Modes. When the user is not in the installation, or during the night(while he is sleeping) OpenDomo_VR daemon is not running.

REFERENCES:

OpenDomo Project page:

http://www.opendomo.com/

The project Opendomo_VR it is based on the job done in Palaver project.As reference, this is the github repository for PALAVER:

https://github.com/JamezQ/Palaver