# အချိန်တစ်ခုကို သတ်မှတ်ပြီး မိန့်ဖြင့်တုံ့ပြန်ပါ ![ဒီသင်ခန်းစာ၏ အကျဉ်းချုပ်ကို ရေးဆွဲထားသော ပုံ](../../../../../translated_images/lesson-23.f38483e1d4df4828990d3f02d60e46c978b075d384ae7cb4f7bab738e107c850.my.jpg) > [Nitya Narasimhan](https://github.com/nitya) မှ ရေးဆွဲထားသော ပုံ။ ပုံကို နှိပ်ပြီး ပိုမိုကြီးမားသော ဗားရှင်းကို ကြည့်ပါ။ ## သင်ခန်းစာမတိုင်မီ မေးခွန်းများ [သင်ခန်းစာမတိုင်မီ မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/45) ## အကျဉ်းချုပ် အာရုံခံကိရိယာများသည် တစ်ဖက်သတ် ဆက်သွယ်မှုကိရိယာများမဟုတ်ပါ။ သင်မိန့်ကြားပြီး၊ ၎င်းတို့သည် တုံ့ပြန်သည်- "Alexa, ၃ မိနစ်အချိန်ကို သတ်မှတ်ပါ" "အိုကေ၊ သင့်အချိန်ကို ၃ မိနစ်အတွက် သတ်မှတ်ပြီးပါပြီ" နောက်ဆုံး ၂ သင်ခန်းစာတွင် သင်သည် မိန့်ကို စကားလုံးအဖြစ် ပြောင်းပြီး၊ ထိုစကားလုံးများမှ အချိန်တစ်ခုကို သတ်မှတ်ရန် တောင်းဆိုမှုကို ထုတ်ယူနိုင်သော နည်းလမ်းကို သင်ယူခဲ့ပါသည်။ ဒီသင်ခန်းစာတွင် သင်သည် IoT ကိရိယာပေါ်တွင် အချိန်တစ်ခုကို သတ်မှတ်ပြီး၊ အသုံးပြုသူအား မိန့်ဖြင့် အချိန်ကို အတည်ပြုပြီး၊ အချိန်ပြီးဆုံးသောအခါ သတိပေးမည့် နည်းလမ်းကို သင်ယူပါမည်။ ဒီသင်ခန်းစာတွင် ကျွန်ုပ်တို့ ဖော်ပြမည့်အကြောင်းအရာများမှာ- * [စာသားကို မိန့်အဖြစ် ပြောင်းခြင်း](../../../../../6-consumer/lessons/3-spoken-feedback) * [အချိန်ကို သတ်မှတ်ခြင်း](../../../../../6-consumer/lessons/3-spoken-feedback) * [စာသားကို မိန့်အဖြစ် ပြောင်းခြင်း](../../../../../6-consumer/lessons/3-spoken-feedback) ## စာသားကို မိန့်အဖြစ် ပြောင်းခြင်း စာသားကို မိန့်အဖြစ် ပြောင်းခြင်းသည် စာသားကို အသံအဖြစ် ပြောင်းလဲပြီး၊ စကားလုံးများအဖြစ် ပြောဆိုသော အသံကို ဖန်တီးခြင်းဖြစ်သည်။ အခြေခံအယူအဆမှာ စာသားထဲရှိ စကားလုံးများကို ၎င်းတို့၏ အသံဖွဲ့စည်းမှု (phonemes ဟုခေါ်သည်) အပိုင်းအစများအဖြစ် ခွဲခြားပြီး၊ ၎င်းအသံများအတွက် အသံကို AI မော်ဒယ်များမှ ဖန်တီးခြင်း သို့မဟုတ် ကြိုတင်မှတ်တမ်းတင်ထားသော အသံများကို အသုံးပြု၍ ပေါင်းစည်းခြင်းဖြစ်သည်။ ![စာသားကို မိန့်အဖြစ် ပြောင်းလဲသည့် စနစ်များ၏ အဆင့် ၃ ခု](../../../../../translated_images/tts-overview.193843cf3f5ee09f8b3371a9fdaeb0f116698a07ca69daaa77158da4800e5453.my.png) စာသားကို မိန့်အဖြစ် ပြောင်းလဲသည့် စနစ်များတွင် အများအားဖြင့် အဆင့် ၃ ခုရှိသည်- * စာသားခွဲခြားခြင်း * ဘာသာစကားဆိုင်ရာ ခွဲခြားခြင်း * အသံလှိုင်းဖွဲ့စည်းခြင်း ### စာသားခွဲခြားခြင်း စာသားခွဲခြားခြင်းသည် ပေးထားသော စာသားကို ယူပြီး၊ မိန့်ဖန်တီးရန် အသုံးပြုနိုင်သော စကားလုံးများအဖြစ် ပြောင်းလဲခြင်းဖြစ်သည်။ ဥပမာအားဖြင့် "Hello world" ကို ပြောင်းလဲပါက စာသားခွဲခြားရန် မလိုအပ်ပါ၊ စကားလုံး ၂ ခုကို မိန့်အဖြစ် ပြောင်းလဲနိုင်သည်။ "1234" ကို ပြောင်းလဲပါက၊ ၎င်းကို "တစ်ထောင် နှစ်ရာ သုံးဆယ်လေး" သို့မဟုတ် "တစ်၊ နှစ်၊ သုံး၊ လေး" အဖြစ် ပြောင်းလဲရန် လိုအပ်နိုင်သည်။ ၎င်းသည် အကြောင်းအရာပေါ်မူတည်သည်။ "I have 1234 apples" ဆိုပါက "တစ်ထောင် နှစ်ရာ သုံးဆယ်လေး" ဖြစ်သင့်သည်။ "The child counted 1234" ဆိုပါက "တစ်၊ နှစ်၊ သုံး၊ လေး" ဖြစ်သင့်သည်။ စကားလုံးများသည် ဘာသာစကားနှင့် ၎င်း၏ ဒေသအလိုက် ကွဲပြားနိုင်သည်။ ဥပမာအားဖြင့် အမေရိကန်အင်္ဂလိပ်တွင် 120 ကို "One hundred twenty" ဟုခေါ်သည်။ ဗြိတိသျှအင်္ဂလိပ်တွင် "One hundred and twenty" ဟုခေါ်သည်။ "and" ကို ရာဂဏန်းများအပြီးတွင် အသုံးပြုသည်။ ✅ အခြားသော စကားလုံးများကို စာသားခွဲခြားရန် လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့် "in" ကို လက်မအတိုင်းအတာအဖြစ်၊ "st" ကို သန့်ရှင်းသောသူ သို့မဟုတ် လမ်းအတိုင်းအတာအဖြစ် အသုံးပြုနိုင်သည်။ သင့်ဘာသာစကားတွင် အကြောင်းအရာမရှိလျှင် မရေရာသော စကားလုံးများကို တွေးပါ။ စကားလုံးများကို သတ်မှတ်ပြီးပါက၊ ၎င်းတို့ကို ဘာသာစကားဆိုင်ရာ ခွဲခြားမှုအတွက် ပို့ပါမည်။ ### ဘာသာစကားဆိုင်ရာ ခွဲခြားခြင်း ဘာသာစကားဆိုင်ရာ ခွဲခြားမှုသည် စကားလုံးများကို phonemes အဖြစ် ခွဲခြားသည်။ Phonemes များသည် အသုံးပြုသော အက္ခရာများသာမက၊ စကားလုံးတွင်ပါဝင်သော အခြားအက္ခရာများအပေါ်မူတည်သည်။ ဥပမာအားဖြင့် အင်္ဂလိပ်တွင် "car" နှင့် "care" တွင် 'a' အသံသည် ကွဲပြားသည်။ အင်္ဂလိပ်ဘာသာစကားတွင် အက္ခရာ ၂၆ ခုအတွက် phonemes ၄၄ ခုရှိသည်။ အချို့သည် အခြားအက္ခရာများနှင့်မျှဝေထားသည်။ ဥပမာအားဖြင့် "circle" နှင့် "serpent" တွင် အစမှာ တူညီသော phoneme ကို အသုံးပြုသည်။ ✅ သင်၏ဘာသာစကားအတွက် phonemes များကို ရှာဖွေပါ။ Phonemes များကို ဖန်တီးပြီးပါက၊ ၎င်းတို့ကို အကြောင်းအရာအပေါ်မူတည်၍ အသံအလေးအနက်၊ အသံအချိန်ကို ချိန်ညှိရန် ထပ်ဆောင်းဒေတာလိုအပ်သည်။ ဥပမာအားဖြင့် အင်္ဂလိပ်တွင် အသံအမြင့်တက်ခြင်းကို စာကြောင်းကို မေးခွန်းအဖြစ် ပြောင်းလဲရန် အသုံးပြုနိုင်သည်။ နောက်ဆုံးစကားလုံးအတွက် အသံအမြင့်တက်ခြင်းသည် မေးခွန်းကို ရည်ညွှန်းသည်။ ဥပမာ- "You have an apple" ဆိုသော စာကြောင်းသည် သင်သည် ပန်းသီးတစ်လုံးရှိသည်ဟု ဆိုလိုသည်။ အသံအမြင့်တက်ပါက၊ "You have an apple?" ဆိုသော မေးခွန်းဖြစ်သည်။ ဘာသာစကားဆိုင်ရာ ခွဲခြားမှုသည် မေးခွန်းအမှတ်ကို အသုံးပြု၍ အသံအမြင့်တက်ရန် ဆုံးဖြတ်ရမည်။ Phonemes များကို ဖန်တီးပြီးပါက၊ ၎င်းတို့ကို အသံလှိုင်းဖွဲ့စည်းမှုအတွက် ပို့ပါမည်။ ### အသံလှိုင်းဖွဲ့စည်းခြင်း ပထမဆုံး အီလက်ထရွန်နစ် စာသားမှ မိန့်ပြောင်းစနစ်များသည် phonemes တစ်ခုစီအတွက် အသံမှတ်တမ်းတစ်ခုစီကို အသုံးပြုခဲ့သည်။ ၎င်းသည် တော်တော်လေး တိရစ္ဆာန်ဆန်သော အသံများကို ဖြစ်စေခဲ့သည်။ ဘာသာစကားဆိုင်ရာ ခွဲခြားမှုသည် phonemes များကို ဖန်တီးပြီး၊ ၎င်းတို့ကို အသံမှတ်တမ်းများမှ တင်ပြီး၊ အသံကို ဖန်တီးရန် ပေါင်းစည်းခဲ့သည်။ ✅ သုတေသနလုပ်ပါ- စောင့်ရှောက်မှုစနစ်များ၏ စောင့်ရှောက်မှုအသံမှတ်တမ်းများကို ရှာဖွေပါ။ အခေတ်သစ် စောင့်ရှောက်မှုအသံများနှင့် နှိုင်းယှဉ်ကြည့်ပါ။ နောက်ဆုံးပေါ် အသံလှိုင်းဖွဲ့စည်းမှုသည် ML မော်ဒယ်များကို အသုံးပြု၍ လူသားများနှင့် မကွဲမပြားသော အသံများကို ဖန်တီးသည်။ ၎င်းသည် လူသားများ၏ ဦးနှောက်တွင်ရှိသော နယူးရွန်များနှင့် ဆင်တူသော နယူးရွန်ကွန်ယက်များကို အသုံးပြုသည်။ > 💁 ML မော်ဒယ်များသည် transfer learning ကို အသုံးပြု၍ လူသားများ၏ အသံများနှင့် ဆင်တူသော အသံများကို ပြန်လည်လေ့ကျင့်နိုင်သည်။ ၎င်းသည် အသံကို လုံခြုံရေးစနစ်အဖြစ် အသုံးပြုခြင်းသည် မသင့်တော်တော့သည်ကို ဆိုလိုသည်။ သင့်အသံမှတ်တမ်းကို မိနစ်အနည်းငယ်သာ ရှိပါက၊ သင့်ကို အတုယူနိုင်သည်။ ML မော်ဒယ်ကြီးများသည် အဆင့် ၃ ခုအား အဆုံးမှ အဆုံးသို့ မိန့်ပြောင်းစနစ်များအဖြစ် ပေါင်းစည်းရန် လေ့ကျင့်နေသည်။ ## အချိန်ကို သတ်မှတ်ခြင်း အချိန်ကို သတ်မှတ်ရန်၊ သင့် IoT ကိရိယာသည် သင့် serverless code ကို အသုံးပြု၍ ဖန်တီးထားသော REST endpoint ကို ခေါ်ရန် လိုအပ်ပြီး၊ ရလဒ်အဖြစ် seconds အရေအတွက်ကို အသုံးပြု၍ အချိန်တစ်ခုကို သတ်မှတ်ရမည်။ ### လုပ်ငန်း- serverless function ကို ခေါ်ပြီး အချိန်ကို သတ်မှတ်ပါ သင့် IoT ကိရိယာမှ REST endpoint ကို ခေါ်ပြီး လိုအပ်သော အချိန်အတွက် အချိန်တစ်ခုကို သတ်မှတ်ရန် သင့်အတွက် သင့် guide ကို လိုက်နာပါ- * [Arduino - Wio Terminal](wio-terminal-set-timer.md) * [Single-board computer - Raspberry Pi/Virtual IoT device](single-board-computer-set-timer.md) ## စာသားကို မိန့်အဖြစ် ပြောင်းခြင်း သင်သည် စကားလုံးကို စာသားအဖြစ် ပြောင်းလဲရန် အသုံးပြုခဲ့သော speech service ကို ပြန်လည်အသုံးပြု၍ စာသားကို မိန့်အဖြစ် ပြောင်းလဲနိုင်ပြီး၊ ၎င်းကို သင့် IoT ကိရိယာပေါ်ရှိ စပီကာမှ ပြန်လည်ဖွင့်နိုင်သည်။ ပြောင်းလဲရန် စာသားကို speech service သို့ ပို့ပြီး၊ အသံအမျိုးအစား (ဥပမာ- sample rate) နှင့် binary data ကို ပြန်လည်ရရှိသည်။ ဤတောင်းဆိုမှုကို ပေးပို့သောအခါ၊ သင်သည် *Speech Synthesis Markup Language* (SSML) ကို အသုံးပြုသည်။ SSML သည် speech synthesis application များအတွက် XML-based markup language ဖြစ်သည်။ ၎င်းသည် ပြောင်းလဲရန် စာသား၊ စာသား၏ ဘာသာစကား၊ အသံနှင့် အသံအမြန်နှုန်း၊ အသံအတိုးအကျယ်၊ အသံအမြင့်ကို သတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်၊ SSML သည် "Your 3 minute 5 second time has been set" စာသားကို British English အသံ `en-GB-MiaNeural` အသုံးပြု၍ မိန့်အဖြစ် ပြောင်းရန် တောင်းဆိုမှုကို သတ်မှတ်သည်။ ```xml Your 3 minute 5 second time has been set ``` > 💁 စာသားမှ မိန့်ပြောင်းစနစ်များတွင် ဘာသာစကားအမျိုးမျိုးအတွက် အသံများစွာရှိပြီး၊ British English အသံနှင့် အင်္ဂလိပ်အဆင့်အတန်း၊ New Zealand English အသံနှင့် New Zealand အဆင့်အတန်းတို့ကို ရှိသည်။ ### လုပ်ငန်း- စာသားကို မိန့်အဖြစ် ပြောင်းပါ သင့် IoT ကိရိယာကို အသုံးပြု၍ စာသားကို မိန့်အဖြစ် ပြောင်းရန် သင့် guide ကို လိုက်နာပါ- * [Arduino - Wio Terminal](wio-terminal-text-to-speech.md) * [Single-board computer - Raspberry Pi](pi-text-to-speech.md) * [Single-board computer - Virtual device](virtual-device-text-to-speech.md) --- ## 🚀 စိန်ခေါ်မှု SSML တွင် စကားလုံးများကို ပြောဆိုပုံကို ပြောင်းလဲနိုင်သော နည်းလမ်းများရှိသည်။ ဥပမာ- စကားလုံးများကို အလေးအနက်ပေးခြင်း၊ ခေတ္တရပ်ခြင်း သို့မဟုတ် အသံအမြင့်ကို ပြောင်းလဲခြင်း။ SSML များကို သင့် IoT ကိရိယာမှ ပေးပို့ပြီး၊ output ကို နှိုင်းယှဉ်ကြည့်ပါ။ SSML နှင့် စကားလုံးများကို ပြောဆိုပုံကို ပြောင်းလဲနည်းများအကြောင်းကို [Speech Synthesis Markup Language (SSML) Version 1.1 specification from the World Wide Web consortium](https://www.w3.org/TR/speech-synthesis11/) တွင် ဖတ်ရှုနိုင်သည်။ ## သင်ခန်းစာပြီးဆုံးသော မေးခွန်းများ [သင်ခန်းစာပြီးဆုံးသော မေးခွန်းများ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/46) ## ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း * Speech synthesis အကြောင်းကို [Wikipedia တွင် speech synthesis စာမျက်နှာ](https://wikipedia.org/wiki/Speech_synthesis) တွင် ဖတ်ရှုပါ။ * Speech synthesis ကို အသုံးပြု၍ ရာဇဝတ်မှုများလုပ်ဆောင်နေသော နည်းလမ်းများအကြောင်းကို [BBC news တွင် fake voices 'help cyber crooks steal cash' သတင်း](https://www.bbc.com/news/technology-48908736) တွင် ဖတ်ရှုပါ။ * Voice actors များအပေါ် synthesized အသံများ၏ အန္တရာယ်များအကြောင်းကို [Vice တွင် this TikTok lawsuit is highlighting how AI is screwing over voice actors ဆောင်းပါး](https://www.vice.com/en/article/z3xqwj/this-tiktok-lawsuit-is-highlighting-how-ai-is-screwing-over-voice-actors) တွင် ဖတ်ရှုပါ။ ## လုပ်ငန်း [အချိန်ကို ဖျက်ပါ](assignment.md) --- **အကြောင်းကြားချက်**: ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း၊ အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် ရှုလေ့လာသင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပရော်ဖက်ရှင်နယ် ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအလွတ်များ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။