Check the changes of artyom according to the latest version.

To check the version of artyom that you're using, execute the artyom.getVersion() method in your project.


  • Source code of artyom now purely TypeScript.
  • Artyom now uses a constructor.
  • New method restart.
  • The fatality method now implements promises.
  • Some private methods and properties, are now public.


  • Support for regular expressions in Smart Commands.
  • Artyom Sandbox works now on LAN (read more about here).
  • Fix on mobile devices that recognizes the text twice.
  • New language supported : Hindi with initialization code hi-IN


  • New artyom event NOT_COMMAND_MATCHED triggered when the speech of the user doesn't match with any of the loaded commands (see artyom.when).


  • The speech synthesis of artyom (artyom.say) can now use the language providen with the initialization function (is not the default voice of the device anymore).
  • You can force the language of artyom.say for a single speech utterance object without modifying the initialization language. Just provide the lang property in the configuration object.
  • Artyom is available as a module and is written in TypeScript too (Vanilla JS still maintained), exported with Common JS (require("artyom.js"));
  • Now the initialization language code for artyom (in artyom.initialize) needs to follow the BCP-47 format (4 characters e.g en-US, es-ES).


  • artyom.initialize now is an implementation of a Javascript Promise, you can check if artyom was succesfully initialized or not.


  • Removed definitely the limit of ~130 words in the speech synthesis and implementation of natural reading.


  • Implementation of the Soundex Algorithm to increase the probability of match a command (in case that the transcription provides a similar word).
  • Pause and resume the command recognition.
  • Added the keyword at initialization (obeyKeyword) to resume the command recognition if it has been paused.


  • Introduction to the new method artyom.dontObey : callable only if the recognition is active, this function will pause the recognition (it will keep recognizing but the execution of commands will be ignored).
  • Introduction to the new method artyom.obey : if artyom.dontObey was previously executed it will resume the command recognition to its original state.
  • Introduction to the new method artyom.isObeying : returns a boolean according to the artyom recognition state (dontObey and obey).
  • New initialization property obeyKeyword to resume the recognition automatically (obey) if it is paused (dontObey), read more about in artyom.initialize.
  • New artyom mode remote. Use the remote mode to process commands remotely (with a server) instead of using Javascript objects.
  • Introduction to the new method artyom.remoteProcessorService to handle the recognized text to process the commands in case that artyom is running with remote mode.


  • Clean up automatically the garbage collection on artyom.shutUp function.
  • Optimization on commands processing.
  • Optimization and change of Global Events Names, see .when function for more info.
  • Introduction to the new method : artyom.setDebug


  • Solved bug with the Javascript Garbage collector that makes that the onEnd event is never triggered.
  • Introduction to the new methods : artyom.isRecognizing, artyom.isSpeaking, artyom.getGarbageCollection and artyom.clearGarbageCollection.


  • Artyom supports now more languages : Chinese cantonese and Chinese mandarin
  • Styles applied to the artyom.debug function in the console.
  • Introduction to the new method artyom.getNativeApi


  • Bug fixes


  • Added property executionKeyword to the initialize function (execute commands quickly in noisy environments) Read more
  • Introduction to the new method artyom.repeatLastSay


  • Artyom supports now more languages : Russian,Portuguese and Dutch (Nederlands)


  • A typo of the names of artyom was fixed, that produced that [Spanish,Italian,French] languages talk with German Voice @special thanks to Olivier Dupoint for report this bug caused by the rename of the Added Voices of Google Chrome


  • Artyom.say method is quicker in comparation to previous versions.
  • Introduction to the new method artyom.removeCommands to delete existing commands
  • Introduction to the new method artyom.newPrompt to create easily voice prompts to users
  • artyom.doInstruction is renamed to artyom.simulateInstruction


  • The old way to add commands is not supported anymore, use artyom.addCommands instead, the commands structure still the same
  • Remove the commands of artyom with artyom.emptyCommands
  • Redirect the recognized text of artyom as you like with artyom.redirectRecognizedTextOutput
  • Artyom is a native locked object, that means you cannot extend the original artyom object, create an extension of artyom with artyom.extension.MyNewProperty = function(){//DoSomething}


  • Artyom supports now more languages : Italiano,Français,Japanese 日本人 and US Voice for en-US region
  • Enhanced detectErrors method. Check why artyom is not working or other warnings on your browser easily!


  • Removed support for previous versions of artyom
  • Artyom speech synthesis IMPROVED
  • Get the loaded commands of artyom (artyom.getAvailableCommands())
  • Get available voices with Synchronous Method (artyom.getVoices)
  • Added SECURE onStart and onEnd callbacks to artyom.say()
  • Simulate a voice command without microphone with artyom.doInstruction("Hello")
  • artyom.sayRandom() have a new structure, check documentation
  • First version
  • How do i know if i have this version?
  • The easiest way is using artyom.getVersion();. If you have this version a "getVersion of undefined - is not a function will appear in your console."