Tammy เป็นโปรเจ็กต์โอเพ่นซอร์สที่ใช้ Python/Pytorch ซึ่งใช้โมเดลการเรียนรู้เชิงลึกเพื่อสร้างมิวสิกวิดีโอต้นฉบับ ช่วยให้ผู้ใช้สามารถ สร้างวิดีโอโดยอัตโนมัติตามการเปลี่ยนข้อความแจ้งที่ซิงโครไนซ์กับแง่มุมต่างๆ ของเพลง เช่น BPM หรือรูปแบบเปียโน โปรเจ็กต์นี้ใช้โมเดลการเรียนรู้เชิงลึกในขั้นตอนต่างๆ ของกระบวนการสร้างวิดีโอ รวมถึงการแยกแหล่งกำเนิดเสียงด้วย LSTM การสร้างเฟรมด้วย GAN การเพิ่มขนาดเชิงพื้นที่ด้วยโมเดลความละเอียดสูงพิเศษ และการสุ่มตัวอย่างชั่วคราวด้วยโมเดลการแก้ไขเฟรม จุดมุ่งหมายของโปรเจ็กต์นี้คือการจัดหาเฟรมเวิร์กที่ใช้งานง่ายเพื่อสร้างไปป์ไลน์โมเดลที่กำหนดเองเพื่อสร้างมิวสิกวิดีโอที่มีเอกลักษณ์
คุณสมบัติ
เริ่มต้นอย่างรวดเร็ว
โครงสร้างกระแสข้อมูลและรหัส
การตั้งค่าการสร้าง
ตัวอย่างเพิ่มเติม
มีส่วนร่วม
เพื่อการเริ่มต้นอย่างรวดเร็ว:
sudo apt-get install ffmpeg libsndfile1
และ git-lfspip install .
python run_tammy.py
ซึ่งจะใช้การตั้งค่าเริ่มต้นใน settingssettings_cpu.yaml
และเพลงเริ่มต้น thoughtsarebeings_clip.wav
สามารถใช้แพ็คเกจ tammy
ได้อย่างง่ายดายในสคริปต์ของคุณเองหรือไฟล์การตั้งค่าอื่นๆ และไฟล์เสียงสามารถใช้กับสคริปต์ run_tammy.py
ที่มีอยู่ได้โดยการรัน python run_tammy.py --settings_file
.
tammy.prompthandler
สร้างการตั้งค่าสำหรับทุกเฟรมที่จะสร้าง (เช่น การแปลหรือข้อความแจ้ง) ตามคำอธิบายที่กระชับยิ่งขึ้นของการตั้งค่าการสร้างtammy.sequence_maker
มี generator
ที่สร้างลำดับรูปภาพตามข้อความแจ้ง ปัจจุบันรุ่นที่รองรับคือ VQGAN-CLIP และ Stable-Diffusiontammy.upscaling
ขยายขนาดรูปภาพที่สร้างขึ้นด้วยความละเอียดสูงสุด ปัจจุบันรุ่นเดียวที่รองรับคือ SwinIRtammy.superslowmo
สอดแทรกรูปภาพที่สร้างขึ้น (ขยายขนาดหรือไม่ก็ได้) เพื่อเพิ่ม FPS โดยไม่จำเป็นต้องสร้างทุกเฟรมด้วย sequence_maker
ปัจจุบันรุ่นที่รองรับเพียงรุ่นเดียวคือ SuperSloMo การสร้างวิดีโอมีการตั้งค่าจำนวนมากซึ่งระบุไว้ในไฟล์
ไฟล์การตั้งค่าตัวอย่างบางส่วนซึ่งส่วนใหญ่ใช้สำหรับการทดสอบสามารถพบได้ในโฟลเดอร์ settings
ชื่อการตั้งค่าส่วนใหญ่ (คีย์ใน settings.yaml
) ควรอธิบายได้ในตัว เพื่อความชัดเจน การตั้งค่าบางอย่างจะอธิบายไว้ด้านล่างนี้
เครื่องมือที่ใช้ในการควบคุมการเปลี่ยนเฟรม โดยเฉพาะ: ซูมในโหมด Animation_2d และความเร็วในการเปลี่ยนทันทีในโหมด Interpolation tammy
มี่มีสองทางเลือกในการจัดหาเครื่องมือ:
do_spleet: True
และจัดเตรียม instrument:
zoom_instrument:
และตั้งชื่อไฟล์: file_name_fps.txt
โดยที่ fps
ควรสอดคล้องกับค่า fps
ใน sequence_settings.initial_fps
สามารถสร้างคีย์เฟรมได้ด้วยตนเองด้วย เช่น https://www.chigozie.co.uk/audio-keyframe-generator/ การตั้งค่า sequence_settings.initial_fps
จะกำหนดจำนวนเฟรมที่สร้างขึ้น โดยพิจารณาจากความยาวของคลิปเสียง เมื่อใช้การแก้ไขเฟรม อัตราเฟรมสามารถเพิ่มเป็นเป้าหมายได้โดยการตั้งค่า do_slowmo: True
และระบุ target_fps
ซึ่งจะต้องเป็นผลคูณของ initial_fps
ซึ่งช่วยให้สามารถผลิตวิดีโอที่มีอัตราเฟรมสูงได้เร็วกว่าเมื่อเปรียบเทียบกับการสร้างเฟรมทั้งหมดตั้งแต่เริ่มต้นด้วย generator
หากต้องการ คุณสามารถจำกัดจำนวนเฟรมที่สร้างขึ้นได้โดยการระบุ sequence_settings.max_frames
ในกรณีนี้ ความยาววิดีโอที่สร้างขึ้นจะสั้นกว่าคลิปเสียงที่ให้มา และจะเป็น: max_frames
/ initial_fps
วิดีโอที่สร้างโดยใช้โหมด VQGAN-CLIP และ Animation_2d จาก tammy
วิดีโอเต็ม (ดูแบบ 4K เพื่อประสบการณ์ที่ดีที่สุด!: https://www.youtube.com/watch?v=T_bii9VLDk0
วิดีโอที่สร้างโดยใช้โหมด Stable Diffusion และ Interpolation จาก tammy
pytest
pre-commit install