セッションオーディオ処理と音声切り替え¶
Aura はセッションベースのオーディオ処理ループを実装します。状態管理のための音声コマンドは、確立された録音セッション内でのみアクティブになります。
## 構成
セッション内部の動作は次によって制御されます。
ENABLE_WAKE_WORD = True/False (config/settings.py 内)
演算ロジック¶
永続的なバックグラウンドリスナーとは異なり、Aura の STT エンジン (Vosk) は、録音セッションが外部 (ホットキーなどを介して) トリガーされた場合にのみオーディオを処理します。
Aura は PC 用の望遠鏡 🔭: 遠くから制御!
セッション中の切り替え (「テレスコープ」)¶
ENABLE_WAKE_WORD が True に設定されている場合:
トリガー: ユーザーが手動でセッションを開始します。
切り替え: セッション中に「Teleskop」と言うと、ACTIVE と SUSPENDED の状態が切り替わります。
動作: これにより、ユーザーはオーディオ ストリームを終了することなく、音声コマンドを使用してテキスト処理を「一時停止」および「再開」できます。
プライバシーと効率性¶
ENABLE_WAKE_WORD が False (デフォルト) に設定されている場合:
STT 抑制: 一時停止状態の間、
AcceptWaveformおよびPartialResultへの呼び出しは完全にスキップされます。プライバシー: システムが明示的にアクティブ状態にない限り、音声データは分析されません。
リソース管理: 一時停止中にニューラル ネットワーク分析をバイパスすることにより、CPU 使用率が最小限に抑えられます。
レイテンシとパフォーマンス¶
即時再開: 「RawInputStream」はセッション全体を通じて開いたままであるため、SUSPENDED から ACTIVE に戻ると 0ms の追加遅延が発生します。
ループ タイミング: 処理ループは約 100 ミリ秒の間隔 (
q.get(timeout=0.1)) で動作し、ほぼ瞬時の応答時間を確保します。