// the find
zenorocha/voice-elements
:speaker: Web Component wrapper to the Web Speech API, that allows you to do voice recognition and speech synthesis using Polymer
A Polymer 1.x Web Component wrapper around the Web Speech API from 2014, giving you declarative HTML elements for text-to-speech and speech-to-text. Last touched in 2018 and built on Bower, which tells you everything about where it sits in the dependency tree of history. Useful mainly as a reference for how Web Components were done before the platform caught up.
The declarative API is clean for its era — putting accent and text as attributes on a custom element is exactly the right abstraction. The component splits concerns correctly: one element for synthesis, one for recognition, no monolith. The event surface (onstart, onend, onerror, onresult) maps directly to the underlying Web Speech API without adding ceremony.
Bower is dead, Polymer 1.x is dead, and the HTML Imports mechanism it uses (<link rel='import'>) was removed from Chrome in 2020 — this literally cannot run in a modern browser without polyfills stacked on polyfills. Browser support was always Chrome-only for recognition and the situation hasn't improved. Zero activity in 8 years means no fixes for the SpeechRecognition API's various quirks (interim results, mobile Safari's partial support, the permission model changes). If you need this today, you'd write 30 lines of vanilla JS directly against the Web Speech API instead.