会话音频处理和语音切换

Aura 实现了基于会话的音频处理循环。用于状态管理的语音命令仅在已建立的录音会话中有效。

## 配置 会话内部行为由以下因素控制: ENABLE_WAKE_WORD = True/False(在 config/settings.py 中)

运算逻辑

与持久后台监听器不同,Aura 的 STT 引擎 (Vosk) 仅在外部触发录制会话(例如通过热键)时处理音频。

Aura 是您的 PC 望远镜🔭:远距离控制!

会话中切换(“Teleskop”)

当“ENABLE_WAKE_WORD”设置为 True 时:

  1. 触发: 用户手动启动会话。

  2. 切换: 在会话期间说“Teleskop”会在 ACTIVESUSPENDED 状态之间切换。

  3. 行为: 这允许用户使用语音命令“暂停”和“恢复”文本处理,而无需终止音频流。

隐私和效率

当“ENABLE_WAKE_WORD”设置为False(默认)时:

  • STT 抑制: 在挂起状态时,完全跳过对“AcceptWaveform”和“PartialResult”的调用。

  • 隐私: 除非系统处于明确的活动状态,否则不会分析任何音频数据。

  • 资源管理: 通过在暂停期间绕过神经网络分析来最大限度地减少 CPU 使用率。

延迟和性能

  • 即时恢复: 由于 RawInputStream 在整个会话期间保持打开状态,因此从 SUSPENDED 切换回 ACTIVE 会产生 0 毫秒的额外延迟

  • 循环计时: 处理循环以约 100 毫秒的间隔运行(q.get(timeout=0.1)),确保近乎即时的响应时间。