项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 6820
使用教程
环境要求
- 已安装 Node.js 与 npm(用于 npm install annyang)
- 使用支持 Web Speech API 的浏览器,如 Chrome、Edge
- 网页需通过浏览器访问,能在页面中执行 JavaScript
安装与启动步骤
-
1安装 annyang
在项目根目录执行 npm 安装命令,把 annyang 加入项目依赖。
npm install annyang -
2ESM 方式引入
推荐用 ESM 在脚本顶部引入默认导出的 annyang 对象。
import annyang from 'annyang'; -
3或按需命名引入
也可只引入需要的函数:addCommands、start、isSpeechRecognitionSupported。
import { addCommands, start, isSpeechRecognitionSupported } from 'annyang'; -
4CommonJS 引入
若项目使用 CommonJS,用 require 方式引入 annyang。
const annyang = require('annyang'); -
5判断浏览器支持
调用 isSpeechRecognitionSupported(),仅在返回真时初始化,避免不支持时报错。
if (annyang.isSpeechRecognitionSupported()) { // 在这里添加命令并启动 } -
6定义语音命令
用对象定义命令与回调,'search for *term' 中的 *term 会作为参数传给回调。
const commands = { 'hello': () => { alert('Hello world!'); }, 'search for *term': (term) => { console.log(`Searching for ${term}`); }, }; annyang.addCommands(commands); -
7启动语音监听
调用 start() 开始监听麦克风,页面此时会请求麦克风权限。
annyang.start();
如何确认成功
对麦克风说“hello”,页面弹出 Hello world! 提示,说明命令已识别并执行。
常见问题
Q:浏览器不支持语音识别怎么办?
A:先用 annyang.isSpeechRecognitionSupported() 判断,返回 false 时不要调用 start(),可提示用户改用 Chrome、Edge 等支持 Web Speech API 的浏览器。
Q:命令里怎么接收用户说的内容?
A:在命令字符串中用 *term 这类通配符,如 'search for *term',回调函数的第一个参数就会拿到用户说出的 term 内容。
Q:必须用 ESM 引入吗?
A:不是。README 也给出 CommonJS 写法:const annyang = require('annyang'); 之后同样调用 addCommands、start 等方法。
Q:在哪里查看完整 API 和更多示例?
A:README 提供 FAQ、API reference、在线教程和 CHANGELOG 链接,均在项目 GitHub 与官网 talater.com/annyang 上。
注意事项
- annyang 无依赖、体积约 2KB,MIT 许可,可自由使用和修改。
- 命令通过 addCommands 批量注册,注册后再调用 start() 才会开始监听。
- 官网提供可直接体验的在线语音识别 Demo,便于先验证效果。
核心亮点
- 极简 API,几行代码即可定义语音命令并触发动作
- 基于 Web Speech API,无需额外后端或第三方服务
- 体积小(约 2KB),无依赖,易于集成到任何前端项目
不足之处
- 依赖浏览器对 Web Speech API 的支持,兼容性有限(主要 Chrome/Edge)
- 语音识别准确率受环境和浏览器影响,嘈杂环境效果不佳
- 文档/社区待观察
适用场景
- 为网页添加语音导航或快捷操作(如'打开设置')
- 语音表单填写或搜索,提升移动端输入效率
- 游戏或演示页面的语音控制,增加互动性
替代项目
Web Speech API(原生)、SpeechRecognition.js、Artyom.js
下一篇:wav2letter
同类项目推荐
CrispASR
开源
C++ 本地跑多款语音模型,离线转录不用 Python
C++ ggml runtime hub for multilingual ASR and TTS models: Cohere Transcribe, Parakee···
Typeleast
开源
按快捷键说话,本地识别加大模型润色,直接写进光标处
TypeLeast:按一下快捷键说话,本机识别(SenseVoice),用你自己的大模型 API Key 整理成···
expo-speech-recognition
开源
Expo 应用一行接入设备端语音转文字
Speech Recognition for React Native Expo projects
easy-whisper-ui
开源
点点鼠标,把录音批量转成文字
Easy to use interface for the Whisper model optimized for all GPUs!
no-tipe-releases
开源
开口说话就能往任意应用里打字,本地云端都行
Free desktop dictation for macOS and Windows. Speak messages, emails and notes into ···
talon-ai-tools
开源
用语音直接指挥 AI 工具,解放双手提效
Query LLMs and AI tools with voice commands
ctc-forced-aligner
开源
用CTC模型把音频和文本对齐,秒出音素时间戳
Text to speech alignment using CTC forced alignment
vosk-api
开源
离线语音识别,不用联网,隐私安全,本地秒转文字
Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Pytho···
whisper_dictation
开源
用语音控制电脑和 AI,免打字,隐私本地化。
Private voice keyboard, agent, AI chat, images, webcam, recordings, voice control wi···
