AudioX: generación de audio y música a partir de texto referenciado, imágenes, vídeo
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 11.6K 00
Introducción general
AudioX es un proyecto de código abierto en GitHub de Zeyue Tian et al. El artículo oficial está publicado en arXiv (nº 2503.10522). Se basa en la tecnología Diffusion Transformer, que puede generar audio y música de alta calidad a partir de una variedad de entradas como texto, vídeo, imágenes, audio, etc. AudioX es único en el sentido de que no solo admite una única entrada, sino que también unifica el procesamiento de datos multimodales y genera los resultados mediante el control del lenguaje natural. El proyecto proporciona dos conjuntos de datos: vggsound-caps (190.000 descripciones de audio) y V2M-caps (6.000.000 de descripciones de música), que resuelven el problema de la insuficiencia de datos de entrenamiento.AudioX pone el código y los modelos preentrenados a disposición de desarrolladores, investigadores y creadores.

Lista de funciones
- Soporta múltiples entradas para generar audio: puedes utilizar texto, vídeo, imágenes o audio para generar el audio o la música correspondientes.
- Control del lenguaje natural: ajuste el contenido o el estilo del audio con descripciones de texto, por ejemplo, "música ligera de piano".
- Salida de alta calidad: la calidad del sonido de audio y música generado es alta y cercana al nivel profesional.
- Procesamiento multimodal unificado: capacidad de procesar simultáneamente distintos tipos de entradas y generar resultados coherentes.
- Recursos de código abierto: código completo, modelos preentrenados y conjuntos de datos disponibles para facilitar el desarrollo secundario.
- Soporte nativo para demostraciones: interfaz interactiva a través de Gradio para probar fácilmente las funciones.
Utilizar la ayuda
AudioX requiere algunos conocimientos de programación y es adecuado para usuarios con experiencia en Python. A continuación encontrará una guía detallada de instalación y uso que le ayudará a empezar.
Proceso de instalación
- Descargar código
Clona el repositorio AudioX introduciendo el siguiente comando en el terminal:
git clone https://github.com/ZeyueT/AudioX.git
A continuación, vaya al directorio del proyecto:
cd AudioX
- Creación del entorno
AudioX requiere Python 3.8.20. Utiliza Conda para crear un entorno virtual:
conda create -n AudioX python=3.8.20
Activar el entorno:
conda activate AudioX
- Instalación de dependencias
Instale las bibliotecas necesarias para el proyecto:
pip install git+https://github.com/ZeyueT/AudioX.git
Instala de nuevo las herramientas de procesamiento de audio:
conda install -c conda-forge ffmpeg libsndfile
- Descargar modelo preentrenado
Crea una carpeta de modelos:
mkdir -p model
Descarga de modelos y archivos de configuración:
wget https://huggingface.co/HKUSTAudio/AudioX/resolve/main/model.ckpt -O model/model.ckpt
wget https://huggingface.co/HKUSTAudio/AudioX/resolve/main/config.json -O model/config.json
- Verificar la instalación
Comprueba que el entorno es normal:
python -c "import audiox; print('AudioX installed successfully')"
Si no aparece ningún error, la instalación se ha realizado correctamente.
Funciones principales
AudioX admite diversas tareas de generación, como texto a audio (T2A), vídeo a música (V2M), etc. A continuación se describe el método de operación específico.
Generar audio a partir de texto
- Cree un archivo Python como
text_to_audio.py
. - Introduce el siguiente código:
from audiox import AudioXModel
model = AudioXModel.load("model/model.ckpt", "model/config.json")
text = "敲击键盘的声音"
audio = model.generate(text=text)
audio.save("keyboard.wav")
- Ejecuta el script:
python text_to_audio.py
- El audio generado se guarda como
keyboard.wav
puedes comprobar el efecto con el reproductor.
Generar música a partir de un vídeo
- Prepare un archivo de vídeo como
sample.mp4
. - Creación de guiones
video_to_music.py
Entrada:
from audiox import AudioXModel
model = AudioXModel.load("model/model.ckpt", "model/config.json")
audio = model.generate(video="sample.mp4", text="为视频生成音乐")
audio.save("video_music.wav")
- Corriendo:
python video_to_music.py
- La música generada se guarda como
video_music.wav
.
Ejecutar la demostración local de Gradio
- Introdúcelo en el terminal:
python3 run_gradio.py --model-config model/config.json --share
- Una vez ejecutado el comando, se genera un enlace local (por ejemplo, http://127.0.0.1:7860). Abre el enlace y podrás probar AudioX a través de la interfaz web.
- Introduzca un texto (por ejemplo, "Música para piano y violín") o cargue un vídeo en la interfaz y haga clic en Generar para escuchar los resultados.
Ejemplo de razonamiento guionizado
Para tareas de generación más complejas se proporciona oficialmente un script de razonamiento detallado:
- Creación de documentos
generate.py
Entrada:
import torch
from stable_audio_tools import get_pretrained_model, generate_diffusion_cond
device `Truncated`torch.torch.torch.torch.torch.torch.torch.torch.torch_torch.torch.torch_torch.torch.torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model, config = get_pretrained_config("HKUSTAudio/AudioX")
model = model.to(device)
sample_rate = config["sample_rate"]
sample_size = config["sample_size"]
video_path = "sample.mp4"
text_prompt = "为视频生成钢琴音乐"
conditioning = [{"video_prompt": [read_video(video_path, 0, 10, config["video_fps"]).unsqueeze(0)],
"text_prompt": text_prompt,
"seconds_start": 0,
"seconds_total": 10}]
output = generate_diffusion_cond(model, steps=250, cfg_scale=7, conditioning=conditioning, sample_size=sample_size, device=device)
output = output.to(torch.float32).div(torch.max(torch.abs(output))).clamp(-1, 1).mul(32767).to(torch.int16).cpu()
torchaudio.save("output.wav", output, sample_rate)
- Corriendo:
python generate.py
- El audio generado se guarda como
output.wav
.
Ejemplo de configuración
A continuación se indican las configuraciones de entrada para las distintas tareas:
- Texto a audio::
text="敲击键盘的声音"
,video=None
- Vídeo a música::
video="sample.mp4"
,text="为视频生成音乐"
- entrada mixta::
video="sample.mp4"
,text="海浪声和笑声"
advertencia
- Las GPU aumentan considerablemente la velocidad de generación y son recomendables.
- El formato de vídeo tiene que ser mp4 y la salida de audio wav.
- Asegúrese de que su red es estable, el modelo puede tardar unos minutos en descargarse.
escenario de aplicación
- composición musical
Introduce una descripción de texto, como "melodía triste de violín", para generar rápidamente un clip musical. - Banda sonora
Cargue vídeos para generar música de fondo o efectos de sonido a juego. - investigación y desarrollo (I+D)
Mejora de las técnicas de generación de audio mediante código fuente abierto y conjuntos de datos.
CONTROL DE CALIDAD
- ¿Es compatible con el chino?
Sí, admite entradas en chino, como "música ligera de piano". - ¿Cuánto espacio de almacenamiento se necesita?
El código y el modelo ocupan unos 2-3 GB, y el conjunto de datos completo requiere varias decenas de GB adicionales. - ¿Cuánto tarda en generarse?
De unos segundos a un minuto en la GPU, la CPU puede tardar unos minutos.
© 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...