9.7 KiB
អត្ថបទទៅសំឡេង - ឧបករណ៍ IoT ខាងវីឌ្យូ
ក្នុងផ្នែកនេះនៃមេរៀន អ្នកនឹងសរសេរកូដដំណើរការបម្លែងអត្ថបទទៅសំឡេង ដោយប្រើសេវាកម្មសំឡេង។
បម្លែងអត្ថបទទៅសំឡេង
SDK សេវាកម្មសំឡេងដែលអ្នកបានប្រើក្នុងមេរៀនមុនដើម្បីបម្លែងសំឡេងទៅអត្ថបទ អាចប្រើដើម្បីបម្លែងអត្ថបទត្រឡប់វិញទៅសំឡេង។ នៅពេលស្នើសុំសំឡេង អ្នកត្រូវផ្តល់អង្គធាតុសំឡេងដើម្បីប្រើ ព្រោះសំឡេងអាចត្រូវបានបង្កើតដោយប្រើអង្គធាតុសំឡេងផ្សេងៗជាច្រើន។
រៀងរាល់ភាសាគាំទ្រអង្គធាតុសំឡេងផ្សេងៗ ហើយអ្នកអាចទទួលបានបញ្ជីអង្គធាតុសំឡេងដែលគាំទ្រសម្រាប់ភាសារនីមួយៗពី SDK សេវាកម្មសំឡេង។
ភារកិច្ច - បម្លែងអត្ថបទទៅសំឡេង
-
បើកគម្រោង
smart-timerនៅក្នុង VS Code ហើយប្រាកដថាបរិយាកាសយន្ត_virtual បានផ្ទុកនៅក្នុងទ терминال។ -
អនុញ្ញាតឲ្យអ្នកអញ្ញាតាំន
SpeechSynthesizerពីបណ្ដុំម៉ូឌុលazure.cognitiveservices.speechដោយបូកបញ្ចូលវាក្នុងការនាំចូលដែលមានរួចហើយ៖from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer, SpeechSynthesizer -
ខាងលើមុខងារ
sayសូមបង្កើតការកំណត់សំឡេងសម្រាប់ប្រើជាមួយ speech synthesizer៖speech_config = SpeechConfig(subscription=speech_api_key, region=location) speech_config.speech_synthesis_language = language speech_synthesizer = SpeechSynthesizer(speech_config=speech_config)នេះប្រើកន្លែង API key, ទីតាំង និងភាសាដដែលដែលបានប្រើដោយ recognizer ។
-
ខាងក្រោមនេះ បន្ថែមកូដខាងក្រោមដើម្បីទទួលអង្គធាតុសំឡេងមួយ ហើយកំណត់វាលើការកំណត់សំឡេង៖
voices = speech_synthesizer.get_voices_async().get().voices first_voice = next(x for x in voices if x.locale.lower() == language.lower()) speech_config.speech_synthesis_voice_name = first_voice.short_nameវាយកបញ្ជីអង្គធាតុសំឡេងទាំងអស់ដែលអាចប្រើបាន ហើយរកអង្គធាតុសំឡេងដំបូងដែលផ្គូផ្គងជាមួយភាសាដែលកំពុងប្រើ។
💁 អ្នកអាចទាញយកបញ្ជីពេញលេញនៃអង្គធាតុសំឡេងដែលគាំទ្របានពី ឯកសារ Language and voice support documentation on Microsoft Docs។ ប្រសិនបើចង់ប្រើអង្គធាតុសំឡេងពិសេសមួយ អ្នកអាចដករាល់មុខងារនេះចេញ ហើយកំណត់អង្គធាតុសំឡេងដោយដៃដោយប្រើឈ្មោះសំឡេងពីឯកសារនេះ។ ឧទាហរណ៍៖
speech_config.speech_synthesis_voice_name = 'hi-IN-SwaraNeural' -
បន្ទាប់មកវាយបញ្ជូលមាតិកានៃមុខងារ
sayដើម្បីបង្កើត SSML សម្រាប់តបតទៅ៖ssml = f'<speak version=\'1.0\' xml:lang=\'{language}\'>' ssml += f'<voice xml:lang=\'{language}\' name=\'{first_voice.short_name}\'>' ssml += text ssml += '</voice>' ssml += '</speak>' -
ខាងក្រោមនេះ ពង្រឹងការទទួលសំឡេងឲ្យឈប់ ពោលសំឡេង SSML ទើបចាប់ផ្ដើមការទទួលសំឡេងម្ដងទៀត៖
recognizer.stop_continuous_recognition() speech_synthesizer.speak_ssml(ssml) recognizer.start_continuous_recognition()ការទទួលសំឡេងត្រូវបានឈប់នៅពេលដែលអត្ថបទត្រូវបកប្ដូរទៅសំឡេង ដើម្បីឱ្យការប្រកាសថាឧបករណ៍កំណត់ពេលវេលាបានចាប់ផ្ដើម មិនត្រូវបានគេឮឃើញ សំឡេងដែលផ្ញើទៅ LUIS ហើយអាចត្រូវបានបកស្រាយថាគឺជាសំណើឱ្យកំណត់ឧបករណ៍ពេលវេលាថ្មី។
💁 អ្នកអាចសាកល្បងនេះដោយការសរសេរជាកំណត់ ឬ ការដកបន្ទាត់ដែលឈប់ និងចាប់ផ្ដើមការទទួលសំឡេងម្ដងទៀត។ កំណត់ឧបករណ៍ពេលវេលាមួយ ហើយអ្នកអាចសង្កេតឃើញការប្រកាសកំណត់ឧបករណ៍ពេលវេលាថ្មី ដែលនាំរួចទៅការប្រកាសថ្មីនាំឲ្យមានការកំណត់ឧបករណ៍ពេលវេលាថ្មី ហើយបន្តតទៅបន្តមកជានិច្ច!
-
ដំណើរការកម្មវិធី ហើយប្រាកដថាមុខងារ app កំពុងដំណើរការផងដែរ។ កំណត់ឧបករណ៍ពេលវេលាមួយចំនួន ហើយអ្នកនឹងស្តាប់ការទទួលសំឡេងថាការកំណត់ឧបករណ៍ពេលវេលារបស់អ្នកត្រូវបានដំណើរការ រួចក៏មានការទទួលសំឡេងម្តងទៀតពេលឧបករណ៍ពេលវេលាដំណើរការសម្រេច។
💁 អ្នកអាចរកឃើញកូដនេះនៅក្នុងថត code-spoken-response/virtual-iot-device។
😀 កម្មវិធីកំណត់ពេលវេលារបស់អ្នកបានជោគជ័យ!
ការបដិសេធ៖
ឯកសារនេះត្រូវបានប្រែសម្រួលដោយប្រព័ន្ធបកប្រែ AI Co-op Translator។ បើទោះបីយើងខិតខំប្រឹងប្រែងក្នុងការជាក់លាក់ ក៏សូមយកចិត្តទុកដាក់ថា ការបកប្រែដោយស្វ័យប្រវត្តិនេះអាចមានកំហុសឬច្រឡំ។ ឯកសារដើមក្នុងភាសាទីតាំងរបស់វាគួរត្រូវបានចាត់ទុកជាវិទ្យាសាស្ត្រដែលមានអានុភាព។ សម្រាប់ព័ត៌មានមានសារៈសំខាន់ ការប្រែសម្រួលដោយអ្នកជំនាញមនុស្សគឺផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសត្រូវណាមួយដែលកើតមានពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។