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.
106 lines
10 KiB
106 lines
10 KiB
# ಸ್ಪೀಚ್ ಟು ಟೆಕ್ಸ್ಟ್ - ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನ
|
|
|
|
ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ಮೈಕ್ರೋಫೋನ್ನಿಂದ ಹಿಡಿದಿಕೆಯಾದ ಸ್ಪೀಚ್ನ್ನು ಸ್ಪೀಚ್ ಸರ್ವಿಸ್ ಬಳಸಿ ಟೆಕ್ಸ್ಟ್ ಗೆ ಪರಿವರ್ತಿಸಲು ಕೋಡ್ ಬರೆಯುತ್ತೀರಿ.
|
|
|
|
## ಸ್ಪೀಚ್ ಅನ್ನು ಟೆಕ್ಸ್ಟ್ ಗೆ ಪರಿವರ್ತಿಸಿ
|
|
|
|
ವಿಂಡೋಸ್, ಲಿನಕ್ಸ್ನಲ್ಲಿ ಮತ್ತು ಮೆಕ್ಒಎಸ್ ನಲ್ಲಿ, ಸ್ಪೀಚ್ ಸರ್ವಿಸಸ್ ಪೈಥಾನ್ SDK ಅನ್ನು ನಿಮ್ಮ ಮೈಕ್ರೋಫೋನ್ಗೆ ಕೇಳಿಸಲು ಮತ್ತು ಪತ್ತೆಯಾಗಿರುವ ಯಾವುದೇ ಸ್ಪೀಚ್ ಅನ್ನು ಟೆಕ್ಸ್ಟ್ ಗೆ ಪರಿವರ್ತಿಸಲು ಬಳಸಬಹುದು. ಇದು ನಿರಂತರವಾಗಿ ಕೇಳುತ್ತಿದ್ದು, ಧ್ವನಿಗಳ ಮಟ್ಟವನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತದೆ ಮತ್ತು ಧ್ವನಿಯ ಮಟ್ಟ ಕುಗ್ಗಿದಾಗ, ಉದಾಹರಣೆಗೆ ಸ್ಪೀಚ್ ಬ್ಲಾಕ್ ಅಂತ್ಯ ಭಾಗದಲ್ಲಿ, ಸ್ಪೀಚ್ ಟೆಕ್ಸ್ಟ್ ಗೆ ಪರಿವರ್ತಿಸಲು ಕಳುಹಿಸುತ್ತದೆ.
|
|
|
|
### ಕಾರ್ಯ - ಸ್ಪೀಚ್ ಅನ್ನು ಟೆಕ್ಸ್ಟ್ ಗೆ ಪರಿವರ್ತಿಸಿ
|
|
|
|
1. `smart-timer` ಎಂಬ ಫೋಲ್ಡರ್ ನಲ್ಲಿ ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಹೊಸ ಪೈಥಾನ್ ಆಪ್ ರಚಿಸಿ, ಮತ್ತು `app.py` ಎಂಬ ಏಕೈಕ ಫೈಲ್ ಹಾಗೂ ಪೈಥಾನ್ ವರ್ಚುವಲ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ಇರಲಿ.
|
|
|
|
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 = '<key>'
|
|
location = '<location>'
|
|
language = '<language>'
|
|
|
|
recognizer_config = SpeechConfig(subscription=speech_api_key,
|
|
region=location,
|
|
speech_recognition_language=language)
|
|
```
|
|
|
|
`<key>` ನ್ನು ನಿಮ್ಮ ಸ್ಪೀಚ್ ಸರ್ವಿಸ್ API ಕೀಲಿಗೆ ಬದಲಿಸಿ. `<location>` ನ್ನು ಸ್ಪೀಚ್ ಸರ್ವಿಸ್ ರಿಸೋರ್ಸ್ ಉಂಟುಮಾಡಿದ when ಸ್ಥಳದಿಂದ ಬದಲಿಸಿ.
|
|
|
|
`<language>` ನ್ನು ನೀವು ಮಾತನಾಡಲಿರುವ ಭಾಷೆಯ ಸ್ಥಳೀಯ ಹೆಸರು, ಉದಾಹರಣೆಗೆ ಇಂಗ್ಲಿಷ್ಗಾಗಿ `en-GB` ಅಥವಾ ಕ್ಯಾಂಟೋನಿಸ್ಗಾಗಿ `zn-HK` ಅಂತೆ ಬದಲಿಸಿ. ಬೆಂಬಲಿತ ಭಾಷೆಗಳ ಹಾಗೂ ಅವುಗಳ ಸ್ಥಳೀಯ ಹೆಸರುಗಳ ಪಟ್ಟಿಯನ್ನು [Language and voice support documentation on Microsoft docs](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) ಫೋಲ್ಡರ್ನಲ್ಲಿ ಕಾಣಬಹುದು.
|
|
|
|
😀 ನಿಮ್ಮ ಸ್ಪೀಚ್ ಟು ಟೆಕ್ಸ್ಟ್ ಪ್ರೋಗ್ರಾಂ ಯಶಸ್ವಿಯಾಯಿತು!
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ಅಸ್ವೀಕಾರ**:
|
|
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯುಳ್ಳ ಅನುವಾದಕ್ಕಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳಿರಬಹುದು ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ದಸ್ತಾವೇಜಿನ ಸ್ಥಳೀಯ ಭಾಷೆಯು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಆಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೆ ಅಥವಾ ದುರವಳಿಕೆಗಳಿಗೆ ನಾವು ಉತ್ತರದ್ದಾಯಿಗಳವಲ್ಲ.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |