macOS companion app

بیدارباش صوتی (macOS)

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

الزامات

بیدارباش صوتی و فشار برای صحبت به macOS 26 یا جدیدتر نیاز دارند. در نسخه‌های قدیمی‌تر macOS، کنترل‌ها از صفحه تنظیمات صوتی پنهان می‌شوند؛ این صفحه الزام macOS 26 را نشان می‌دهد.

حالت‌ها

  • حالت واژه بیدارباش (پیش‌فرض): تشخیص‌گر گفتار همیشه‌روشن منتظر توکن‌های محرک (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 را فراخوانی می‌کند.
  • وقتی فشار برای صحبت شروع می‌شود، زمان اجرای واژه بیدارباش را مکث می‌کنیم تا از تداخل ورودی‌های صوتی جلوگیری شود؛ پس از رها کردن، به‌طور خودکار دوباره شروع می‌شود.
  • مجوزها: به میکروفون + گفتار نیاز دارد؛ دیدن رویدادها به تایید دسترس‌پذیری/پایش ورودی نیاز دارد.
  • صفحه‌کلیدهای خارجی: برخی ممکن است Option راست را مطابق انتظار آشکار نکنند؛ اگر کاربران از جاافتادن‌ها گزارش دادند، یک میان‌بر جایگزین ارائه کنید.

تنظیمات کاربرپسند

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

رفتار ارسال

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

بار ارسال

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

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

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

مرتبط

Was this useful?
On this page

On this page