¡Salta a través de las barreras del idioma usando la IA para conversar con otros usuarios en línea de todo el mundo! Languagelapai tiene como objetivo proporcionarle un asistente de IA en tiempo real que pueda comprender y hablar su idioma deseado con fluidez. (Dirigido a inglés a japonés y alemán a partir de ahora)
Guía de configuración: https://www.youtube.com/watch?v=bn5uaekipgm
Showcase: https://www.youtube.com/watch?v=uy7SRB60WZ4
Este proyecto integra 3 sistemas AI gratuitos y de código abierto:
Whispai y VoiceVox tienen imágenes de Docker disponibles en Dockerhub, por lo que las construiremos y las ejecutaremos a través de un archivo de composición de Docker. DeepL se puede interactuar registrándose para un plan gratuito e interactuando con su API REST de hasta 500,000 límites de caracteres / mes. Si DeepL no está disponible en su país, una opción para usar Google Translate está disponible.
Languagelapai está compuesto por 2 programas principales de Python.
El primero, Voice_Translator.py, registra su micrófono cada vez que se mantiene presionada una tecla Push-to Talk en el teclado. Una vez que se lanza esta clave, guarda su voz en un archivo de audio que luego se envía al punto final de transcripción de WhisPerai que ejecuta el reconocimiento automático de voz (ASR). Después de una respuesta que contiene su discurso a medida que se recibe el texto, este texto se traduce utilizando la API REST de DeepL.
El texto traducido se envía a VoiceVox que realiza texto a voz y genera un archivo de audio expresado en japonés. Luego se reproduce este archivo con la entrada de micrófono de su aplicación objetivo y sus altavoces/auriculares.
Dado que VoiceVox solo toma el texto japonés como entrada y genera habla en japonés, el proyecto técnicamente solo se limita al japonés como idioma de destino. Sin embargo, VoiceVox se puede reemplazar con cualquier otro programa de texto a voz que pueda hablar su lenguaje deseado para posibilidades ilimitadas.
Thorsten ha sido agregado como un programa TTS alemán.
El segundo, subtitler.py, registra la salida de audio de su aplicación y escucha en segundo plano cualquier discurso. Una vez que ha detectado que se completa una frase/oración, guarda el audio en un archivo WAV y lo envía al punto final de traducción de WhisPerai que traduce el discurso del idioma de destino al inglés.
Este texto en inglés se muestra en la pantalla utilizando el módulo Tkinter de Python, esencialmente actuando como subtítulos.
El público objetivo de Languagelapai es para los usuarios que desean chatear con otro pero no hablan el mismo idioma. Un ejemplo es un usuario de habla inglesa que juega un juego en línea en el servidor de Japón, pero quiere usar el chat de voz a pesar de no conocer japonés.
Al ejecutar Subtitler.py y Voice_Translator.py, pueden entender a sus compañeros de equipo japoneses leyendo los subtítulos en inglés generados en tiempo real. También pueden hablar inglés y los compañeros de equipo japoneses escucharán el discurso japonés traducido generado por Voicevox.
Sin embargo, esta no es la única aplicación de Languagelapai .
El usuario simplemente quiere entender lo que se dice sin necesidad de hablar. Por ejemplo, viendo un video / transmisión / película en otro idioma sin subtítulos. El usuario puede optar por no ejecutar voz_translator.py y simplemente usar subtitler.py.
El usuario comprende el idioma lo suficiente como para escuchar y comprender, pero tiene miedo de hablar el idioma por varias razones, por ejemplo, el anonimato / miedo a estropear o ofender. El usuario puede optar por no ejecutar subtitler.py y simplemente usar voz_translator.py.
La configuración de Languagelapai requiere 3 pasos cruciales, ¡así que no se pierda ninguno de ellos!
Para ejecutar Languagelapai , primero debes ejecutar Whispai y VoiceVox. Se pueden ejecutar a través de Docker o usar Google Colab.
Si su GPU no es lo suficientemente potente, es posible que desee considerar ejecutar Whispai y VoiceVox usando la GPU de Google Colab.
Cargue el archivo run_whisper_n_voicevox.ipynb en Google Drive, abra el cuaderno con Google Colab y simplemente siga las instrucciones!
Para ejecutar solo Whisper o VoiceVox en la nube: ¡use los archivos Run_whisper_Colab.IPynb y Run_VoiceVox_Colab.IPynb Colab!
Si aún desea ejecutar Whisper y VoiceVox en su computadora, ejecute estos comandos en la carpeta que contiene el archivo Docker-Compose.yml.
Para ejecutar Whispai y VoiceVox:
docker-compose up -d
Para dejar de ejecutar los contenedores:
docker-compose down
Si está ejecutando el subsistema de Windows para Linux (WSL), no olvide apagarlo para recuperar su RAM. Esto debería solo después de haber detenido los contenedores y terminar utilizando el programa.
wsl --shutdown
Si desea ejecutar una versión alemana de VoiceVox, debe cambiar el archivo Docker-Compose al correspondiente. El TTS es lo único que está cambiando, así que asegúrese de cambiar también el TARGET_LANGUAGE_CODE
en su archivo .env.
Para ejecutar Whispai y Thorsten:
docker-compose -f docker-compose-de.yml up -d
Para dejar de ejecutar los contenedores:
docker-compose down
Ejecute estos comandos en la carpeta SRC/.
Para ejecutar el subtitler de audio:
python subtitler.py
Para ejecutar el traductor de voz:
python voice_translator.py
Para detener los scripts de Python, simplemente presione Ctrl+C
en el terminal.
Algunas cosas importantes a tener en cuenta mientras usan Languagelapai .
Tenga en cuenta que Whispai no es exactamente el más preciso y no transcribirá el discurso correctamente el 100% del tiempo, así que use su propio riesgo. Hasta que Operai decida mejorar el conjunto de datos que se usó para entrenar los modelos Whisper, esto tendrá que hacerlo.
Además, Whisper no está diseñado para manejar múltiples solicitudes concurrentes a la vez. Sin embargo, para que los subtítulos se actualicen a tiempo, se envían múltiples solicitudes de forma asincrónica, por lo que algunas solicitudes pueden devolver un error.
Si está ejecutando Whisper y VoiceVox en la nube usando Google Colab, ya que estamos utilizando NGROK y LocalTunnel para alojar nuestros servicios, la dirección IP pública aleatoria que proporcionan podría estar en la lista negra de su software antivirus. Si la IA parece dejar de funcionar, puede deberse a que su antivirus bloquea las conexiones con estas direcciones IP públicas. Puede colocar las direcciones IP o simplemente apagar su protección web antivirus bajo su propio riesgo .
Hay ciertos términos y condiciones para usar las voces de VoiceVox, así que lea sobre estos antes de usar un altavoz específico.
El Código de Languagelapai se publica bajo la licencia MIT. Vea la licencia para obtener más detalles.