语音转文本
Kime 内置语音转文本功能,支持通过麦克风进行实时语音识别,将语音转换为文字输入。
功能特点
- 实时识别 - 边说边识别,无需等待录音结束
- 流式输出 - 识别结果实时显示,支持部分结果展示
- 音量可视化 - 显示麦克风音量波动
- 高准确率 - 基于阿里百炼 FunAsr 模型
配置方法
获取 API Key
- 访问 阿里云百炼平台
- 登录/注册阿里云账号
- 在模型广场获取 API Key
配置步骤
- 进入输入法设置页面
- 点击「语音转文本」设置
- 将 API Key 粘贴到输入框
- 点击保存按钮保存设置
- 授予麦克风权限
使用方法
启动语音输入
- 在输入状态下,长按空格键进入语音模式
- 或点击键盘上的麦克风图标
- 开始说话,识别结果会实时显示
结束语音输入
- 松开空格键:提交识别结果
- 点击发送按钮:提交结果并关闭语音模式
- 点击取消按钮:放弃结果并关闭语音模式
权限要求
语音转文本功能需要以下权限:
| 权限 | 用途 |
|---|---|
| 麦克风 | 录制语音用于识别 |
| 网络 | 连接阿里云服务进行识别 |
首次使用时会请求麦克风权限,请务必允许。
技术细节
服务提供商
- 服务商:阿里云百炼平台
- 模型:fun-asr-realtime(实时语音识别)
- 协议:WebSocket 实时通信
- 采样率:16000 Hz
- 格式:PCM 16-bit 单声道
相关文件
| 文件 | 说明 |
|---|---|
SpeechRecognitionManager.kt | 语音识别管理器 |
FunAsrWebSocketManager.kt | FunAsr WebSocket 连接管理 |
VoiceRecognitionHandler.kt | 语音识别 UI 处理 |
VoiceKeyboardLayout.kt | 语音模式键盘布局 |
识别状态
kotlin
enum class RecognitionState {
IDLE, // 空闲
LISTENING, // 正在监听
PROCESSING, // 处理中
ERROR // 错误
}常见问题
Q: 语音识别无反应?
检查以下几点:
- 是否已授予麦克风权限
- API Key 是否正确配置
- 网络连接是否正常
Q: 识别准确率低?
- 确保在安静环境下使用
- 说话清晰,语速适中
- 麦克风没有被遮挡
Q: 连接失败?
- 检查网络连接
- 确认 API Key 有效
- 稍后重试,可能是服务端临时故障
注意事项
- 语音识别需要联网使用
- API Key 请妥善保管,不要泄露
- 语音数据会上传至阿里云进行处理
- 建议在 WiFi 环境下使用,避免消耗移动数据流量