Всего за несколько простых шагов вы можете создать эффективный, гибкий и простой в использовании переводчик рабочего языка. Следуйте этому руководству, чтобы узнать, как это сделать.
В современном взаимосвязанном мире языковые барьеры могут препятствовать эффективному общению и сотрудничеству между культурами и границами. Чтобы преодолеть эти проблемы, языковой перевод играет жизненно важную роль в обеспечении беспрепятственного глобального взаимодействия. Языковой перевод становится все более важным в различных областях, включая международный бизнес, образование, путешествия и гуманитарную деятельность.
С помощью языкового переводчика мы можем преодолеть разрыв между языками и обеспечить эффективное общение между различными языковыми сообществами. Независимо от того, являетесь ли вы любителем языков, разработчиком, стремящимся добавить возможности языкового перевода в свои приложения, или кем-то, кто не знает родной язык того места, где вы в настоящее время проживаете, это руководство предоставит вам необходимые знания и инструменты. создать эффективный и удобный языковой переводчик.
Давайте погрузимся и посмотрим, как мы можем создать инструмент языкового перевода, используя API Python и Google. Вы можете найти полный исходный код на GitHub.
Детали проекта
Как упоминалось ранее, мы будем использовать Python для разработки языкового транслятора.
Мы также будем использовать библиотеку Google Translate Python. Эта библиотека предоставляет простой интерфейс для Google Translate API. Его можно использовать для перевода текста между более чем 100 языками.
Кроме того, мы будем использовать «Google Text-to-Speech» для преобразования нашего текста в аудио, «SpeechRecognition» для понимания ввода и «Pyaudio», чтобы помочь нам работать с нашим аудио входом и выходом.
Когда мы закончим создание нашего транслятора, он сможет делать следующее:
- Запишите входной звук
- Распознавать слова, произнесенные во входном аудио, и отображать их в виде текста
- Перевести текст на другой язык
- Преобразуйте этот текст в аудио и воспроизведите его
Для нашего проекта мы будем использовать «хинди» (общий язык, на котором говорят в Индии) в качестве языка ввода и «английский» в качестве языка вывода.
Установки
Мы начнем с установки следующих зависимостей:
pip install googletrans pip install httpx==0.22.0 pip install gTTS pip install SpeechRecognition pip install pyaudio
Импортируйте необходимые библиотеки
import googletrans from googletrans import Translator # To detect and translate text import speech_recognition as sr # To recognize speech from gtts import gTTS # Google Text-to-Speech to convert text to audio import os # To work with files
Изучение Google Переводчика
Прежде чем мы начнем основной проект, давайте кратко рассмотрим, что может делать этот модуль.
Во-первых, давайте посмотрим на количество языков, поддерживаемых этой библиотекой.
# Display the available languages print(googletrans.LANGUAGES)
При этом будут отображаться все поддерживаемые языки вместе с их сокращениями. Далее мы найдем количество элементов в списке поддерживаемых языков.
# Display the number of languages supported len(googletrans.LANGUAGES)
Это дает результат «107», который представляет собой количество языков, которые может поддерживать Google Translate.
Google Translate также может определять языки по предоставленному ему тексту, как показано ниже:
# Detect Languages print(translator.detect("Bonjour, comment tu appelle?")) print(translator.detect("Kon'nichiwa, genkidesuka"))
Это даст следующий результат:
Detected(lang=fr, confidence=None) Detected(lang=ja, confidence=None)
Как мы видим, программа смогла определить, что предложения написаны на французском (fr) и японском (ja) языках соответственно.
Затем мы можем попросить Google Translate перевести данные предложения:
# Translate languages translator = Translator() print(translator.translate("Salut comment ça va?")) print(translator.translate("Kon'nichiwa, genkidesuka"))
Вывод этого кода будет следующим:
Translated(src=fr, dest=en, text=Hi how are you?, pronunciation=None, extra_data="{'confiden...") Translated(src=ja, dest=en, text=Hello, how are you, pronunciation=None, extra_data="{'confiden...")
Таким образом, с помощью библиотеки Python «googletrans» мы можем легко выполнить несколько задач, связанных с переводом. Теперь мы начнем создавать наш собственный переводчик, используя этот модуль.
Языковой переводчик с аудио
Сначала мы инициализируем микрофон для захвата звука:
mic = sr.Microphone()
Теперь мы узнаем слова, произнесенные в аудиовходе:
rec = sr.Recognizer()
Далее нам нужно инициализировать транслятор. После этого мы можем определить языки ввода и вывода, предложить пользователю ввести аудио, а затем использовать Google для распознавания слов в заданном аудио, как показано ниже:
with mic as source: # Initialise the translator translator = Translator() # Define the input language and output language inp_lang = 'hi' out_lang = 'en' # Prompt the user to speak print("Please speak now...") # Calibrate to set the threshold property of the 'rec' instance to a lower value rec.adjust_for_ambient_noise(source, duration=0.2) # Keep recording until there is silence audio = rec.listen(source) # Use Google to recognize the words in the given audio rec_aud = rec.recognize_google(audio)
Микрофон начнет запись, и появится следующее сообщение:
Please speak now...
Программа будет продолжать запись до тех пор, пока не наступит тишина. После завершения записи он сохранит записанный звук в виде файла «.mp3».
Теперь мы преобразуем аудиовход в текст, переведем его и вернем перевод в текстовом формате:
# Print the input audio as text print("Here is the audio input :" + rec_aud) # Translate the text and display it to_translate = translator.translate(rec_aud,src=inp_lang,dest=out_lang) translated_text = to_translate.text print("The translated text is: ", translated_text) Here is the audio input :namaste aap kaise ho The translated text is: Hello how are you
После этого мы можем преобразовать текст в аудио с помощью Google Text-to-Speech и воспроизвести вывод:
# Convert the text to audio and play it speak = gTTS(text=translated_text, lang=out_lang, slow=False) speak.save("recorded_audio.mp3") os.system("start recorded_audio.mp3")
Откроется звуковой файл, содержащий переведенный текст в аудиоформате.
Заключение
Таким образом, интегрировав Google Translate API, мы можем легко переводить текст между различными языками, обеспечивая беспрепятственное общение и совместную работу в глобализованном мире. Кроме того, включение Google Text-to-Speech API улучшает взаимодействие с пользователем, преобразуя переведенный текст в естественно звучащую речь, делая его еще более доступным и удобным для пользователя.
Дополнительная практика
Мы можем изменить этот проект несколькими способами, поскольку мы практикуем создание собственного транслятора:
- Измените язык ввода и вывода, чтобы увидеть, насколько точен Google Translate.
- Каждый раз вводите разные данные, чтобы увидеть, насколько хорошо программа способна их распознать и перевести.
- Попробуйте построить переводчик таким образом, чтобы он автоматически распознавал язык ввода и переводил его на язык по нашему выбору.
- Обладая дополнительными навыками, мы можем даже превратить этот проект в полноценное веб-приложение, состоящее из простого и удобного графического интерфейса.
Вы уже пробовали создать языковой переводчик? Какие языки вы использовали и насколько точным был вывод?