
Con este proyecto, puede usar IA para generar pistas de música y videoclips. Proporcione información sobre cómo le gustaría la música y los videos, el código hará el resto.
Primero, usamos un modelo generativo para crear muestras de música, el modelo predeterminado utilizado aquí solo puede generar un máximo de 30 segundos de música, por esta razón, damos otro paso para extender la música. Después de terminar con la parte de audio, podemos generar el video, primero comenzamos con un modelo de difusión estable para generar imágenes y luego usamos otro modelo generativo para darle un poco de movimiento y animación. Para componer el video clip final, tomamos cada música generada y nos unimos con tantas imágenes animadas como sea necesario para que coincida con la longitud de la música.
Todos esos pasos generarán archivos intermedios que puede inspeccionar y eliminar manualmente lo que no le gusta para mejorar los resultados.
El enfoque recomendado para usar este repositorio es con Docker, pero también puede usar un VenV personalizado, solo asegúrese de instalar todas las dependencias.
Nota: Asegúrese de actualizar el parámetro del dispositivo para maximizar el rendimiento, pero observe que algunos modelos podrían no funcionar para todas las opciones del dispositivo (CPU, CUDA, MPS).
project_dir: beats
project_name: lofi
seed: 42
music:
prompt: "lo-fi music with a relaxing slow melody"
model_id: facebook/musicgen-small
device: cpu
n_music: 5
music_duration: 60
initial_music_tokens: 1050
max_continuation_duration: 20
prompt_music_duration: 10
image:
prompt: "Mystical Landscape"
prompt_modifiers:
- "concept art, HQ, 4k"
- "epic scene, cinematic, sci fi cinematic look, intense dramatic scene"
- "digital art, hyperrealistic, fantasy, dark art"
- "digital art, hyperrealistic, sense of comsmic wonder"
- "mystical and ethereal atmosphere, photo taken with a wide-angle lens"
model_id: stabilityai/sdxl-turbo
device: mps
n_images: 5
inference_steps: 3
height: 576
width: 1024
video:
model_id: stabilityai/stable-video-diffusion-img2vid
device: cpu
n_continuations: 2
loop_video: true
video_fps: 6
decode_chunk_size: 8
motion_bucket_id: 127
noise_aug_strength: 0.1
audio_clip:
n_music_loops: 1
Construye la imagen Docker
make buildAplicar la pelusa y el formato al código (solo necesario para el desarrollo)
make lintEjecute toda la tubería para crear el video musical
make ai_beatsEjecute el paso de generación de música
make musicEjecute el paso de continuación de la música
make music_continuationEjecute el paso de generación de imágenes
make imageEjecute el paso de generación de videos
make videoEjecute el paso de creación de clip de audio
make audio_clip Para el desarrollo, asegúrese de instalar requirements-dev.txt y ejecute make lint para mantener el estilo de codificación.
Desarrollé y probé la mayor parte de este proyecto en mi MacBook Pro M2, el único paso que no pude ejecutar fue el paso de creación de video, ya que utilicé Google Colab (con V100 o A100 GPU). Algunos de los modelos no eran ejecutables en MPS , pero de todos modos se ejecutan en un momento razonable.
Los modelos utilizados por defecto aquí tienen licencias específicas que pueden no ser adecuadas para todos los casos de uso, si desea usar los mismos modelos, asegúrese de verificar sus licencias. Para la generación de música MusicGen y su licencia CC-by-NC 4.0, para la generación de imágenes SDXL-TURBO y su licencia de licencia-SDXL1.0, y difusión de video estable y su licencia de licencia de la comunidad de difusión de video NC estable para la generación de videos.