macOS companion app
Sesle uyandırma (macOS)
Sesle Uyandırma ve Bas-Konuş
Modlar
- Uyandırma sözcüğü modu (varsayılan): her zaman açık Speech tanıyıcı tetikleme belirteçlerini (
swabbleTriggerWords) bekler. Eşleşme olduğunda yakalamayı başlatır, kısmi metinle birlikte katmanı gösterir ve sessizlikten sonra otomatik olarak gönderir. - Bas-konuş (Sağ Option basılı tutma): hemen yakalamak için sağ Option tuşunu basılı tutun; tetikleme gerekmez. Basılı tuttuğunuz sırada katman görünür; bıraktığınızda sonlandırılır ve metni düzenleyebilmeniz için kısa bir gecikmeden sonra iletilir.
Çalışma zamanı davranışı (uyandırma sözcüğü)
- Speech tanıyıcı
VoiceWakeRuntimeiçinde bulunur. - Tetikleyici yalnızca uyandırma sözcüğü ile sonraki sözcük arasında anlamlı bir duraklama olduğunda çalışır (~0.55 sn boşluk). Katman/uyarı sesi, komut başlamadan önce bile duraklamada başlayabilir.
- Sessizlik pencereleri: konuşma akıyorsa 2.0 sn, yalnızca tetikleyici duyulduysa 5.0 sn.
- Zorunlu durdurma: kontrolden çıkan oturumları önlemek için 120 sn.
- Oturumlar arası debounce: 350 ms.
- Katman, işlenmiş/geçici renklendirme ile
VoiceWakeOverlayControllerüzerinden yönetilir. - Gönderimden sonra tanıyıcı, sonraki tetikleyiciyi dinlemek için temiz biçimde yeniden başlatılır.
Yaşam döngüsü değişmezleri
- Voice Wake etkinse ve izinler verilmişse, uyandırma sözcüğü tanıyıcısı dinliyor olmalıdır (açık bir bas-konuş yakalaması sırasında hariç).
- Katman görünürlüğü (X düğmesiyle elle kapatma dahil), tanıyıcının sürdürülmesini asla engellememelidir.
Yapışkan katman hata modu (önceki)
Önceden, katman görünür halde takılı kalır ve siz elle kapatırsanız Voice Wake "ölü" görünebilirdi; çünkü çalışma zamanının yeniden başlatma denemesi katman görünürlüğü tarafından engellenebilir ve sonraki bir yeniden başlatma zamanlanmayabilirdi.
Sağlamlaştırma:
- Wake çalışma zamanının yeniden başlatılması artık katman görünürlüğü tarafından engellenmez.
- Katman kapatma tamamlandığında
VoiceSessionCoordinatorüzerindenVoiceWakeRuntime.refresh(...)tetiklenir; böylece X ile elle kapatma her zaman dinlemeyi sürdürür.
Bas-konuş ayrıntıları
- Kısayol algılama, sağ Option (
keyCode 61+.option) için global bir.flagsChangedizleyicisi kullanır. Yalnızca olayları gözlemleriz (yutma yok). - Yakalama hattı
VoicePushToTalkiçindedir: Speech'i hemen başlatır, kısmi sonuçları katmana akıtır ve bırakıldığındaVoiceWakeForwarderçağırır. - Bas-konuş başladığında, çakışan ses yakalamalarını önlemek için uyandırma sözcüğü çalışma zamanını duraklatırız; bırakıldıktan sonra otomatik olarak yeniden başlar.
- İzinler: Mikrofon + Speech gerektirir; olayları görmek için Accessibility/Input Monitoring onayı gerekir.
- Harici klavyeler: bazıları sağ Option tuşunu beklendiği gibi göstermeyebilir; kullanıcılar kaçırılan algılamalar bildirirse yedek bir kısayol sunun.
Kullanıcıya yönelik ayarlar
- Voice Wake anahtarı: uyandırma sözcüğü çalışma zamanını etkinleştirir.
- Konuşmak için Cmd+Fn tuşlarını basılı tut: bas-konuş izleyicisini etkinleştirir. macOS < 26 üzerinde devre dışıdır.
- Dil ve mikrofon seçicileri, canlı seviye ölçer, tetikleme sözcüğü tablosu, test aracı (yalnızca yerel; iletmez).
- Mikrofon seçici, bir aygıt bağlantısı kesilirse son seçimi korur, bağlantı kesildi ipucu gösterir ve aygıt geri gelene kadar geçici olarak sistem varsayılanına döner.
- Sesler: tetikleyici algılandığında ve gönderimde uyarı sesleri; varsayılan olarak macOS "Glass" sistem sesini kullanır. Her olay için herhangi bir
NSSoundtarafından yüklenebilir dosya (ör. MP3/WAV/AIFF) seçebilir veya Ses Yok seçeneğini kullanabilirsiniz.
İletme davranışı
- Voice Wake etkin olduğunda, dökümler etkin Gateway/ajan'a iletilir (Mac uygulamasının geri kalanında kullanılan aynı yerel ve uzak mod).
- Yanıtlar son kullanılan ana sağlayıcıya (WhatsApp/Telegram/Discord/WebChat) teslim edilir. Teslim başarısız olursa hata günlüğe yazılır ve çalıştırma WebChat/oturum günlükleri üzerinden hâlâ görünür olur.
İletme yükü
VoiceWakeForwarder.prefixedTranscript(_:), göndermeden önce makine ipucunu başa ekler. Uyandırma sözcüğü ve bas-konuş yolları arasında ortaktır.
Hızlı doğrulama
- Bas-konuşu açın, Cmd+Fn tuşlarını basılı tutun, konuşun, bırakın: katman kısmi sonuçları göstermeli ve ardından göndermelidir.
- Basılı tutarken menü çubuğu kulakları büyütülmüş kalmalıdır (
triggerVoiceEars(ttl:nil)kullanır); bırakıldıktan sonra küçülürler.