Всего за несколько простых шагов вы можете создать эффективный, гибкий и простой в использовании переводчик рабочего языка. Следуйте этому руководству, чтобы узнать, как это сделать.

В современном взаимосвязанном мире языковые барьеры могут препятствовать эффективному общению и сотрудничеству между культурами и границами. Чтобы преодолеть эти проблемы, языковой перевод играет жизненно важную роль в обеспечении беспрепятственного глобального взаимодействия. Языковой перевод становится все более важным в различных областях, включая международный бизнес, образование, путешествия и гуманитарную деятельность.

С помощью языкового переводчика мы можем преодолеть разрыв между языками и обеспечить эффективное общение между различными языковыми сообществами. Независимо от того, являетесь ли вы любителем языков, разработчиком, стремящимся добавить возможности языкового перевода в свои приложения, или кем-то, кто не знает родной язык того места, где вы в настоящее время проживаете, это руководство предоставит вам необходимые знания и инструменты. создать эффективный и удобный языковой переводчик.

Давайте погрузимся и посмотрим, как мы можем создать инструмент языкового перевода, используя 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 улучшает взаимодействие с пользователем, преобразуя переведенный текст в естественно звучащую речь, делая его еще более доступным и удобным для пользователя.

Дополнительная практика

Мы можем изменить этот проект несколькими способами, поскольку мы практикуем создание собственного транслятора:

  1. Измените язык ввода и вывода, чтобы увидеть, насколько точен Google Translate.
  2. Каждый раз вводите разные данные, чтобы увидеть, насколько хорошо программа способна их распознать и перевести.
  3. Попробуйте построить переводчик таким образом, чтобы он автоматически распознавал язык ввода и переводил его на язык по нашему выбору.
  4. Обладая дополнительными навыками, мы можем даже превратить этот проект в полноценное веб-приложение, состоящее из простого и удобного графического интерфейса.

Вы уже пробовали создать языковой переводчик? Какие языки вы использовали и насколько точным был вывод?