Baichuan-Audio: un modelo de audio de extremo a extremo para la interacción vocal en tiempo real

Introducción general

Baichuan-Audio es un proyecto de código abierto desarrollado por Baichuan Intelligence (baichuan-inc), alojado en GitHub, centrado en la tecnología de interacción de voz de extremo a extremo. El proyecto proporciona un marco de procesamiento de audio completo que puede convertir la entrada de voz en tokens de audio discretos , y luego generar el texto correspondiente y la salida de audio a través de un gran modelo para lograr un diálogo en tiempo real de alta calidad. Soporte para chino e Inglés bilingüe , aplicable a la necesidad de la comprensión del habla y la generación de la escena , tales como asistentes inteligentes , robots de chat de voz y así sucesivamente. Además , el proyecto también de código abierto Baichuan-Audio-Base , un modelo de base , y OpenAudio-Bench , un punto de referencia , para proporcionar a los desarrolladores con la investigación de gran alcance y apoyo al desarrollo. El proyecto sigue la licencia Apache 2.0, adecuada para la investigación académica y las aplicaciones comerciales en condiciones específicas.

Baichuan-Audio:支持实时语音交互的端到端音频模型

 

Lista de funciones

  • etiquetado de voz a audioEl habla de entrada se convierte en tokens de audio discretos mediante el Baichuan-Audio Tokenizer, que admite un diseño de frecuencia de cuadro de 12,5 Hz para garantizar la retención de la información.
  • interacción por voz en tiempo real: Combinado con Audio LLM, admite conversaciones bilingües en inglés y chino, generando respuestas de voz y texto de alta calidad.
  • Generación de audio: Genera espectrogramas y formas de onda Mel de alta fidelidad a partir de marcadores de audio utilizando el decodificador de audio de coincidencia de flujo.
  • modelo de código abierto (informática)El modelo base Baichuan-Audio-Base se suministra sin ajuste de instrucciones, y los desarrolladores pueden personalizar la formación según sus necesidades.
  • Puntos de referencia: Incluye OpenAudio-Bench, una herramienta de evaluación de la comprensión y generación de audio con 2701 puntos de datos.
  • apoyo multimodal: Admite la entrada mixta de texto y audio para una conmutación intermodal sin interrupciones.

 

Utilizar la ayuda

Proceso de instalación

Para utilizar Baichuan-Audio localmente, es necesario configurar el entorno de desarrollo y descargar los archivos de modelo correspondientes. A continuación se detallan los pasos de instalación:

  1. Preparación medioambiental
    • Asegúrate de que Python 3.12 y Conda están instalados en tu sistema.
    • Crear y activar un entorno virtual:
      conda create -n baichuan_audio python=3.12
      conda activate baichuan_audio
      
    • Instale las bibliotecas de dependencias necesarias:
      pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124
      pip install -r requirements.txt
      pip install accelerate flash_attn==2.6.3 speechbrain==1.0.0 deepspeed==0.14.4
      
    • Instalación de herramientas del sistema:
      apt install llvm ffmpeg
      
  2. Descargar modelos
    • Clone el código del repositorio de GitHub (https://github.com/baichuan-inc/Baichuan-Audio):
      git clone https://github.com/baichuan-inc/Baichuan-Audio.git
      cd Baichuan-Audio
      
    • modificaciones web_demo/constants.py ha dado en el clavo MODEL_PATHEs la ruta al modelo local (hay que descargarlo manualmente o utilizar Hugging Face para obtener los pesos del modelo, por ejemplo). baichuan-inc/Baichuan-Audio).
  3. Ejecutar la demostración
    • Inicie la demostración de reconocimiento de voz:
      cd web_demo
      python base_asr_demo.py
      
    • Inicie la demostración de síntesis de voz:
      python base_tts_demo.py
      
    • Iniciar un diálogo de varias rondas Demo:
      python s2s_gradio_demo_cosy_multiturn.py
      

Función Flujo de operaciones

1. Tokenización de voz a audio (Baichuan-Audio Tokenizer)

  • Descripción funcionalConvierte archivos de voz entrantes o entradas de micrófono en directo en tokens de audio discretos para su posterior procesamiento.
  • procedimiento::
    1. Prepara un archivo de audio (compatible con el formato WAV) o conecta un dispositivo de micrófono.
    2. corriendo base_asr_demo.py A continuación, la interfaz le pedirá que cargue el audio o que encienda el micrófono.
    3. El sistema llama automáticamente a Susurro Large Encoder extrae características y genera tokens de audio mediante 8 capas de RVQ (cuantificación vectorial residual).
    4. La salida se puede ver en la consola en el formato de una secuencia de marcadores discretos.
  • advertenciaAsegúrese de que el audio es claro y el ruido de fondo es bajo para mejorar la precisión del reconocimiento.

2. Interacción vocal en tiempo real (Audio LLM)

  • Descripción funcionalPermite a los usuarios dialogar en tiempo real con la modelo, tanto en inglés como en chino, mediante voz o texto.
  • procedimiento::
    1. estar en movimiento s2s_gradio_demo_cosy_multiturn.pyPara ello, abra la interfaz de Gradio.
    2. Pulse el botón "Grabar" para iniciar la entrada de voz (por ejemplo, "Por favor, dígame el tiempo que hace hoy en chino").
    3. El sistema convierte el habla en etiquetas y Audio LLM genera respuestas de texto y habla.
    4. La respuesta se muestra simultáneamente en texto y se reproduce por los altavoces.
  • Uso destacado::
    • Introducir contenido mixto, por ejemplo, escribir el texto "Hola" y luego decir "Por favor, continúe en inglés" con la voz.
    • El sistema permite el cambio modal mediante marcadores especiales para mantener la coherencia del diálogo.

3. Generación de audio (decodificador de audio Flow-matching)

  • Descripción funcionalGeneración de voz de alta calidad a partir de texto o audio.
  • procedimiento::
    1. estar en movimiento base_tts_demo.pyentra en la interfaz de texto a voz.
    2. Introduzca algo en el cuadro de texto (por ejemplo, "Hola, es viernes").
    3. Al pulsar el botón "Generar", el sistema convierte el texto en tokens de audio y, a continuación, genera el espectrograma Mel mediante el descodificador de correspondencia de flujos.
    4. Utiliza el vocoder integrado para convertir el espectrograma en un archivo WAV para su reproducción automática o descarga.
  • Funciones avanzadasSoporte para ajustar la velocidad y el tono del habla, los parámetros específicos se pueden modificar en el código.

4. Uso de puntos de referencia (OpenAudio-Bench)

  • Descripción funcional: Evaluación de las capacidades de comprensión y generación de audio de los modelos.
  • procedimiento::
    1. Descargue el conjunto de datos OpenAudio-Bench (ubicado en el repositorio GitHub).
    2. Ejecute el script de evaluación localmente (debe escribirlo usted mismo o consultar la documentación del repositorio).
    3. Introduzca el audio o el texto de la prueba para obtener las puntuaciones de rendimiento del modelo en los 5 conjuntos de subevaluación.
  • escenario de aplicaciónLos desarrolladores pueden utilizarlo para comparar el rendimiento de distintos modelos y optimizar las estrategias de formación.

advertencia

  • requisitos de hardwareGPU compatibles con CUDA (por ejemplo, tarjetas NVIDIA), ya que la CPU puede funcionar más lentamente.
  • dependencia de la redSe requiere acceso a Internet para descargar las ponderaciones del modelo para la primera ejecución, y es posible su uso posterior sin conexión.
  • uso comercial: Debe cumplir el protocolo Apache 2.0 y confirmar que el número de usuarios activos diarios (DAU) es inferior a 1 millón.
© declaración de copyright

Artículos relacionados

Sin comentarios

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