Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JavaScript
  3. annyang

annyang

MITTypeScriptv3.0.0

A tiny JavaScript library for adding speech recognition and voice commands to websites.

Visit WebsiteGitHubGitHub
6.8k stars1.0k forks0 contributors

What is annyang?

annyang is a lightweight JavaScript library that adds speech recognition capabilities to websites, enabling users to control web applications with voice commands. It provides a simple API to define custom voice commands and integrates seamlessly with the browser's native SpeechRecognition API. The library solves the problem of making web interfaces more accessible and interactive through hands-free voice control.

Target Audience

Frontend developers and web designers looking to enhance user experience with voice interaction, particularly for accessibility features, hands-free navigation, or innovative UI controls.

Value Proposition

Developers choose annyang for its minimal size (2 KB), zero dependencies, and straightforward API that simplifies adding speech recognition without complex setups. Its compatibility with the browser's built-in API ensures broad support and ease of integration.

Overview

💬 Speech recognition for your site

Use Cases

Best For

  • Adding voice navigation to single-page applications
  • Creating accessible web interfaces for users with mobility impairments
  • Building hands-free demos or interactive tutorials
  • Implementing voice search functionality on websites
  • Enhancing educational or gaming sites with voice commands
  • Prototyping voice-controlled web applications quickly

Not Ideal For

  • Projects requiring server-side or offline speech recognition independent of browser APIs
  • Applications needing complex natural language understanding beyond simple keyword matching
  • Teams that must ensure consistent voice recognition across all browsers, including iOS Safari
  • Environments where users have limited or no internet access, as the SpeechRecognition API may rely on cloud services

Pros & Cons

Pros

No Dependencies, Tiny Size

Leverages the browser's native SpeechRecognition API, resulting in a minimal 2 KB library with zero external dependencies, as highlighted in the README.

Intuitive Command Syntax

Uses a straightforward object-based syntax to define voice commands, including wildcards for dynamic inputs, making it easy to set up basic interactions as shown in the Hello World example.

Flexible Integration Options

Supports ESM, CommonJS, and script tag inclusion, allowing seamless adoption in various JavaScript project setups without configuration hurdles.

GUI Ready with Speech KITT

Easily pairs with Speech KITT for a customizable graphical interface, providing visual feedback and user controls to enhance the speech recognition experience, as documented in the README.

Cons

Limited Browser Compatibility

Relies on the SpeechRecognition API, which has inconsistent support across browsers—particularly poor on iOS Safari—leading to unreliable user experiences in some environments.

Basic Recognition Capabilities

Only supports simple keyword and wildcard matching, lacking advanced features like continuous listening, context awareness, or natural language processing without custom extensions.

Separate GUI Dependency

Requires integrating Speech KITT as an additional library for a graphical interface, adding complexity and potential compatibility issues for projects needing visual controls out-of-the-box.

Frequently Asked Questions

Quick Stats

Stars6,816
Forks1,048
Contributors0
Open Issues10
Last commit1 month ago
CreatedSince 2013

Tags

#web-accessibility#voice-commands#browser-api#speech-recognition#voice#frontend#speech-to-text#javascript-library#user-interaction#speech

Built With

J
JavaScript

Links & Resources

Website

Included in

JavaScript34.9k
Auto-fetched 9 hours ago

Related Projects

voix.jsvoix.js

:loudspeaker: A JavaScript library to add voice commands to your sites, apps or games.

Stars581
Forks79
Last commit6 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub