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/kn/6-consumer/lessons/3-spoken-feedback/virtual-device-text-to-spee...

8.9 KiB

ಪಠ್ಯದಿಂದ ಮಾತಿಗೆ - ವಾಸ್ತವಿಕ ಇಂಟರ್ನೆಟ್ ಆಫ್ ಥಿಂಗ್ಸ್ ಸಾಧನ

ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ಪಠ್ಯವನ್ನು ಮಾತಿಗೆ ಪರಿವರ್ತಿಸುವ ಕೋಡ್ ಅನ್ನು ಭಾಷಾ ಸೇವೆಯನ್ನು ಬಳಸಿ ಬರೆಯಬಹುದು.

ಪಠ್ಯವನ್ನು ಮಾತಿಗೆ ಪರಿವರ್ತಿಸಿ

ನೀವು ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ ಭಾಷೆಯನ್ನು ಪಠ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಬಳಸಿದ ಭಾಷಾ ಸೇವೆಗಳ SDK ಅನ್ನು ಪಠ್ಯವನ್ನು ಮತ್ತೆ ಮಾತಿಗೆ ಪರಿವರ್ತಿಸಲು ಬಳಸಬಹುದು. ಭಾಷೆಯನ್ನು ವಿನಂತಿಸುವಾಗ, ವಿವಿಧ ಬಂಗಿಗಳಲ್ಲಿ ಮಾತನಾಡಲು ಬಳಸಲಾಗುವ ಧ್ವನಿಯನ್ನು ಒದಗಿಸುವುದು ಅಗತ್ಯವಿದೆ.

ಪ್ರತಿ ಭಾಷೆ ವಿವಿಧ ಬಂಗಿಗಳ ಶ್ರೆಣಿಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಮತ್ತು ನೀವು ಪ್ರತಿ ಭಾಷೆಗೆ ಬೆಂಬಲಿಸುವ ಧ್ವನಿಗಳ ಪಟ್ಟಿಯನ್ನು ಭಾಷಾ ಸೇವೆಗಳ SDK ನಿಂದ ಪಡೆಯಬಹುದು.

ಕಾರ್ಯ - ಪಠ್ಯವನ್ನು ಮಾತಿಗೆ ಪರಿವರ್ತಿಸಿ

  1. VS ಕೋಡ್ ನಲ್ಲಿ smart-timer ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ತೆರೆಯಿರಿ, ಮತ್ತು ಟರ್ಮಿನಲ್ ನಲ್ಲಿ ವರ್ಚುವಲ್ ಪರಿಸರ ಲೋಡ್ ಆಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

  2. azure.cognitiveservices.speech ಪ್ಯಾಕೇಜ್ ನಿಂದ SpeechSynthesizer ಅನ್ನು বিদ್ಯಮಾನದ ಆಮದುಗಳಲ್ಲಿ ಸೇರಿಸಿ:

    from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer, SpeechSynthesizer
    
  3. say ಕಾರ್ಯದ ಮೇಲೆ, ಭಾಷಾ ಸಂಯೋಜನೆಯೊಂದನ್ನು ಸೃಷ್ಟಿಸಿ, ಅದು ಭಾಷಾ ಸಂಯೋಜಕದೊಂದಿಗೆ ಬಳಕೆಯಲ್ಲಿ ಇರುವುದು:

    speech_config = SpeechConfig(subscription=speech_api_key,
                                 region=location)
    speech_config.speech_synthesis_language = language
    speech_synthesizer = SpeechSynthesizer(speech_config=speech_config)
    

    ಇದು ಗುರುತಿನಕೋಡ್, ಸ್ಥಳ ಮತ್ತು ಭಾಷೆಯನ್ನು ಹೋಲುತ್ತದೆ, ಅದು ಗುರುತಿಸುವಿಕೆಯ ಸಲುವಾಗಿ ಬಳಸಲ್ಪಟ್ಟಿತ್ತು.

  4. ಇದರ ಕೆಳಗೆ, ಧ್ವನಿಯನ್ನು ಪಡೆಯಲು ಮತ್ತು ಭಾಷಾ ಸಂಯೋಜನೆಯಲ್ಲಿ ಅದನ್ನು ಸೆಟ್ ಮಾಡಲು ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ:

    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'
    
  5. say ಕಾರ್ಯದ ಒಳಡಾಣೆಯನ್ನು ಕೃತ್ರಿಮ ಧ್ವನಿ ಸಂತ್ರಿಪಿಸುವುದಕ್ಕೆ ಇಳಿದು ಜಾರಿಗೊಳಿಸಿ:

    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>'
    
  6. ಇದರ ಕೆಳಗೆ, ಭಾಷಾ ಗುರುತಿಸುವಿಕೆ ನಿಲ್ಲಿಸಿ, SSML ಅನ್ನು ಮಾತನಾಡಿಸಿ, ನಂತರ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸಿ:

    recognizer.stop_continuous_recognition()
    speech_synthesizer.speak_ssml(ssml)
    recognizer.start_continuous_recognition()
    

    ಪಠ್ಯವನ್ನು ಮಾತನಾಡುವಾಗ ಗುರುತಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುವುದು ಟೈಮರ್ ಪ್ರಾರಂಭಿಸುವ ಘೋಷಣೆಯನ್ನು ಲUIS ಗೆ ಕಳುಹಿಸುವುದನ್ನು ತಡೆಹಿಡಿಯುತ್ತದೆ ಮತ್ತು ಇದು ಹೊಸ ಟೈಮರ್ ಸೆಟ್ ಮಾಡುವ ವಿನಂತಿಯಾಗಿ ತಪ್ಪಾಗಿ ಪರಿಗಣಿಸುವ ಸಾಧ್ಯತೆ ತಪ್ಪಿಸುತ್ತದೆ.

    💁 ನೀವು ಗುರುತಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುವ ಮತ್ತು ಮತ್ತೆ ಪ್ರಾರಂಭಿಸುವ ಸಾಲುಗಳನ್ನು ಕಾಮೆಂಟ್ ಮಾಡಿ ಈ ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸಬಹುದು. ಒಂದು ಟೈಮರ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿ, ಮತ್ತು ನೀವು ಕಂಡುಹಿಡಿಯಬಹುದು ಘೋಷಣೆ ಹೊಸ ಟೈಮರ್ ಅನ್ನು ಸೆಟ್ ಮಾಡುವುದು, ಅದು ಮತ್ತೊಂದು ಘೋಷಣೆಗೆ ಕಾರಣವಾಗುವುದು, ಇದರಿಂದ ಅಡಗುತ್ತದೆ ಮತ್ತು ಈ ಪರಂಪರೆ ಸತತ್ ಸಾಗುತ್ತದೆ!

  7. ಅಪ್ಲಿಕೇಶನ್ ಓಡಿಸಿ, ಮತ್ತು ಕಾರ್ಯಸೂಚಕ ಅಪ್ಲಿಕೇಶನ್ ಕೂಡ ಓಡುತ್ತಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಕೆಲವು ಟೈಮರ್‌ಗಳು ಸೆಟ್ ಮಾಡಿ, ನೀವು ಕೇಳಬಹುದು ನಿಮಗೆ ಟೈಮರ್ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಮಾತಿನ ಪ್ರತಿಕ್ರಿಯೆ, ನಂತರ ಟೈಮರ್ ಪೂರ್ಣವಾದಾಗ ಮತ್ತೊಂದು ಮಾತಿನ ಪ್ರತಿಕ್ರಿಯೆ.

💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು code-spoken-response/virtual-iot-device ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು.

😀 ನಿಮ್ಮ ಟೈಮರ್ ಪ್ರೋಗ್ರಾಂ ಯಶಸ್ವಿಯಾಯಿತು!


ಅಸ್ಪಷ್ಟತೆ:
ಈ ದಾಖಲೆ Co-op Translator ಎಂಬ AI ಭಾಷಾಂತರ ಸೇವೆಯನ್ನು ಬಳಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದ್ದು, ನಾವು ನಿಖರತೆಯುಳ್ಳ ಅನುವಾದಕ್ಕೆ ಪ್ರಯತ್ನಿಸುವುದಾದರೂ ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು. ಮೂಲ ದಾಖಲೆ ಅದರ ಸ್ವದೇಶೀ ಭಾಷೆಯಲ್ಲಿ ಪ್ರಾಮಾಣಿಕ ಮೂಲವಂತೆ ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ತರ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದೆ ಉತ್ತಮ. ಈ ಭಾಷಾಂತರದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಪ್ರಕರಣಗಳು ಅಥವಾ ತಪ್ಪಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗಿದ್ದೇವೆಂದು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ.