Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

အသံဖြင့် နိုးဆော်ခြင်း နှင့် နှိပ်၍ ပြောစနစ်

မုဒ်များ

  • Wake‑word mode (default): အမြဲဖွင့်ထားသော Speech recognizer သည် trigger tokens (swabbleTriggerWords) ကို စောင့်ဆိုင်းသည်။ ကိုက်ညီသည်နှင့် capture ကို စတင်ပြီး partial စာသားပါသော overlay ကို ပြသကာ အသံမရှိတော့လျှင် အလိုအလျောက် ပို့သည်။
  • Push‑to‑talk (Right Option ကို ဖိထားခြင်း): Right Option key ကို ဖိထားရုံဖြင့် ချက်ချင်း capture လုပ်သည်—trigger မလိုအပ်ပါ။ ဖိထားစဉ် overlay ပေါ်လာပြီး လွှတ်ချလိုက်သည့်အခါ အနည်းငယ် နှောင့်နှေးပြီး finalize လုပ်ကာ ပို့သည် (စာသားကို အနည်းငယ် ပြင်ဆင်နိုင်ရန်)။

Runtime အပြုအမူ (wake-word)

  • Speech recognizer သည် VoiceWakeRuntime ထဲတွင် ရှိပါသည်။
  • Wake word နှင့် နောက်ထပ် စကားလုံးကြား အဓိပ္ပါယ်ရှိသော အနားယူမှု (~0.55s gap) ရှိမှသာ trigger အလုပ်လုပ်သည်။ Command မစတင်ခင်ပင် အနားယူမှုအချိန်တွင် overlay/chime စတင်နိုင်သည်။
  • တိတ်ဆိတ်ချိန် သတ်မှတ်ချက်များ: စကားပြောနေစဉ် 2.0 စက္ကန့်၊ trigger သာ ကြားရပါက 5.0 စက္ကန့်။
  • Hard stop: runaway ဆက်ရှင်များကို ကာကွယ်ရန် 120 စက္ကန့်။
  • ဆက်ရှင်များအကြား Debounce: 350ms။
  • Overlay ကို committed/volatile အရောင်ခွဲခြားမှုဖြင့် VoiceWakeOverlayController မှတဆင့် မောင်းနှင်ပါသည်။
  • ပို့ပြီးနောက် recognizer သည် နောက်ထပ် trigger ကို နားထောင်ရန် သန့်ရှင်းစွာ ပြန်လည်စတင်ပါသည်။

Lifecycle မပြောင်းလဲရမည့် စည်းမျဉ်းများ

  • Voice Wake ကို ဖွင့်ထားပြီး ခွင့်ပြုချက်များ ပေးထားပါက (အထူး push-to-talk အသံဖမ်းနေချိန် မဟုတ်လျှင်) wake-word recognizer သည် နားထောင်နေသင့်ပါသည်။
  • Overlay မြင်သာမှု (X ခလုတ်ဖြင့် လက်ဖြင့် ပိတ်ခြင်း အပါအဝင်) သည် recognizer ပြန်လည်စတင်ခြင်းကို မည်သည့်အခါမျှ မတားဆီးရပါ။

Sticky overlay မအောင်မြင်မှု မုဒ် (ယခင်)

ယခင်က overlay သည် မပျောက်ဘဲ ကပ်နေပြီး လက်ဖြင့် ပိတ်လိုက်ပါက Voice Wake သည် “အလုပ်မလုပ်တော့သလို” ဖြစ်နိုင်ခဲ့သည်။ အကြောင်းမှာ runtime ၏ ပြန်လည်စတင် ကြိုးပမ်းမှုသည် overlay မြင်သာမှုကြောင့် ပိတ်ပင်ခံရနိုင်ပြီး နောက်ထပ် ပြန်လည်စတင်မှုကို အချိန်ဇယားမထားခဲ့ခြင်း ဖြစ်ပါသည်။

ခိုင်မာစေရန် ပြုလုပ်ထားသည့် အချက်များ—

  • Wake runtime ပြန်လည်စတင်မှုကို overlay မြင်သာမှုက မတားဆီးတော့ပါ။
  • Overlay ကို ပိတ်သိမ်းပြီးစီးခြင်းသည် VoiceSessionCoordinator မှတဆင့် VoiceWakeRuntime.refresh(...) ကို လှုံ့ဆော်ပေးသောကြောင့် X ဖြင့် လက်ဖြင့် ပိတ်လိုက်သော်လည်း အမြဲ နားထောင်မှုကို ပြန်လည်စတင်ပါသည်။

Push-to-talk အထူးအချက်များ

  • Hotkey detection သည် right Option (keyCode 61 + .option) အတွက် global .flagsChanged monitor ကို အသုံးပြုသည်။ Event များကို စောင့်ကြည့်သာ လုပ်ပြီး (swallow မလုပ်ပါ)။
  • Capture pipeline သည် VoicePushToTalk ထဲတွင် ရှိပြီး Speech ကို ချက်ချင်း စတင်ကာ တစ်စိတ်တစ်ပိုင်းများကို overlay သို့ စီးဆင်းပို့ပြီး လွှတ်လိုက်သည့်အချိန်တွင် VoiceWakeForwarder ကို ခေါ်ပါသည်။
  • Push-to-talk စတင်သောအခါ အသံ tap များ တိုက်ခိုက်မှု မဖြစ်စေရန် wake-word runtime ကို ခဏရပ်ထားပြီး လွှတ်ပြီးနောက် အလိုအလျောက် ပြန်လည်စတင်ပါသည်။
  • ခွင့်ပြုချက်များ: Microphone + Speech လိုအပ်ပြီး ဖြစ်ရပ်များကို မြင်ရန် Accessibility/Input Monitoring ခွင့်ပြုချက် လိုအပ်ပါသည်။
  • ပြင်ပ ကီးဘုတ်များ: အချို့က right Option ကို မျှော်မှန်းထားသလို မဖော်ပြနိုင်ပါ—အသုံးပြုသူများက မလွတ်မိကြောင်း တိုင်ကြားပါက အစားထိုး shortcut ကို ပေးပါ။

အသုံးပြုသူမြင်ရသော ဆက်တင်များ

  • Voice Wake toggle: wake-word runtime ကို ဖွင့်ပေးပါသည်။
  • Cmd+Fn ကို ဖိထား၍ ပြောရန်: push‑to‑talk monitor ကို ဖွင့်ပေးသည်။ macOS < 26 တွင် ပိတ်ထားသည်။
  • ဘာသာစကားနှင့် မိုက်ရွေးချယ်ကိရိယာများ၊ live level meter၊ trigger-word ဇယား၊ tester (local-only; မပို့ပါ)။
  • Mic picker သည် ကိရိယာ ချိတ်ဆက်မှု ပြတ်တောက်သွားပါက နောက်ဆုံး ရွေးချယ်ထားသည့်အရာကို ထိန်းသိမ်းထားပြီး disconnected အချက်ပြကို ပြသကာ ပြန်လည်ချိတ်ဆက်လာသည်အထိ စနစ်မူလ default သို့ ခဏတာ ပြန်လည်အသုံးပြုပါသည်။
  • Sounds: trigger တွေ့ရှိသည့်အခါနှင့် ပို့သည့်အခါ chime များ အသုံးပြုသည်; ပုံမှန်အားဖြင့် macOS “Glass” system sound ဖြစ်သည်။ Event တစ်ခုချင်းစီအတွက် NSSound ဖြင့် load လုပ်နိုင်သော ဖိုင် (ဥပမာ MP3/WAV/AIFF) ကို ရွေးချယ်နိုင်သလို No Sound ကိုလည်း ရွေးနိုင်သည်။

Forwarding အပြုအမူ

  • Voice Wake ကို ဖွင့်ထားပါက transcript များကို လက်ရှိ active gateway/agent သို့ ပို့ပေးပါသည် (mac အက်ပ်၏ အခြား အစိတ်အပိုင်းများတွင် အသုံးပြုသည့် local vs remote မုဒ်နှင့် အတူတူဖြစ်သည်)။
  • Replies များကို နောက်ဆုံး အသုံးပြုထားသော main provider (WhatsApp/Telegram/Discord/WebChat) သို့ ပို့သည်။ ပို့ခြင်း မအောင်မြင်ပါက error ကို log ထဲသို့ ရေးသွင်းပြီး run ကို WebChat/session logs မှတစ်ဆင့် ဆက်လက် မြင်နိုင်ပါသည်။

ဒေတာအစုကို လွှဲပြောင်းပို့ခြင်း

  • VoiceWakeForwarder.prefixedTranscript(_:) သည် ပို့မီ machine hint ကို ရှေ့တွင် ထည့်ပေးသည်။ Wake‑word နှင့် push‑to‑talk လမ်းကြောင်း နှစ်ခုလုံးအတွက် မျှဝေထားသည်။

အမြန် စစ်ဆေးခြင်း

  • Push-to-talk ကို ဖွင့်ပြီး Cmd+Fn ကို ဖိထားကာ စကားပြောပြီး လွှတ်ပါ—overlay တွင် partial များကို ပြသပြီးနောက် ပို့သင့်ပါသည်။
  • ဖိထားစဉ် menu-bar ရှိ နားပုံများသည် ကြီးနေသင့်ပြီး (triggerVoiceEars(ttl:nil) ကို အသုံးပြုသည်)၊ လွှတ်ပြီးနောက် လျော့ကျသင့်ပါသည်။