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
8.7 KiB
81 lines
8.7 KiB
# టెక్స్ట్ టు స్పీచ్ - వర్చువల్ ఐఓటీ పరికరం
|
|
|
|
పాఠంలోని ఈ భాగంలో, మీరు టెక్స్ట్ను స్పీచ్గా మార్చేందుకు స్పీచ్ సర్వీస్ను ఉపయోగించి కోడ్ రాయవచ్చు.
|
|
|
|
## టెక్స్ట్ టు స్పీచ్ మార్పిడి
|
|
|
|
మీరు గత పాఠంలో స్పీచ్ను టెక్స్ట్గా మార్చేందుకు ఉపయోగించిన స్పీచ్ సర్వీసుల SDKని టెక్స్ట్ను తిరిగి స్పీచ్గా మార్చేందుకు కూడా ఉపయోగించవచ్చు. స్పీచ్ను అభ్యర్థించే సమయంలో, అనేక రకాల వాయిస్లు ఉండటంతో వాయిస్ను అందించాల్సి ఉంటుంది.
|
|
|
|
ప్రతి భాషకు వివిధ వాయిస్ల శ్రేణి అందుబాటులో ఉంటుంది, మరియు ప్రతి భాషకు సహాయపడే వాయిస్ల జాబితాను స్పీచ్ సర్వీసుల SDKలో నుండి పొందవచ్చు.
|
|
|
|
### పనితీరు - టెక్స్ట్ టు స్పీచ్ మార్చడం
|
|
|
|
1. VS కోడ్లో `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
|
|
```
|
|
|
|
ఇది అందుబాటులో ఉన్న అన్ని వాయిస్ల జాబితాను తీసుకుంటుంది, తర్వాత ఉపయోగించే భాషకు సరిపోయే మొదటి వాయిస్ను కనుగొంటుంది.
|
|
|
|
> 💁 మీరు [మైక్రోసాఫ్ట్ డాక్స్లో భాష మరియు వాయిస్ మద్దతు డాక్యుమెంటేషన్](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 -->
|
|
**అర్థసారంః**
|
|
ఈ పత్రం AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువాదం చేయబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నిస్తేనూ, స్వయంచాలక అనువాదాల్లో పొరపాట్లు లేదా తప్పుడు సమాచారం ఉండవచ్చు. మూల పత్రం దాని స్థానిక భాషలో అధికారిక మూలంగా పరిగణించాలి. కీలక సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం కోరుకుంటాము. ఈ అనువాదం వాడకం కారణంగా కలిగే ఏవైనా అవగాహన లోపాలు లేదా తప్పుదుల గురించి మేము బాధ్యత వహించము.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |