AIRI 网页版零配置语音识别:浏览器 Web Speech API(ASR/STT)接入实战指南
AIRI 网页版零配置语音识别浏览器 Web Speech APIASR/STT接入实战指南【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airiAIRI 内置的Web Speech API 转写提供者browser-web-speech-api利用浏览器原生语音识别能力让 Web 版本无需任何 API Key 和外部服务即可完成实时语音转文字STT/ASR是快速体验语音输入的最简方案。本文将带你完成从环境校验、图形化配置到实时转写验证的完整流程并结合仓库源码剖析其底层实现、参数默认值与问题排查路径读完即可在自己的浏览器环境中跑通基于 Web Speech API 的语音对话链路。Web Speech API为什么它是零门槛的选择Web Speech API 是浏览器内置的语音识别接口在 AIRI 中它作为一个本地Local转写提供者存在。根据 provider 定义 中的说明description: Browser-native speech recognition. No API keys.——无需任何密钥requiresCredentials: false——不需要填写凭据即可启用支持的任务包括speech-to-text、automatic-speech-recognition、asr、stt、streaming-transcription并且同时具备**流式输入streamInput与流式输出streamOutput**能力可接入 AIRI 的实时听觉流水线。正如 index.ts 的配置说明所示如果你只想在网页上快速试验语音输入且浏览器支持该 API这就是设置成本最低的选项——不用申请密钥、不用配置服务器地址、不用选择远端模型。浏览器支持确认先检查运行环境在开始配置前请先确认两点使用 AIRI 网页版。Web Speech API 提供者仅能在浏览器环境中运行无法在桌面版Electron中使用。确认浏览器支持该 API 并愿意授予麦克风权限。这一点在源码中有明确的硬性校验。看 provider.ts 的可用性检测逻辑const isAvailable typeof window ! undefined (webkitSpeechRecognition in window || SpeechRecognition in window) if (!isAvailable) { throw new Error(Web Speech API is not available in this environment. It requires a browser context with SpeechRecognition support (Chrome, Edge, Safari).) }即同时满足两个条件才能使用存在window对象浏览器渲染上下文全局存在SpeechRecognition或带厂商前缀的webkitSpeechRecognitionChrome、Edge、Safari 等基于 Chromium 或 WebKit 的现代浏览器通常都支持。从源码结构看运行环境矩阵测试 明确将browser-web-speech-api归入browserOnlyProviderIds仅浏览器提供者集合进一步印证了它对浏览器环境的强依赖。需要注意识别性能会因浏览器、网络环境和语言不同而有所差异。Web Speech API 在部分浏览器实现中依赖云端语音服务因此实际识别质量与网络状况相关。在 AIRI 网页版中配置 Web Speech API配置入口与操作步骤打开Web 版本→设置Settings→ 提供者Providers→ 转录Transcription→ Web Speech API。在Recognition Language识别语言下拉框中选择识别语言。按需开启Continuous Recognition连续识别与Show Interim Results显示中间结果。该页面明确提示No API key required无需任何凭据即可继续。三个核心配置项说明根据 浏览器 Web Speech API 设置页 与 配置 schema三个配置项的默认值如下配置项默认值说明language识别语言en-US指定语音识别使用的语言代码BCP-47 格式continuous连续识别true开启后持续监听而不是每说完一句话就停止interimResults显示中间结果true开启后边说话边实时显示部分识别结果Recognition Language 可选语言列表设置页面内置了常用的语言选项见 browser-web-speech-api.vueEnglish (US) —en-USEnglish (UK) —en-GBSpanish —es-ESFrench —fr-FRGerman —de-DEItalian —it-ITPortuguese —pt-BRJapanese —ja-JPKorean —ko-KRChinese (Simplified) —zh-CNChinese (Traditional) —zh-TWRussian —ru-RU底层实现这些配置项如何被使用在 provider.ts 中配置项被直接映射到SpeechRecognition实例的属性上const recognition new SpeechRecognition() recognition.lang extraOptions?.language || en-US recognition.continuous extraOptions?.continuous ?? true recognition.interimResults extraOptions?.interimResults ?? true recognition.maxAlternatives extraOptions?.maxAlternatives ?? 1各参数的语义如下lang识别语言代码最终传给浏览器语音服务continuous是否连续监听。注意 AIRI 在持续监听模式下会在onend事件里自动重启识别会话延迟 100ms见 provider.ts从而让对话无限期进行下去interimResults是否返回中间未定稿结果。AIRI 出于避免刷屏的考虑默认只把isFinal true的定稿片段作为增量delta对外发出见 provider.ts中间结果主要用于调试日志maxAlternatives每个结果最多返回的候选数默认 1。另外值得注意的一点Web Speech API只支持实时流式识别不支持文件转写。在createWebSpeechAPIProvider的fetch实现中如果请求体携带FormData、Blob或File会直接抛出异常提示改用流式 API见 provider.ts。流式转写函数与实时管线仓库还提供了面向实时听觉流水线的流式转写函数streamWebSpeechAPITranscription见 provider.ts它接收MediaStream并返回ReadableStream形式的增量文本流fullStream、最终文本 Promisetext以及文本流textStream并通过onSentenceEnd/onSpeechEnd回调把识别结果推送给上层。该函数在 听觉模块 store 中被直接调用与麦克风流、AbortController、空闲定时器、IO 追踪 Span 等机制整合构成了完整的“麦克风 → Web Speech API → 转写文本 → 语音对话”链路。验证设置从页面测试到模块配置配置完成后建议按以下步骤验证转写是否真正生效1. 在设置页内直接测试Web Speech API 的提供者设置页内建了Speech-to-Text Test语音转文字测试面板见 browser-web-speech-api.vue选择Audio Input Device音频输入设备——未选择时页面会给出提示并要求先选择点击Start Speech-to-Text Test开始测试对着麦克风说话页面会实时显示流式识别文本Current transcription与最终结果Final transcription。该测试直接调用streamWebSpeechAPITranscription无论默认听觉提供者是什么此测试始终固定使用 Web Speech API因此非常适合用来单独验证当前浏览器与麦克风环境是否正常。测试过程中页面还会显示当前生效的语言、模式Streaming、连续识别与中间结果开关状态。2. 在听觉Hearing模块中启用进入设置 → 模块 → 听觉Hearing将转写提供者切换为Web Speech API并确认选择了正确的音频输入设备。允许浏览器的麦克风访问权限。开始一段简短的语音输入测试观察 AIRI 中是否出现转写结果。在听觉 store 中当activeTranscriptionProvider browser-web-speech-api时configured计算属性直接返回trueWeb Speech API 只要选中即可用不强制要求模型见 hearing.ts若未手动选择模型会自动选中默认模型web-speech-api见 hearing.ts语言与选项的优先级为调用时传入的providerOptions 提供者配置language/continuous/interimResults 内置默认值见 hearing.ts。问题排查指南如果转写结果没有出现请按下表逐项排查现象可能原因处理方法页面提示 Web Speech API 不可用浏览器不支持SpeechRecognition或在 Electron 桌面版中使用改用 Chrome / Edge / Safari 等支持的浏览器并使用 AIRI 网页版转写无输出浏览器麦克风权限被拒绝在浏览器地址栏的站点权限中允许麦克风访问并刷新页面重试转写无输出选错了音频输入设备在听觉模块或测试面板中切换到实际使用的麦克风识别文字与所说语言不符识别语言Recognition Language设置不正确将language调整为与实际口音匹配的语言代码如zh-CN、ja-JP报not-allowed错误麦克风权限被拒绝源码会在该错误下明确提示 “Please grant microphone access and try again.”见 provider.ts报no-speech/audio-capture/network错误未检测到语音、麦克风采集异常或网络不可用这类错误在实现中会被静默记录而非中断会话见 provider.ts可检查麦克风与网络后重试如果当前浏览器确实不支持该 API仓库中已具备可选的替代路线改用本地转写提供者local transcription provider或云端转写提供者cloud transcription provider在提供者列表中切换即可无需改动其他配置。结语Web Speech API 提供者让 AIRI 网页版在“零密钥、零部署”的前提下获得了可用的实时语音识别能力三个核心开关语言、连续识别、中间结果即可覆盖多数语音输入场景设置页内置的 STT 测试面板又能独立验证浏览器与麦克风环境源码中的可用性检测、连续模式自动重启、错误分类处理等实现细节则保证了其在真实使用中的健壮性。对于希望快速体验 AIRI 语音对话、或暂时不想接入云端转写服务的用户这是当前仓库中最便捷的入口。【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →