Jarvis

7
Jarvis Celibi 4.2 @raftalks All Frameworks, Celibi @whsajid Concepts Framework, Jarvis, Celibi ecnedive All Frameworks, Celibi marcurio All Frameworks johnstone Voice Recognition Framework, Celibi pe2dite Jarvis Simple ideas brought to life, through passion…

description

Jarvis speech for windows in java

Transcript of Jarvis

Page 1: Jarvis

Jarvis Celibi 4.2

@raftalks All Frameworks, Celibi

@whsajid Concepts Framework, Jarvis, Celibi

ecnedive All Frameworks, Celibi

marcurio All Frameworks

johnstone Voice Recognition Framework, Celibi

pe2dite Jarvis

Simple ideas brought to life, through passion…

Page 2: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

Thank you Rohan Jolly, for your priceless assistance in turning Jarvis into a reality. Could not have done it without you. Cheers

to fun stuff.

fb.com/rohan.jolly.economist

Page 3: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

What’s The Idea?

The idea is simple. Creating a program to simulate an artificially

intelligent computer capable of carrying out simple task. Jarvis Celibi

4.2 is not artificial intelligence. It is not machine learning. It is not a

neural network.

For all intents and purposes of this documentation Jarvis Celibi is a

digital assistant. The Jarvis interface will be referred to as Jarvis and

the processing program on the server will be referred to as Celibi.

Since there’s been some confusion regarding “frameworks”, it is just a

term we use for our “libraries”.

How Does It Work?

The Jarvis interface communicates with an online server by sending

and receiving commands and actions back and forth from your

computer.

The Jarvis interface interprets voice commands and converts them to

text. The command is then sent to the server where it is processed

and the required response or action is sent back to the Jarvis

interface. The interface then converts those responses into speech,

macros, clicks and touch or key press events as required.

For speech recognition and synthesis, Jarvis uses the Speech APIs

included in the .NET framework 4.5. The interface was coded using

vb.NET and Celibi was coded using C++.

Page 4: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

What Can Jarvis Do?

Jarvis can carry out any action that you can carry out on a computer

including and not limited to manipulating external applications,

communicating with the windows shell, and interacting with web

servers and services. However all online actions such as Searching

Google for something, processing text and interacting with web

services are carried out by Celibi.

Jarvis can also “understand” Basic English, phrases and expressions.

Most of the responses to your input are not hard coded into the

program and are continuously evolving as Celibi learns from the

experiences of Jarvis. The “experiences” or information gathered by

Jarvis are stored in Celibi and compartmentalized into what we like to

call frameworks.

Page 5: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

What Is The Concept Of Frameworks?

The Language Framework

The heaviest and the most advanced framework the language framework,

is a collection of smaller frameworks, and is made up of a dictionary of

words, their usage, their meaning, etc. This is considered as the base layer,

the next layer of frameworks such as expressions and phrases would come

on top of that layer. Celibi uses this framework to “understand” a

sentence or phrase, and to produce a natural result. Phrases can be used

to override responses and to control how Jarvis responds with sentences.

A word can also be overridden by another word. For example “Internet”

can become “Sky Net” and “madam” can become “ma’am”.

The Web Framework

The web framework is a collection of smaller frameworks that tell Celibi

how to interact with and process information from certain websites and

services. For example the google framework tells Celibi how to search

google, apply filters, scrap results, and process image results. The Agoda

framework tells Celibi how to query the website and retrieve results

among others.

The Windows Framework

The windows framework is a collection of commands and actions. This

framework is constantly updated as Jarvis learns how to carry out more

tasks on a windows operating system. The framework contains

information such as macros, click and key press sequences and window

states.

The Voice Recognition Framework

The second most advanced framework of Celibi, the voice recognition

framework tells Celibi how to process voice samples. When a voice is

detected by Jarvis as different from the voice used before that, he sends a

sample to Celibi, and Celibi processes the sample to find a match among

Page 6: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

stored samples. When a match is found it is connected to a user object

which is stored in the objectify framework. This data is then sent to Jarvis

and stored in that session until it ends.

Objectify Framework

The objectify framework contains objects and is divided into many sub

frameworks such as users, people, places, hotels etc. for each object this

framework stores huge amounts of data and details including and not

limited to location and properties. This is how Jarvis understands the

difference between a cat and a dog. The objectify framework is

continuously accessed by all the other frameworks and is so far the

second largest framework

Temporary Framework

The temporary framework is used to store new experiences and data

which is processed by Celibi during a single session. Once the session

closes the data is merged with the remaining frameworks by default. This

framework ensures that Jarvis learns new experiences and that Celibi

does not contain duplicate or erroneous data.

The Concepts Framework

The concepts framework is a tiny framework that is separate from the

language framework. However the concept framework is required by the

language framework and is used to communicate between frameworks. It

controls and maintains the flow of data to and from the remaining

frameworks. This framework does not change and Celibi cannot modify or

directly interact with this this framework. This is to ensure that Celibi does

not attempt to in anyway change its programming. It is also used to assign

and maintain permissions to users.

Visuals Framework

As of right now Jarvis is blind, and needs a visuals framework to process

visual media such as images and videos. Unfortunately this framework is

still under development.

Page 7: Jarvis

Jarvis Celibi 2.4

@raftalks | @whsajid | ecnedive | marcurio | johnstone | pe2dite

Supported Operating Systems

Celibi supports and accepts both text and audio input. Jarvis is

currently used as the main input mechanism, however you can

interact with Celibi via a web browser, mobile app or command line

interface.

The interface does not necessarily need a speech to text or text to

speech conversion engine. However for voice recognition, the

interface should be able to send audio samples to Celibi.

Development

Jarvis Celibi is a concept designed and developed by WHSajid. The

project is currently under development. The latest stable version is

Jarvis v1.2 and Celibi v4.2. Stated below are the key developers of

Jarvis and Celibi.

@raftalks All Frameworks, Celibi

@whsajid Concepts Framework, Jarvis, Celibi

ecnedive All Frameworks, Celibi

marcurio All Frameworks

johnstone Voice Recognition Framework, Celibi

pe2dite Jarvis

Find Jarvis at http://youtu.be/ORzXuNWfOQo