jamsch/expo-speech-recognition
Speech Recognition for React Native Expo projects
解决的问题
expo-speech-recognition 为在 React Native 项目中实现语音转文本功能提供了一个统一的 API。它解决了 iOS、Android 和 Web 平台之间碎片化的原生语音识别 API 问题,使开发者能够编写一份代码库,即可在三个平台都正常运行。
工作原理
该库作为各平台原生语音识别服务的封装:
- iOS:使用
SFSpeechRecognizer。 - Android:使用
SpeechRecognizer。 - Web:使用
SpeechRecognitionAPI。
它提供了一组钩子(如 useSpeechRecognitionEvent)和直接的模块 API(ExpoSpeechRecognitionModule),用于启动、停止和管理语音识别会话。它处理权限、事件驱动的结果(中间结果和最终结果),以及平台特定的配置,例如本地识别和音频会话类别。
适用人群
需要在移动和 Web 应用中集成语音输入或转录服务,但又不想编写平台特定的原生代码的 React Native 和 Expo 开发者。
主要亮点
- 跨平台支持:iOS、Android 和 Web 的统一接口。
- 灵活的转录:支持实时(中间)结果和最终转录。
- 音频持久化:可在 Android 13+ 和 iOS 上将音频录制保存到本地文件。
- 基于文件的转录:支持从本地 URI 转录现有的音频文件。
- 高级控制:包含音量计量、语言检测(Android 14+),以及强制使用本地识别以防止网络音频传输的功能。
- 可定制性:允许提供上下文字符串,以提高特定应用相关术语的识别准确率。
相关
- 项目
- 项目
- 项目
- 项目
- 项目