Baichuan-Audio: un modelo de audio de extremo a extremo para la interacción vocal en tiempo real
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 2.6K 00
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.

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:
- 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
- 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 clavoMODEL_PATH
Es 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
).
- Clone el código del repositorio de GitHub (https://github.com/baichuan-inc/Baichuan-Audio):
- 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
- Inicie la demostración de reconocimiento de voz:
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::
- Prepara un archivo de audio (compatible con el formato WAV) o conecta un dispositivo de micrófono.
- corriendo
base_asr_demo.py
A continuación, la interfaz le pedirá que cargue el audio o que encienda el micrófono. - 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).
- 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::
- estar en movimiento
s2s_gradio_demo_cosy_multiturn.py
Para ello, abra la interfaz de Gradio. - Pulse el botón "Grabar" para iniciar la entrada de voz (por ejemplo, "Por favor, dígame el tiempo que hace hoy en chino").
- El sistema convierte el habla en etiquetas y Audio LLM genera respuestas de texto y habla.
- La respuesta se muestra simultáneamente en texto y se reproduce por los altavoces.
- estar en movimiento
- 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::
- estar en movimiento
base_tts_demo.py
entra en la interfaz de texto a voz. - Introduzca algo en el cuadro de texto (por ejemplo, "Hola, es viernes").
- 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.
- Utiliza el vocoder integrado para convertir el espectrograma en un archivo WAV para su reproducción automática o descarga.
- estar en movimiento
- 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::
- Descargue el conjunto de datos OpenAudio-Bench (ubicado en el repositorio GitHub).
- Ejecute el script de evaluación localmente (debe escribirlo usted mismo o consultar la documentación del repositorio).
- 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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...