
Com este projeto, você pode usar a IA para gerar faixas de música e videoclipes. Forneça algumas informações sobre como você gostaria da música e dos vídeos, o código fará o resto.
Primeiro, usamos um modelo generativo para criar amostras de música, o modelo padrão usado aqui só pode gerar um máximo de 30 segundos de música; por esse motivo, damos mais um passo para estender a música. Depois de terminar com a parte do áudio, podemos gerar o vídeo, primeiro, começamos com um modelo de difusão estável para gerar imagens e depois usamos outro modelo generativo para dar um pouco de movimento e animação. Para compor o videoclipe final, tomamos cada música gerada e juntamos o máximo de imagens animadas necessárias para combinar com a duração da música.
Todas essas etapas geram arquivos intermediários que você pode inspecionar e remover manualmente o que não gosta de melhorar os resultados.
A abordagem recomendada para usar este repositório é com o Docker, mas você também pode usar um VENV personalizado, apenas instale todas as dependências.
NOTA: Certifique -se de atualizar o parâmetro do dispositivo para maximizar o desempenho, mas observe que alguns modelos podem não funcionar para todas as opções de 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
Construa a imagem do Docker
make buildAplique fiapos e formatação ao código (necessário apenas para o desenvolvimento)
make lintExecute o pipeline inteiro para criar o videoclipe
make ai_beatsExecute a etapa da geração musical
make musicExecute a etapa de continuação musical
make music_continuationExecute a etapa de geração de imagem
make imageExecute a etapa de geração de vídeo
make videoExecute a etapa de criação do clipe de áudio
make audio_clip Para o desenvolvimento, instale requirements-dev.txt e a execução make lint para manter o estilo de codificação.
Desenvolvi e testei a maior parte desse projeto no meu MacBook Pro M2, a única etapa que não consegui executar foi a etapa de criação de vídeo, pois usei o Google Colab (com V100 ou A100 GPU). Alguns dos modelos não eram executados nos MPS , mas eles funcionam em um tempo razoável de qualquer maneira.
Os modelos usados por padrão aqui têm licenças específicas que podem não ser adequadas para todos os casos de uso, se você deseja usar os mesmos modelos, verifique suas licenças. Para a geração de música, o MusicGen e sua licença CC-BY-NC 4.0, para geração de imagens SDXL-Turbo e sua licença de licença-sdxl1.0, e difusão de vídeo estável e sua licença estável em difusão de vídeo NC Community License para geração de vídeo.