# 会话音频处理和语音切换 Aura 实现了基于会话的音频处理循环。用于状态管理的语音命令仅在已建立的录音会话中有效。 ## 配置 会话内部行为由以下因素控制: `ENABLE_WAKE_WORD = True/False`(在 `config/settings.py` 中) ## 运算逻辑 与持久后台监听器不同,Aura 的 STT 引擎 (Vosk) 仅在外部触发录制会话(例如通过热键)时处理音频。 > **Aura 是您的 PC 望远镜🔭:远距离控制!** ### 会话中切换(“Teleskop”) 当“ENABLE_WAKE_WORD”设置为 **True** 时: 1. **触发:** 用户手动启动会话。 2. **切换:** 在会话期间说“Teleskop”会在 **ACTIVE** 和 **SUSPENDED** 状态之间切换。 3. **行为:** 这允许用户使用语音命令“暂停”和“恢复”文本处理,而无需终止音频流。 ### 隐私和效率 当“ENABLE_WAKE_WORD”设置为**False**(默认)时: - **STT 抑制:** 在挂起状态时,完全跳过对“AcceptWaveform”和“PartialResult”的调用。 - **隐私:** 除非系统处于明确的活动状态,否则不会分析任何音频数据。 - **资源管理:** 通过在暂停期间绕过神经网络分析来最大限度地减少 CPU 使用率。 ## 延迟和性能 - **即时恢复:** 由于 `RawInputStream` 在整个会话期间保持打开状态,因此从 SUSPENDED 切换回 ACTIVE 会产生 **0 毫秒的额外延迟**。 - **循环计时:** 处理循环以约 100 毫秒的间隔运行(`q.get(timeout=0.1)`),确保近乎即时的响应时间。