You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/km/6-consumer/lessons/1-speech-recognition/virtual-device-speech-to-te...

9.6 KiB

ថ្លែកស្បែកទៅជាអត្ថបទ - ឧបករណ៍ IoT ពិតប្រាកដ

នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងសរសេរកូដដើម្បីបម្លែងស្បែកដែលបានចាប់ពីមីក្រូហ្វូនរបស់អ្នកទៅជាអត្ថបទដោយប្រើសេវាស្បែក។

បម្លែងស្បែកទៅជាអត្ថបទ

នៅលើ Windows, Linux, និង macOS អ្នកអាចប្រើប្រាស់ Python SDK សម្រាប់សេវាស្បែក ដើម្បីស្ដាប់ពីមីក្រូហ្វូនរបស់អ្នក ហើយបម្លែងស្បែកណាមួយដែលកើតមានទៅជាអត្ថបទ។ វានឹងស្ដាប់ជាបន្តបន្ទាប់ កំណត់កម្រិតសម្លេង ហើយផ្ញើស្បែកសម្រាប់បម្លែងទៅជាអត្ថបទពេលកម្រិតសម្លេងថយចុះ ដូចជាក្នុងចុងប្លុកស្បែកមួយ។

ភារកិច្ច - បម្លែងស្បែកទៅជាអត្ថបទ

  1. បង្កើតកម្មវិធី Python ថ្មីលើកុំព្យូទ័ររបស់អ្នកក្នុងថតឯកសារមួយឈ្មោះ smart-timer ជាមួយឯកសារតែមួយឈ្មោះ app.py និងបរិយាកាស Python ក្លឹបស៊ើវ។

  2. ដំឡើងកញ្ចប់ Pip សម្រាប់សេវាស្បែក។ សូមប្រាកដថាអ្នកកំពុងដំឡើងពីកុងសូលដែលបានបើកបរិយាកាស Python វីរុលហើយ។

    pip install azure-cognitiveservices-speech
    

    ⚠️ ប្រសិនបើអ្នកបានប្រទះកំហុសដូចខាងក្រោម៖

    ERROR: Could not find a version that satisfies the requirement azure-cognitiveservices-speech (from versions: none)
    ERROR: No matching distribution found for azure-cognitiveservices-speech
    

    អ្នកត្រូវតែធ្វើការអាប់ដេត Pip។ សូមអនុវត្តបញ្ជារខាងក្រោម ហើយសាកល្បងដំឡើងកញ្ចប់ម្ដងទៀត

    pip install --upgrade pip
    
  3. បន្ថែមការ​អ៊ីមពួតខាងក្រោមទៅឯកសារ app.py

    import requests
    import time
    from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer
    

    នេះនាំចូលថ្នាក់ខ្លះដែលប្រើសម្រាប់ការទទួលស្គាល់ស្បែក។

  4. បន្ថែមកូដខាងក្រោមដើម្បីប្រកាសការកំណត់ម្ដងទៀត៖

    speech_api_key = '<key>'
    location = '<location>'
    language = '<language>'
    
    recognizer_config = SpeechConfig(subscription=speech_api_key,
                                     region=location,
                                     speech_recognition_language=language)
    

    ផ្លាស់ទី <key> ជាមួយកូដ API សម្រាប់សេវាស្បែករបស់អ្នក។ ផ្លាស់ទី <location> ជាមួយទីតាំងដែលអ្នកបានប្រើពេលបង្កើតធនធានសេវាស្បែក។

    ផ្លាស់ទី <language> ជាមួយស្ទីលភាសាសម្រាប់ភាសាដែលអ្នកនឹងនិយាយ អោយម៉ាកឧទាហរណ៍ en-GB សម្រាប់ភាសាអង់គ្លេស ឬ zn-HK សម្រាប់ភាសាកានតូនីស។ អ្នកអាចរកមើលបញ្ជីភាសាដែលគាំទ្រ និងឈ្មោះស្ទីលភាសា នៅក្នុង ឯកសារគាំទ្រភាសា និងសំឡេងលើ Microsoft docs

    ការកំណត់នេះត្រូវបានប្រើដើម្បីបង្កើតអុបជេក SpeechConfig ដែលត្រូវបានប្រើសម្រាប់កំណត់សេវាស្បែក។

  5. បន្ថែមកូដខាងក្រោមដើម្បីបង្កើតម្ចាស់ស្គាល់ស្បែក៖

    recognizer = SpeechRecognizer(speech_config=recognizer_config)
    
  6. ម្ចាស់ស្គាល់ស្បែកហើយដំណើរការលើប្រមុខសណ្ឋានខាងក្រោយ ស្ដាប់សំឡេង ហើយបម្លែងស្បែកណាមួយនៅក្នុងវាទៅជាអត្ថបទ។ អ្នកអាចយកអត្ថបទដោយប្រើមុខងារត្រឡប់មកវិញ - មុខងារដែលអ្នកកំណត់ ហើយផ្ទេរតទៅម្ចាស់ស្គាល់។ រៀងរាល់ពេលដែលមានស្បែកត្រូវបានរកឃើញ ត្រឡប់មកវិញនឹងត្រូវបានហៅ។ បន្ថែមកូដខាងក្រោមដើម្បីកំណត់មុខងារត្រឡប់មកវិញ និងផ្ទេរតទៅម្ចាស់ស្គាល់។ ព្រមទាំងកំណត់មុខងារដើម្បីដំណើរការអត្ថបទ ហើយបោះពុម្ពក្នុងកុងសូល៖

    def process_text(text):
        print(text)
    
    def recognized(args):
        process_text(args.result.text)
    
    recognizer.recognized.connect(recognized)
    
  7. ម្ចាស់ស្គាល់ធ្វើការស្តាប់គឺត្រឹមពេលដែលអ្នកចាប់ផ្តើមវាផ្ទាល់។ បន្ថែមកូដខាងក្រោមដើម្បីចាប់ផ្តើមការដំណើរការ។ វាដំណើរការជាក្រោមខាងក្រោយ ដូច្នេះកម្មវិធីរបស់អ្នកត្រូវការលូបអននិច្ចដែលដេក ដើម្បីរក្សាកម្មវិធីក្នុងសកម្មភាព។

    recognizer.start_continuous_recognition()
    
    while True:
        time.sleep(1)
    
  8. បង្កើតកម្មវិធីនេះ។ និយាយចូលក្នុងមីក្រូហ្វូនរបស់អ្នក ហើយសំឡេងដែលបានបម្លែងទៅជាអត្ថបទនឹងត្រូវបង្ហាញក្នុងកុងសូល។

    (.venv) ➜  smart-timer python3 app.py
    Hello world.
    Welcome to IoT for beginners.
    

    សាកល្បងប្រភេទប្រយោគផ្សេងៗ រួមមានប្រយោគដែលពាក្យសំឡេងដូចគ្នានៅតែមិនមានន័យដូចគ្នា។ ឧទាហរណ៍ ប្រសិនបើអ្នកនិយាយភាសាអង់គ្លេស សូមនិយាយ 'I want to buy two bananas and an apple too' ហើយមើលថាវានឹងប្រើ to, two និង too ត្រឹមត្រូវដូចមូលដ្ឋាននៃបរិបទពាក្យ មិនមែនតែសំឡេងរបស់វាទេ។

💁 អ្នកអាចរកកូដនេះបាននៅក្នុងថត code-speech-to-text/virtual-iot-device

😀 កម្មវិធីស្បែកទៅជាអត្ថបទរបស់អ្នកបានជោគជ័យ!


ការបដិសេធ
ឯកសារនេះបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ខណៈពេលយើងខិតខំដល់ភាពត្រឹមត្រូវ សូមយល់ឲ្យដឹងថាការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬភាពមិនត្រឹមត្រូវខ្លះ។ ឯកសារដើមក្នុងភាសាដើមគួរត្រូវបានពិចារណាថាជា ឯកសារដែលមានសិទ្ធិពិត។ សម្រាប់ព័ត៌មានសំខាន់ ការបកប្រែដោយមនុស្សជំនាញត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកអក្សរខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។