GithubHelp home page GithubHelp logo

shouse / artyom.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sdkcarlos/artyom.js

0.0 2.0 0.0 800 KB

A voice control - voice commands - speech recognition and speech synthesis javascript library. Create your own siri,google now or cortana with Google Chrome within your website.

Home Page: http://sdkcarlos.github.io/sites/artyom.html

License: MIT License

TypeScript 28.63% JavaScript 67.51% HTML 3.86%

artyom.js's Introduction

About Artyom

Artyom.js is a robust and useful wrapper of the webkitSpeechRecognition and speechSynthesis APIs written in plain ol' Vanilla Javascript. Besides, artyom allows you to add dynamic commands to your web app (website).

Artyom is constantly updated with new gadgets and awesome features, star and watch this repository to be aware of artyom updates.

The most known features of artyom are:

Speech Recognition

  • Quick recognition of voice commands.
  • Add commands easily.
  • Smart commands (usage of wildcards).
  • Create a dictation object to convert voice to text easily.
  • Simulate commands without microphone.
  • Execution keyword to execute a command immediately after the use of the keyword.
  • Pause and resume command recognition.
  • Artyom has available the soundex algorithm to increase the accuracy of the recognition of commands (disabled by default).
  • Use a remote command processor service instead of local processing with Javascript.

Voice Synthesis

  • Synthesize extreme huge blocks of text (+20K words according to the last test).
  • onStart and onEnd callbacks will be always executed independently of the text length.

Usage

NPM

npm install artyom.js

Bower

bower install artyom.js

Or just download a .zip package with the source code, minified file and commands examples : download .zip file

Development

If you're interested in modify, work with Artyom or you just simply want to test it quickly in your environment we recommend you to use the little Sandbox utility of Artyom. Using Node.js the Artyom Sandbox creates an HTTPS server accessible at https://localhost:8443, here artyom will be accesible in Continuous mode too.

Start by cloning the repository of artyom:

git clone https://github.com/sdkcarlos/artyom.js/
cd artyom.js

Install the dependencies:

npm install

Testing

If you only want to test Artyom.js, then you can simply navigate to the /development folder and execute:

cd development
node server.js

Programming with Artyom

If you are interested in programming with Artyom, then you need to install nodemon globally using:

npm install -g nodemon

Nodemon will restart the server automatically everytime you make changes in Artyom or any file inside /development. Then start the sandbox using:

npm run sandbox

With any of the previous methods, navigate to https://localhost:8443 and explore artyom in your browser.

Languages

Artyom provides complete support for the following languages. Every language needs an initialization code that needs to be provided in the lang property at the initialization.

Description Codes for initialization
Supported language English (USA)
English (Great Britain) Great Britain
United States of America
en-US
en-GB
en
Supported language Español es-CO
es-ES
es
Supported language Deutsch de-DE
de
Supported language Italiano it-IT
Supported language Français fr-FR
fr
Supported language Japanese 日本人 ja-JP
jp
Supported language Russian ru-RU
ru
Supported language Brazil pt-PT
pt
Supported language Dutch (netherlands) nl-NL
nl
Supported language Polski (polonia) pl-PL
pl
Supported language Indonesian (Indonesia) id-ID
id
Supported language Chinese (Cantonese[ 粤語(香港)]
Mandarin[普通话(**大陆)])
Cantonese
zh-HK
Mandarin
zh-CN

All you need to know about Artyom

Do not hesitate to create a ticket on the issues area of the Github repository for any question, problem or inconvenient that you may have about artyom.

Demostrations

Basic usage

// Add command (Short code artisan way)
artyom.on(['Good morning','Good afternoon']).then((i) => {
    switch (i) {
        case 0:
            artyom.say("Good morning, how are you?");
        break;
        case 1:
            artyom.say("Good afternoon, how are you?");
        break;            
    }
});

// Smart command (Short code artisan way), set the second parameter of .on to true
artyom.on(['Repeat after me *'] , true).then((i,wildcard) => {
    artyom.say("You've said : " + wildcard);
});

// or add some commands in the normal way

artyom.addCommands([
    {
        indexes: ['Hello','Hi','is someone there'],
        action: (i) => {
            artyom.say("Hello, it's me");
        }
    },
    {
        indexes: ['Repeat after me *'],
        smart:true,
        action: (i,wildcard) => {
            artyom.say("You've said : "+ wildcard);
        }
    }
]);

// Start the commands !
artyom.initialize({
    lang:"en-GB", // GreatBritain english
    continuous:true, // Listen forever
    soundex:true,// Use the soundex algorithm to increase accuracy
    debug:true, // Show messages in the console
    executionKeyword: "and do it now",
    listen:true // Start to listen commands !
}).then(() => {
    console.log("Artyom has been succesfully initialized");
}).catch((err) => {
    console.error("Artyom couldn't be initialized: ", err);
});

/**
 * To speech text
 */
artyom.say("Hello, this is a demo text.",{
    onStart: () => {
        console.log("Reading ...");
    },
    onEnd: () => {
        console.log("No more text to talk");
    }
});

Working with artyom is cool and easy, read the documentation to discover more awesome features.

Thanks for visit the repository !

Artyom example use

artyom.js's People

Contributors

sdkcarlos avatar semagarcia avatar vikaskedia avatar

Watchers

Steven avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.