---
read_when:
    - کار روی مسیرهای بیدارباش صوتی یا فشار برای صحبت
summary: حالت‌های بیدارباش صوتی و فشار برای صحبت به‌همراه جزئیات مسیریابی در برنامهٔ مک
title: بیدارسازی صوتی (macOS)
x-i18n:
    generated_at: "2026-05-06T09:31:11Z"
    model: gpt-5.5
    provider: openai
    source_hash: 312895b5767c447233bd77cbcd48ea81bb6c700080abc31974188b610a1b1ef0
    source_path: platforms/mac/voicewake.md
    workflow: 16
---

# بیدارباش صوتی و فشار برای صحبت

## حالت‌ها

- **حالت واژهٔ بیدارباش** (پیش‌فرض): تشخیص‌گر گفتار همیشه روشن منتظر توکن‌های محرک (`swabbleTriggerWords`) می‌ماند. در صورت تطابق، ضبط را شروع می‌کند، هم‌پوشانی را با متن جزئی نشان می‌دهد، و پس از سکوت به‌صورت خودکار ارسال می‌کند.
- **فشار برای صحبت (نگه‌داشتن Option راست)**: کلید Option راست را نگه دارید تا ضبط بلافاصله شروع شود، بدون نیاز به محرک. هم‌پوشانی هنگام نگه‌داشتن ظاهر می‌شود؛ رها کردن، متن را نهایی می‌کند و پس از تأخیری کوتاه آن را ارسال می‌کند تا بتوانید متن را کمی اصلاح کنید.

## رفتار زمان اجرا (واژهٔ بیدارباش)

- تشخیص‌گر گفتار در `VoiceWakeRuntime` قرار دارد.
- محرک فقط وقتی فعال می‌شود که بین واژهٔ بیدارباش و واژهٔ بعدی یک **مکث معنادار** وجود داشته باشد (فاصلهٔ حدود 0.55 ثانیه). هم‌پوشانی/زنگ می‌تواند در زمان مکث، حتی پیش از شروع فرمان، آغاز شود.
- پنجره‌های سکوت: 2.0 ثانیه وقتی گفتار در جریان است، 5.0 ثانیه اگر فقط محرک شنیده شده باشد.
- توقف سخت: 120 ثانیه برای جلوگیری از نشست‌های مهارنشده.
- حذف جهش بین نشست‌ها: 350 میلی‌ثانیه.
- هم‌پوشانی از طریق `VoiceWakeOverlayController` با رنگ‌بندی ثبت‌شده/ناپایدار کنترل می‌شود.
- پس از ارسال، تشخیص‌گر به‌صورت تمیز دوباره شروع می‌شود تا برای محرک بعدی گوش کند.

## ناوردایی‌های چرخهٔ عمر

- اگر بیدارباش صوتی فعال باشد و مجوزها داده شده باشند، تشخیص‌گر واژهٔ بیدارباش باید در حال گوش‌دادن باشد (به‌جز هنگام ضبط صریح فشار برای صحبت).
- نمایان‌بودن هم‌پوشانی (از جمله بستن دستی با دکمهٔ X) هرگز نباید مانع از ازسرگیری تشخیص‌گر شود.

## حالت خرابی هم‌پوشانی چسبیده (قبلی)

پیش‌تر، اگر هم‌پوشانی در حالت نمایان گیر می‌کرد و شما آن را دستی می‌بستید، بیدارباش صوتی ممکن بود «از کار افتاده» به نظر برسد، چون تلاش زمان اجرا برای راه‌اندازی مجدد می‌توانست به دلیل نمایان‌بودن هم‌پوشانی مسدود شود و راه‌اندازی مجدد بعدی هم زمان‌بندی نشده بود.

سخت‌سازی:

- راه‌اندازی مجدد زمان اجرای بیدارباش دیگر با نمایان‌بودن هم‌پوشانی مسدود نمی‌شود.
- تکمیل بستن هم‌پوشانی از طریق `VoiceSessionCoordinator` یک `VoiceWakeRuntime.refresh(...)` را فعال می‌کند، بنابراین بستن دستی با X همیشه گوش‌دادن را از سر می‌گیرد.

## جزئیات فشار برای صحبت

- تشخیص کلید میان‌بر از یک پایش‌گر سراسری `.flagsChanged` برای **Option راست** (`keyCode 61` + `.option`) استفاده می‌کند. ما فقط رویدادها را مشاهده می‌کنیم (بدون بلعیدن آن‌ها).
- خط لولهٔ ضبط در `VoicePushToTalk` قرار دارد: گفتار را بلافاصله شروع می‌کند، بخش‌های جزئی را به هم‌پوشانی جریان می‌دهد، و هنگام رها کردن `VoiceWakeForwarder` را فراخوانی می‌کند.
- وقتی فشار برای صحبت شروع می‌شود، زمان اجرای واژهٔ بیدارباش را مکث می‌کنیم تا از رقابت tapهای صوتی جلوگیری شود؛ پس از رها کردن، به‌صورت خودکار دوباره شروع می‌شود.
- مجوزها: به میکروفون + گفتار نیاز دارد؛ دیدن رویدادها به تأیید Accessibility/Input Monitoring نیاز دارد.
- صفحه‌کلیدهای خارجی: برخی ممکن است Option راست را مطابق انتظار ارائه نکنند؛ اگر کاربران از از‌دست‌رفتن رویدادها گزارش دادند، یک میان‌بر جایگزین ارائه کنید.

## تنظیمات روبه‌روی کاربر

- کلید **بیدارباش صوتی**: زمان اجرای واژهٔ بیدارباش را فعال می‌کند.
- **برای صحبت، Cmd+Fn را نگه دارید**: پایش‌گر فشار برای صحبت را فعال می‌کند. روی macOS < 26 غیرفعال است.
- انتخاب‌گرهای زبان و میکروفون، سطح‌سنج زنده، جدول واژه‌های محرک، آزمایش‌گر (فقط محلی؛ ارسال نمی‌کند).
- انتخاب‌گر میکروفون اگر دستگاهی قطع شود آخرین انتخاب را حفظ می‌کند، یک راهنمای قطع‌شده نشان می‌دهد، و تا زمان بازگشت دستگاه موقتاً به پیش‌فرض سیستم برمی‌گردد.
- **صداها**: هنگام تشخیص محرک و هنگام ارسال زنگ می‌زند؛ پیش‌فرض، صدای سیستمی «Glass» در macOS است. برای هر رویداد می‌توانید هر فایل قابل بارگذاری با `NSSound` (مثلاً MP3/WAV/AIFF) را انتخاب کنید یا **بدون صدا** را برگزینید.

## رفتار ارسال

- وقتی بیدارباش صوتی فعال است، رونوشت‌ها به Gateway/عامل فعال ارسال می‌شوند (همان حالت محلی در برابر راه‌دور که بقیهٔ برنامهٔ مک استفاده می‌کند).
- پاسخ‌ها به **آخرین ارائه‌دهندهٔ اصلی استفاده‌شده** (WhatsApp/Telegram/Discord/WebChat) تحویل داده می‌شوند. اگر تحویل ناموفق باشد، خطا ثبت می‌شود و اجرا همچنان از طریق WebChat/لاگ‌های نشست قابل مشاهده است.

## محمولهٔ ارسال

- `VoiceWakeForwarder.prefixedTranscript(_:)` پیش از ارسال، راهنمای ماشین را به ابتدای متن اضافه می‌کند. بین مسیرهای واژهٔ بیدارباش و فشار برای صحبت مشترک است.

## راستی‌آزمایی سریع

- فشار برای صحبت را روشن کنید، Cmd+Fn را نگه دارید، صحبت کنید، رها کنید: هم‌پوشانی باید بخش‌های جزئی را نشان دهد و سپس ارسال کند.
- هنگام نگه‌داشتن، گوش‌های نوار منو باید بزرگ‌شده باقی بمانند (از `triggerVoiceEars(ttl:nil)` استفاده می‌کند)؛ پس از رها کردن پایین می‌آیند.

## مرتبط

- [بیدارباش صوتی](/fa/nodes/voicewake)
- [هم‌پوشانی صوتی](/fa/platforms/mac/voice-overlay)
- [برنامهٔ macOS](/fa/platforms/macos)
