OpenAvatarChat: una herramienta digital de diálogo humano de diseño modular

Introducción general

OpenAvatarChat es un proyecto de código abierto desarrollado por el equipo HumanAIGC-Engineering y alojado en GitHub. Se trata de una herramienta modular de diálogo humano digital que permite a los usuarios ejecutar todas sus funciones en un único PC. El proyecto combina vídeo en tiempo real, reconocimiento del habla y tecnología humana digital, con un diseño modular flexible y una interacción de baja latencia como características principales. El componente de audio utiliza SenseVoice, qwen-plus y CosyVoice La parte de vídeo se basa en el algoritmo LiteAvatar. El código está completamente abierto para que los desarrolladores lo estudien y mejoren.

OpenAvatarChat:模块化设计的数字人对话工具

 

Lista de funciones

  • Diálogo humano digital modular: admite la interacción en tiempo real con voz y vídeo, los módulos pueden combinarse libremente.
  • Transmisión de audio y vídeo en tiempo real: comunicación de audio y vídeo de baja latencia mediante gradio-webrtc.
  • Reconocimiento y generación de voz: integración de SenseVoice y CosyVoice para gestionar la entrada y salida de voz.
  • Animación humana digital: Genere expresiones y movimientos humanos digitales suaves con LiteAvatar.
  • Soporte de código abierto: se proporciona el código completo y los usuarios pueden modificarlo u optimizarlo según sus necesidades.

 

Utilizar la ayuda

OpenAvatarChat es un proyecto de código abierto que requiere que los usuarios descarguen el código y configuren el entorno por su cuenta. A continuación se detallan los pasos de instalación y uso para ayudarte a empezar rápidamente.

Proceso de instalación

  1. Comprobar los requisitos del sistema
    Antes de empezar, asegúrate de que tu dispositivo cumple las siguientes condiciones:

    • Python 3.10 o posterior.
    • GPU compatible con CUDA con al menos 10 GB de memoria gráfica (20 GB o más para modelos no cuantificados).
    • El rendimiento de la CPU es sólido (probado a 30FPS con i9-13980HX).
      Puede comprobar la versión de Python con el siguiente comando:
python --version
  1. Instalación de Git LFS
    El proyecto utiliza Git LFS para gestionar archivos grandes, así que instálalo primero:
sudo apt install git-lfs
git lfs install
  1. Descargar código
    Clona el proyecto localmente introduciendo el siguiente comando en el terminal:
git clone https://github.com/HumanAIGC-Engineering/OpenAvatarChat.git
cd OpenAvatarChat
  1. Actualización de submódulos
    El proyecto depende de varios submódulos, que se actualizan ejecutando el siguiente comando:
git submodule update --init --recursive
  1. Descargar modelos
    El modelo de lenguaje multimodal MiniCPM-o-2.6 debe descargarse manualmente. Puede descargarlo desde Cara abrazada tal vez Modelscope Consigue. Coloque el modelo en el models/ o ejecute un script para descargarlo automáticamente:
scripts/download_MiniCPM-o_2.6.sh

Si no hay suficiente memoria de vídeo, puedes descargar la versión int4 quantised:

scripts/download_MiniCPM-o_2.6-int4.sh
  1. Instalación de dependencias
    Ejecútelo en el directorio raíz del proyecto:
pip install -r requirements.txt
  1. Generar certificado SSL
    Si se requiere acceso remoto, genere un certificado autofirmado:
scripts/create_ssl_certs.sh

Los certificados se almacenan por defecto en la carpeta ssl_certs/ Carpeta.

  1. programa de carrera
    Hay dos tipos de puesta en marcha:
  • ejecutar directamente::
    python src/demo.py
    
  • Operación en contenedores(Se requiere Nvidia Docker):
    build_and_run.sh
    

Funciones principales

  • Lanzamiento del diálogo humano digital
    Después de ejecutar el programa, abra un navegador y visite https://localhost:8282(Los puertos están disponibles en configs/sample.yaml (Modificar). La interfaz mostrará la persona digital, haga clic en "Inicio", el programa llamará a la cámara y el micrófono, y entrar en el modo de diálogo.
  • interacción por voz
    Al hablar por el micrófono, el sistema reconocerá la voz a través de SenseVoice, MiniCPM-o generará la respuesta y CosyVoice la convertirá en salida de voz. El digitalizador sincronizará la expresión y la forma de la boca. Las pruebas muestran una latencia de respuesta de unos 2,2 segundos (basado en i9-13900KF y RTX 4090).
  • Ajuste de la configuración
    compilador configs/sample.yaml Documentación. Ejemplo:
  • Modificar el puerto: establecer el service.port Cambia a otro valor.
  • Ajuste la velocidad de fotogramas: ajuste Tts2Face.fps Ajústalo a 30.
    Guarde y reinicie el programa para que la configuración surta efecto.

flujo de trabajo

  1. Inicie el programa y espere a que la interfaz termine de cargarse.
  2. Comprueba que la cámara y el micrófono funcionan correctamente.
  3. Inicia un diálogo y el sistema procesará automáticamente la voz y el vídeo.
  4. Para parar, pulsa Ctrl+C para cerrar el terminal o salir de la interfaz.

Alternativas en la nube

Si la configuración local es insuficiente, puede sustituir MiniCPM-o por un LLM en la nube:

  1. modificaciones src/demo.pyPara activar los procesadores ASR, LLM y TTS, consulte la sección MiniCPM.
  2. existe configs/sample.yaml configure LLM_Bailianrellene la dirección y la clave de la API, por ejemplo:
LLM_Bailian:
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "yourapikey"
  1. Reinicie el programa para utilizarlo.

advertencia

  • Una memoria GPU insuficiente puede hacer que la aplicación se bloquee, se recomienda utilizar el modelo int4 o la API de la nube.
  • Una red inestable afectará a la transmisión en tiempo real, se recomienda la conexión por cable.
  • Las rutas de configuración admiten rutas relativas (basadas en el directorio raíz del proyecto) o absolutas.

 

escenario de aplicación

  1. Estudios técnicos
    Los desarrolladores pueden utilizarlo para estudiar técnicas de diálogo humano digital y analizar la aplicación de diseños modulares.
  2. prueba personal
    Los usuarios pueden crear servicios locales y experimentar una interacción humana digital impulsada por la voz.
  3. Educación y formación
    Los estudiantes pueden aprender los principios del reconocimiento del habla, el modelado del lenguaje y la animación humana digital a través del código.

 

CONTROL DE CALIDAD

  1. ¿Qué pasa si no tengo suficiente memoria de vídeo?
    Descargue el modelo cuantitativo int4 o utilice la API LLM basada en la nube en lugar de un modelo local.
  2. ¿Admite diálogo multijugador?
    La versión actual es adecuada para el diálogo de un solo jugador, la función multijugador debe ser desarrollada por ti mismo.
  3. ¿Y el retraso en la carrera?
    Comprueba el rendimiento de la CPU/GPU, reduce la velocidad de fotogramas o desactiva el modo rápido.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...