-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 86488fb
Showing
14 changed files
with
446 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Python Real Time Language Translation Bot | ||
|
||
This repository contains some python scripts which can translate languages with audio processing. These scripts are written in python with some modules. | ||
|
||
###### How does it work | ||
|
||
1. Convert audio speeches into texts with [speech-recognition library](https://pypi.org/project/SpeechRecognition/). | ||
2. Translate the text into another language with [googletrans library](https://pypi.org/project/googletrans/) | ||
3. Convert the translated text into voice [gtts library](https://pypi.org/project/gTTS/) | ||
4. Play the voice as sound [playsound library](https://pypi.org/project/playsound/) | ||
|
||
###### System Architecture | ||
|
||
![System Architecture](/system-architeture.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='zh-CN', dest='en') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='en', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='zh-CN') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='zh-CN', dest='si') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='si', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='zh-CN') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='zh-CN', dest='ta') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='ta', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='zh-CN') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='en', dest='zh-CN') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='zh-CN', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='en') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='en', dest='si') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='si', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='en') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='en', dest='ta') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='ta', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='en') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='si', dest='zh-CN') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='zh-CN', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='si') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='si', dest='en') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='en', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='si') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='si', dest='ta') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='ta', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='si') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
from gtts import gTTS | ||
import speech_recognition as sr | ||
from googletrans import Translator | ||
import playsound | ||
import os | ||
|
||
translator = Translator() | ||
|
||
def translator_fun(text): | ||
return translator.translate(text, src='ta', dest='zh-CN') | ||
|
||
def text_to_voice(text_data): | ||
myobj = gTTS(text=text_data, lang='zh-CN', slow=False) | ||
myobj.save("cache_file.mp3") | ||
playsound.playsound("cache_file.mp3") | ||
os.remove("cache_file.mp3") | ||
|
||
while True: | ||
rec = sr.Recognizer() | ||
|
||
with sr.Microphone() as source: | ||
print("Listening...") | ||
rec.pause_threshold = 1 | ||
audio = rec.listen(source, phrase_time_limit=10) | ||
try: | ||
print("Processing...") | ||
spoken_text = rec.recognize_google(audio, language='ta') | ||
|
||
print("Translating...") | ||
tamil_version = translator_fun(spoken_text) | ||
|
||
print("Text to Speech...") | ||
text_to_voice(tamil_version.text) | ||
|
||
except Exception as e: | ||
print(e) |
Oops, something went wrong.