Tammy는 딥 러닝 모델을 사용하여 원본 뮤직 비디오를 생성하는 Python/Pytorch 기반 오픈 소스 프로젝트입니다. 이를 통해 사용자는 BPM이나 피아노 패턴과 같은 노래의 다양한 측면과 동기화되는 텍스트 프롬프트 전환을 기반으로 비디오를 자동으로 생성할 수 있습니다. 이 프로젝트는 LSTM을 사용한 오디오 소스 분리, GAN을 사용한 프레임 생성, 초해상도 모델을 사용한 공간 업스케일링, 프레임 보간 모델을 사용한 시간 업샘플링을 포함하여 비디오 생성 프로세스의 다양한 단계에서 딥 러닝 모델을 활용합니다. 이 프로젝트의 목표는 고유한 뮤직 비디오를 제작하기 위한 맞춤형 모델 파이프라인을 구축할 수 있는 사용하기 쉬운 프레임워크를 제공하는 것입니다.
특징
빠른 시작
데이터 흐름 및 코드 구조
세대 설정
더 많은 예
기여
빠른 시작을 위해:
sudo apt-get install ffmpeg libsndfile1
및 git-lfs를 설치하세요.pip install .
settingssettings_cpu.yaml
및 기본 노래 thoughtsarebeings_clip.wav
의 기본 설정을 사용하는 python run_tammy.py
실행합니다. tammy
패키지는 자신의 스크립트 또는 기타 설정 파일에서 쉽게 사용할 수 있으며 오디오 파일은 python run_tammy.py --settings_file
실행하여 기존 run_tammy.py
스크립트와 함께 사용할 수 있습니다. python run_tammy.py --settings_file
.
tammy.prompthandler
생성 설정에 대한 보다 간결한 설명을 기반으로 생성될 모든 프레임(예: 번역 또는 텍스트 프롬프트)에 대한 설정을 생성합니다.tammy.sequence_maker
에는 텍스트 프롬프트를 기반으로 이미지 시퀀스를 생성하는 generator
있습니다. 현재 지원되는 모델은 VQGAN-CLIP 및 Stable-Diffusion 입니다.tammy.upscaling
생성된 이미지를 초해상도로 확장합니다. 현재 지원되는 유일한 모델은 SwinIR 입니다.tammy.superslowmo
생성된(선택적으로 업스케일된) 이미지를 보간하여 sequence_maker
를 사용하여 모든 프레임을 생성할 필요 없이 FPS를 높입니다. 현재 지원되는 유일한 모델은 SuperSloMo 입니다. 비디오 생성에는
파일에 지정된 많은 구성 설정이 있습니다. 주로 테스트에 사용되는 일부 예제 설정 파일은 settings
폴더에서 찾을 수 있습니다. 대부분의 설정 이름( settings.yaml
의 키)은 설명이 필요합니다. 명확성을 위해 일부 설정을 아래에 설명합니다.
계측기는 프레임 전환을 조정하는 데 사용됩니다. 특히 Animation_2d 모드에서 확대/축소하고 보간 모드에서 전환 속도를 표시합니다. tammy
에게는 도구를 제공하는 두 가지 옵션이 있습니다.
do_spleet: True
설정하고 instrument:
zoom_instrument:
으로 키프레임 파일을 제공하고 파일 이름을 file_name_fps.txt
로 지정하여 수동으로 수행합니다. 여기서 fps
sequence_settings.initial_fps
의 fps
값과 일치해야 합니다. 키프레임은 https://www.chigozie.co.uk/audio-keyframe-generator/ 등을 사용하여 수동으로 생성할 수 있습니다. sequence_settings.initial_fps
설정은 오디오 클립의 길이에 따라 생성되는 프레임 수를 결정합니다. 프레임 보간을 사용하면 do_slowmo: True
설정하고 initial_fps
의 배수여야 하는 target_fps
제공하여 프레임 속도를 목표까지 높일 수 있습니다. 이를 통해 generator
사용하여 처음부터 모든 프레임을 생성하는 것보다 더 빠르게 높은 프레임 속도의 비디오를 생성할 수 있습니다.
원하는 경우, 생성된 프레임 수는 sequence_settings.max_frames
제공하여 제한할 수 있습니다. 이 경우 생성된 비디오 길이는 제공된 오디오 클립보다 짧으며 max_frames
/ initial_fps
입니다.
tammy
의 VQGAN-CLIP 및 Animation_2d 모드를 사용하여 생성된 비디오입니다.
전체 영상(최고의 경험을 위해 4K로 시청하세요!: https://www.youtube.com/watch?v=T_bii9VLDk0
tammy
의 Stable Diffusion 및 Interpolation 모드를 사용하여 생성된 비디오.
라는 새 분기에 기능과 관련 테스트를 추가하세요.pytest
실행하여 모든 테스트가 통과하는지 확인하세요.pre-commit install
.