# స్పీచ్ టు టెక్స్ట్ - వర్చ్యువల్ IoT డివైస్ ఈ పాఠంలో, మీరు మీ మైక్రోఫోన్ నించి సేకరించిన స్పీచ్‌ను స్పీచ్ సర్వీస్ వాడి టెక్స్ట్‌గా మారుస్తూ కోడ్ రాయడం నేర్పుకుంటారు. ## స్పీచ్‌ను టెక్స్ట్‌గా మార్పిడి చేయండి విండోస్, లినక్స్, మరియు మ్యాకోస్ లో, స్పీచ్ సర్వీసులు पाइథాన్ SDK వాడి మీ మైక్రోఫోన్ ను వింటూ, గుర్తించిన ఏ డైలాగ్ అయినా టెక్స్ట్‌కి మార్చవచ్చు. ఇది నిరంతరంగా వింటూ, ఆడియో స్థాయిలను గుర్తించి, ఆడియో స్థాయి తగ్గినప్పుడు (ఉదాహరణకి డైలాగ్ ముగింపు) ఆ స్పీచ్‌ను టెక్స్ట్ మార్పిడి కొరకు పంపుతుంది. ### పని - స్పీచ్ యికటి టెక్స్ట్‌గా మార్చడం 1. `smart-timer` అనే ఫోల్డర్ లో ఒక కొత్త পাইథాన్ యాప్ సృష్టించండి, దానిలో `app.py` అనే ఒకే ఒక ఫైల్ మరియు ఒక Python వర్చువల్ ఎన్విరాన్‌మెంట్ ఉండాలి. 1. స్పీచ్ సర్వీస్ కోసం Pip ప్యాకేజీని ఇన్స్టాల్ చేయండి. వర్చువల్ ఎన్విరాన్‌మెంట్ యాక్టివేట్ చేసిన టెర్మినల్ నుండి మాత్రమే ఇన్స్టాల్ చేస్తున్నారో చూసుకోండి. ```sh pip install azure-cognitiveservices-speech ``` > ⚠️ మీరు ఈ లోపం పొందితే: > > ```output > 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 ని అప్డేట్ చేయాలి. క్రింది కమాండ్ తో డూ చేసి, ప్యాకేజీని మళ్లీ ఇన్స్టాల్ చేయండి > > ```sh > pip install --upgrade pip > ``` 1. `app.py` ఫైలులో క్రింది ఇంపోర్ట్స్ చేర్చండి: ```python import requests import time from azure.cognitiveservices.speech import SpeechConfig, SpeechRecognizer ``` ఇవి స్పీచ్ గుర్తింపుకు ఉపయోగించే కొన్ని క్లాసులను ఇంపోర్ట్ చేస్తాయి. 1. కాస్త కాన్ఫిగర్ చేసేందుకు క్రింది కోడ్ చేర్చండి: ```python speech_api_key = '' location = '' language = '' recognizer_config = SpeechConfig(subscription=speech_api_key, region=location, speech_recognition_language=language) ``` `` స్థానంలో మీ స్పీచ్ సర్వీస్ API కీని, `` స్థానంలో మీరు సృష్టించిన స్పీచ్ సర్వీస్ రిసోర్స్ లొకేషన్‌ను భర్తీ చేయండి. `` స్థానంలో మీరు మాట్లాడే భాషకు సంబంధించిన లోకేల్ పేరు ఉంచాలి, ఉదా: English కోసం `en-GB`, Cantonese కోసం `zn-HK`. మైక్రోసాఫ్ట్ డాక్స్ లో [భాష మరియు వోయిస్ సపోర్ట్ డాక్యుమెంటేషన్](https://docs.microsoft.com/azure/cognitive-services/speech-service/language-support?WT.mc_id=academic-17441-jabenn#speech-to-text) లో సమర్థించబడిన భాషల జాబితా మరియు లోకేల్ పేర్లు చూడొచ్చు. ఈ కాన్ఫిగరేషన్ తరువాత `SpeechConfig` ఆబ్జెక్ట్ సృష్టించడానికి వాడబడుతుంది, ఇది స్పీచ్ సర్వీసులు సెటప్‌కి ఉపయోగపడుతుంది. 1. స్పీచ్ రికగ్నైజర్‌ని క్రియేట్ చేయడానికి క్రింది కోడ్ చేర్చండి: ```python recognizer = SpeechRecognizer(speech_config=recognizer_config) ``` 1. స్పీచ్ రికగ్నైజర్ బ్యాక్‌గ్రౌండ్ థ్రెడ్‌గా పనిచేస్తూ, ఆడియో వినడానికి మరియు ఏ స్పీచ్ ఆ ఆడియోలో ఉన్నా టెక్స్ట్‌గా మార్చుతుంది. మీరు టెక్స్ట్‌ను పొందేందుకు కాల్‌బ్యాక్ ఫంక్షన్ ను నిర్వచించాలి - మీరు నిర్వచించి రికగ్నైజర్ కు పాస్ చేసే ఫంక్షన్. ఒక్కోసారి స్పీచ్ గుర్తించినప్పుడు కాల్‌బ్యాక్ పిలవబడుతుంది. కాల్‌బ్యాక్ నిర్వచించడానికి, తదుపరి టెక్స్ట్ ప్రాసెస్ చేసి కన్సోల్ కు రాయడానికి క్రింది కోడ్ చేర్చండి: ```python def process_text(text): print(text) def recognized(args): process_text(args.result.text) recognizer.recognized.connect(recognized) ``` 1. రికగ్నైజర్ మీరు స్పష్టంగా స్టార్ట్ చేయాలని ప్రారంభమవుతుంది. గుర్తింపు ప్రారంభించడానికి క్రింది కోడ్ జోడించండి. ఈ కోడ్ బ్యాక్‌గ్రౌండ్‌లో నడుస్తుంది, కాబట్టి దాని వెంట అనంత లూప్ తో ప్రోగ్రామ్ ఆపకుండా నిద్రలో ఉంచాలి. ```python recognizer.start_continuous_recognition() while True: time.sleep(1) ``` 1. ఈ యాప్‌ను నడపండి. మీ మైక్రోఫోన్ వద్ద మాట్లాడండి, ఆడియో టెక్స్ట్‌గా మార్చబడినది కన్సోల్‌లో ప్రదర్శిస్తుంది. ```output (.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](../../../../../6-consumer/lessons/1-speech-recognition/code-speech-to-text/virtual-iot-device) ఫోల్డర్‌లో పొందొచ్చు. 😀 మీ స్పీచ్ టు టెక్స్ట్ ప్రోగ్రామ్ విజయం సాధించింది! --- **నివేదిక**: ఈ పత్రాన్ని AI అనువాద సేవ అయిన [Co-op Translator](https://github.com/Azure/co-op-translator) ద్వారా అనువదించాము. సరైనతకు మేం ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాలలో పొరపాట్లు లేదా తప్పులు ఉండవచ్చు. మూర్ఖభాషలో ఉన్న మౌలిక పత్రాన్ని అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి వృత్తిపరమైన మానవ అనువాదం చేయించడం మంచిది. ఈ అనువాదం వాడకం వల్ల కలిగే ఏదైనా పొరపాటు లేదా తప్పుగా అర్థం చేసుకోడం కోసం మేము బాధ్యులు కాదు.