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.
81 lines
9.4 KiB
81 lines
9.4 KiB
# ടെക്സ്റ്റ് ടു സ്പീച്ച് - വെർച്വൽ ഐഒടി ഡിവൈസ്
|
|
|
|
പാഠത്തിന്റെ ഈ ഭാഗത്തിൽ, സ്പീച്ച് സർവീസ് ഉപയോഗിച്ച് ടെക്സ്റ്റിനെ സ്പീച്ചിലേക്കു മാറ്റുന്നതിനുള്ള കോഡ് നിങ്ങൾ എഴുതുന്നതാണ്.
|
|
|
|
## ടെക്സ്റ്റ് ടു സ്പീച്ച് മാറ്റുക
|
|
|
|
മുൻപത്തെ പാഠത്തിൽ സ്പീച്ച് ടു ടെക്സ്റ്റ് മാറ്റാൻ ഉപയോഗിച്ച സ്പീച്ച് സർവീസസ് SDK, ടെക്സ്റ്റ് തിരികെ സ്പീച്ചിലാക്കാനും ഉപയോഗിക്കാവുന്നതാണ്. സ്പീച്ച് വിന്നെടുക്കുമ്പോൾ, സ്പീച്ച് വിവിധമായ ആളുകൾക്കായി സൃഷ്ടിക്കപ്പെട്ട വിവിധ ശബ്ദങ്ങളിലൊന്നായി ഉപയോഗിക്കേണ്ടത് ആവശ്യമാണ്.
|
|
|
|
ഓരോ ഭാഷക്കും വ്യത്യസ്ത ശബ്ദങ്ങളുടെ ഒരു നിരപ്പുണ്ട്, ഓരോ ഭാഷയ്ക്കും പിന്തുണ നൽകുന്ന ശബ്ദങ്ങളുടെ ലിസ്റ്റ് നിങ്ങൾക്ക് സ്പീച്ച് സർവീസസ് SDK-യിൽനിന്ന് ലഭിക്കും.
|
|
|
|
### ടാസ്ക് - ടെക്സ്റ്റ് ടു സ്പീച്ച് മാറ്റുക
|
|
|
|
1. VS Code-ൽ `smart-timer` പ്രോജക്ട് തുറക്കുക, ടെർമിനലിൽ വെർച്വൽ അന്തരീക്ഷം ലോഡ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.
|
|
|
|
1. നിലവിലുള്ള ഇറക്കുമതികളിലേക്ക് `azure.cognitiveservices.speech` പാക്കേജ് നിന്നുള്ള `SpeechSynthesizer`-നെ ഉൾപ്പെടുത്തുക:
|
|
|
|
```python
|
|
from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer, SpeechSynthesizer
|
|
```
|
|
|
|
1. `say` ഫംഗ്ഷന് മുകളിൽ, സ്പീച്ച് സിന്തസൈസറുമായി ഉപയോഗിക്കാനുള്ള സ്പീച്ച് കോൺഫിഗറേഷൻ സൃഷ്ടിക്കുക:
|
|
|
|
```python
|
|
speech_config = SpeechConfig(subscription=speech_api_key,
|
|
region=location)
|
|
speech_config.speech_synthesis_language = language
|
|
speech_synthesizer = SpeechSynthesizer(speech_config=speech_config)
|
|
```
|
|
|
|
ഇത് ആ പാഠം മുൻപ് ഉപയോഗിച്ച API കീ, സ്ഥലം, ഭാഷ എന്നിവ തന്നെ ഉപയോഗിക്കുന്നു.
|
|
|
|
1. ഇതിന് താഴെ, ശബ്ദം നേടാനും സ്പീച്ച് കോൺഫിഗിൽ സജ്ജമാക്കാനും താഴെയുള്ള കോഡ് ചേർക്കുക:
|
|
|
|
```python
|
|
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
|
|
```
|
|
|
|
ഇത് ലഭ്യമായ എല്ലാ ശബ്ദങ്ങളുടെ പട്ടിക നിയോഗിച്ച്, ഉപയോഗിക്കുന്ന ഭാഷയ്ക്ക് അനുയോജ്യമായ ആദ്യ ശബ്ദം കണ്ടെത്തുന്നു.
|
|
|
|
> 💁 നിങ്ങൾക്ക് പിന്തുണയുള്ള മുഴുവൻ ശബ്ദങ്ങളുടെ ലിസ്റ്റ് [Microsoft ഡോക്സ് - ഭാഷയും ശബ്ദ പിന്തുണയും](https://docs.microsoft.com/azure/cognitive-services/speech-service/language-support?WT.mc_id=academic-17441-jabenn#text-to-speech) എന്നുള്ള പ്രമാണത്തിൽ നിന്നും ലഭിക്കും. നിങ്ങൾക്ക് വ്യക്തമായ ഒരു ശബ്ദം ഉപയോഗിക്കണമെങ്കിൽ, ഈ ഫംഗ്ഷൻ നീക്കം ചെയ്ത് ഈ പ്രമാണത്തിൽനിന്നുള്ള ശബ്ദനാമം ഹാർഡ് കോഡ് ചെയ്യാം. ഉദാഹരണത്തിന്:
|
|
>
|
|
> ```python
|
|
> speech_config.speech_synthesis_voice_name = 'hi-IN-SwaraNeural'
|
|
> ```
|
|
|
|
1. `say` ഫംഗ്ഷന്റെ ഉള്ളടക്കം SSML സൃഷ്ടിക്കാൻ പുതുക്കുക:
|
|
|
|
```python
|
|
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>'
|
|
```
|
|
|
|
1. ഇതിന് താഴെ, സ്പീച്ച് റിക്കഗ്നിഷൻ നിർത്തുക, SSML സംസാരിക്കുക, പിന്നെ റിക്കഗ്നിഷൻ വീണ്ടും ആരംഭിക്കുക:
|
|
|
|
```python
|
|
recognizer.stop_continuous_recognition()
|
|
speech_synthesizer.speak_ssml(ssml)
|
|
recognizer.start_continuous_recognition()
|
|
```
|
|
|
|
ടെക്സ്റ്റ് സംസാരിക്കുന്നപ്പോൾ റിക്കഗ്നിഷൻ നിർത്തിവെക്കുന്നതു കൊണ്ട് ടൈമർ ആരംഭിക്കുന്ന പ്രഖ്യാപനം കാണപ്പെടാതിരിക്കാനും, LUIS-ലേക്ക് അയക്കപ്പെടാതിരിക്കാനും, പുതിയ ടൈമർ സെറ്റ് ചെയ്യാനുള്ള അഭ്യർത്ഥനയായി വ്യാഖ്യാനിക്കപ്പെടാതിരിക്കാനുമാണ്.
|
|
|
|
> 💁 റിക്കഗ്നിഷൻ നിർത്തുകയും വീണ്ടും ആരംഭിപ്പിക്കുകയും ചെയ്യുന്ന വരികൾ കമന്റൗട്ട് ചെയ്ത് പരീക്ഷിക്കാം. ഒരു ടൈമർ സെറ്റ് ചെയ്തപ്പോൾ, ആ പ്രഖ്യാപനം ഒരു പുതിയ ടൈമർ സെറ്റ് ചെയ്തു കൊണ്ടു തുടർന്നുള്ള പ്രഖ്യാപനം, തുടർന്ന് പുതിയ ടൈമർ എന്ന രീതിയിൽ എറ്റവും തുടർച്ചയായി നടക്കാനിടയുണ്ട്!
|
|
|
|
1. ആപ്പ് റൺ ചെയ്യുക, ഫംഗ്ഷൻ ആപ്പും പ്രവർത്തന സ്ത്രീയാകുമെന്നും ഉറപ്പു വരുത്തുക. ചില ടൈമറുകൾ സെറ്റ് ചെയ്താൽ, ടൈമർ സെറ്റ് ചെയ്തതായി സംസാരിക്കുന്ന മറുപടി കേൾക്കും, പിന്നെ ടൈമർ പൂര്ത്തിയായപ്പോൾ മറ്റൊരിടത്തും സംസാരിക്കുന്ന മറുപടി കേൾക്കാനാകും.
|
|
|
|
> 💁 ഈ കോഡ് [code-spoken-response/virtual-iot-device](../../../../../6-consumer/lessons/3-spoken-feedback/code-spoken-response/virtual-iot-device) ഫോളഡറിൽ കാണാം.
|
|
|
|
😀 നിങ്ങളുടെ ടൈമർ പ്രോഗ്രാം വിജയം!
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**വിവരണം**:
|
|
ഈ രേഖ [Co-op Translator](https://github.com/Azure/co-op-translator) എന്ന എআই തർജ്ജമാ സേവനം ഉപയോഗിച്ച് തർജ്ജമ ചെയ്തിരിക്കുന്നു. ഞങ്ങൾ കൃത്യതയുടെ പ്രയത്നം ചെയ്യുന്നുവെങ്കിലും, സ്വയംമാറ്റം ചെയ്ത തർജ്ജമകളിൽ തെറ്റുകളും അകൃത്യതകളും ഉണ്ടാകാം എന്ന 점 ശ്രദ്ധിക്കുക. ഈ രേഖയുടെ അവസാനഘടകമായ സ്വന്തം ഭാഷയായ രേഖയെ അഥോറിറ്റേറ്റീവ് ഉറവിടമായായി കണക്കാക്കുക. നിർണ്ണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മനുഷ്യരുടെ തർജ്ജമ നിർദ്ദേശിക്കപ്പെടുന്നു. ഈ തർജ്ജമ ഉപയോഗിക്കുന്നതിനാൽ ഉണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകൾക്ക് അല്ലെങ്കിൽ തെറ്റായ വ്യാഖ്യാനങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദികളല്ല.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |