होम ऑटोमेशन, एआई आदि जैसे कई अनुप्रयोगों में वाक् पहचान सबसे उपयोगी विशेषताओं में से एक है। इस खंड में हम देखेंगे कि पायथन और Google के स्पीच एपीआई का उपयोग करके भाषण की पहचान कैसे की जा सकती है।
इस मामले में हम वाक् पहचान के लिए माइक्रोफ़ोन का उपयोग करके एक ऑडियो देंगे। माइक्रोफ़ोन को कॉन्फ़िगर करने के लिए, कुछ पैरामीटर हैं।
इस मॉड्यूल का उपयोग करने के लिए, हमें स्पीच रिकॉग्निशन मॉड्यूल स्थापित करना होगा। एक अन्य मॉड्यूल है जिसे pyaudio कहा जाता है, जो वैकल्पिक है। इसका उपयोग करके हम ऑडियो के विभिन्न मोड सेट कर सकते हैं।
sudo pip3 install SpeechRecognition sudo apt-get install python3-pyaudio
बाहरी माइक्रोफ़ोन या USB माइक्रोफ़ोन के लिए, हमें किसी भी कठिनाई से बचने के लिए सटीक माइक्रोफ़ोन प्रदान करने की आवश्यकता है। Linux पर, यदि हम USB उपकरणों के लिए संबंधित जानकारी दिखाने के लिए 'lsusb' टाइप करते हैं।
दूसरा पैरामीटर चंक साइज है। इसका उपयोग करके हम यह निर्दिष्ट कर सकते हैं कि हम एक बार में कितना डेटा पढ़ना चाहते हैं। यह एक संख्या होगी जो 2 की शक्ति है, जैसे 1024 या 2048 आदि।
प्रसंस्करण के लिए डेटा कितनी बार रिकॉर्ड किया जाता है, यह निर्धारित करने के लिए हमें नमूनाकरण दर भी निर्दिष्ट करनी होगी।
चूंकि आस-पास कुछ अपरिहार्य शोर हो सकता है, तो हमें सटीक आवाज़ लेने के लिए परिवेशी शोर को समायोजित करना होगा।
भाषण को पहचानने के चरण
-
माइक्रोफ़ोन से जुड़ी अलग-अलग जानकारी लें.
-
चंक आकार, नमूना दर, परिवेशी शोर समायोजन आदि का उपयोग करके माइक्रोफ़ोन को कॉन्फ़िगर करें।
-
आवाज प्राप्त करने के लिए कुछ समय प्रतीक्षा करें
-
जब आवाज की पहचान हो जाए, तो उसे टेक्स्ट में बदलने की कोशिश करें, नहीं तो कुछ गलतियां करें।
-
-
प्रक्रिया को रोकें।
उदाहरण कोड
import speech_recognition as spreg #Setup the sampling rate and the data size sample_rate = 48000 data_size = 8192 recog = spreg.Recognizer() with spreg.Microphone(sample_rate = sample_rate, chunk_size = data_size) as source: recog.adjust_for_ambient_noise(source) print('Tell Something: ') speech = recog.listen(source) try: text = recog.recognize_google(speech) print('You have said: ' + text) except spreg.UnknownValueError: print('Unable to recognize the audio') except spreg.RequestError as e: print("Request error from Google Speech Recognition service; {}".format(e))
आउटपुट
$ python3 318.speech_recognition.py Tell Something: You have said: here we are considering the asymptotic notation Pico to calculate the upper bound of the time complexity so then the definition of the big O notation is like this one $
माइक्रोफ़ोन का उपयोग किए बिना, हम कुछ ऑडियो फ़ाइल को एक भाषण में बदलने के लिए इनपुट के रूप में भी ले सकते हैं।
उदाहरण कोड
import speech_recognition as spreg sound_file = 'sample_audio.wav' recog = spreg.Recognizer() with spreg.AudioFile(sound_file) as source: speech = recog.record(source) #use record instead of listning try: text = recog.recognize_google(speech) print('The file contains: ' + text) except spreg.UnknownValueError: print('Unable to recognize the audio') except spreg.RequestError as e: print("Request error from Google Speech Recognition service; {}".format(e))
आउटपुट
$ python3 318a.speech_recognition_file.py The file contains: staying ahead of the curve demand planning new technology it also helps you progress in your career $