← all repositories
sdkcarlos/artyom.js

A voice assistant in the browser, until Chrome said 'no'

Artyom.js wraps Web Speech APIs to let you build Siri-like voice commands and synthesis in JavaScript, then Google gated it behind user clicks.

1.3k stars JavaScript Other AI
artyom.js
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does Artyom.js is a TypeScript-to-JavaScript wrapper around webkitSpeechRecognition and speechSynthesis. It lets you register voice commands (including wildcards and regexes), dictate text, and make the browser talk back. Ships as both a CommonJS module and a plain <script> tag file.

The interesting bit The library includes a Soundex algorithm to fuzzy-match misheard commands, and it can chunk through “extreme huge blocks of text” — the README claims +20K words — while still firing onStart and onEnd callbacks. The real story, though, is the giant Chrome 71 breaking change plastered at the top of the README: Google now requires a user gesture before any speech synthesis will fire, so your “Jarvis” needs a click-to-activate button before it can run hands-free.

Key highlights

  • Smart commands with wildcards (Repeat after me *) and regex support
  • Optional wake-word mode (say “Jarvis” before a command)
  • Supports ~13 languages including English variants, Spanish, German, Japanese, Mandarin, Cantonese
  • Includes a local HTTPS sandbox at localhost:3000 for testing continuous recognition
  • Single-file TypeScript source; build scripts for both browser and module targets

Caveats

  • Chrome 71+ requires at least one user click per page before speech synthesis works; the README calls this out as a hard limitation, not a bug
  • The “complete” language support claim is unclear — the table cuts off and some flag labels look suspect (“Brazil” uses pt-PT, not pt-BR)
  • Last meaningful update appears to center on the Chrome 71 workaround; activity level is unclear from the README alone

Verdict Worth a look if you need quick voice prototyping in a controlled web app where you can guarantee a click interaction. Skip it if you need fully autonomous voice startup or cross-browser support beyond Chrome/Edge’s Web Speech implementations.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.