پروجیکٹ کا جائزہ
I’m Upping My P(doom) میں Claude Code کے اندر Claude Opus 5.5 سے تیار کردہ میوزک ویڈیو کا سورس کوڈ موجود ہے۔ آپ مکمل شدہ I’m Upping My P(doom) میوزک ویڈیو YouTube پر دیکھ سکتے ہیں۔
اینیمیشن دو مراحل میں تیار کی گئی۔ پہلی، جو Claude Opus 5.5 کی Medium سیٹنگ کے ساتھ بنائی گئی تھی، legacy/ میں محفوظ ہے۔ دوسری جنریشن ریپوزٹری کے باقی حصے پر مشتمل ہے۔
پروجیکٹ کی دستاویزات کے مطابق، ریپوزٹری میں موجود ہر چیز ماڈل نے تیار کی۔ تخلیقی ہدایت صرف Clawd کے کردار کے ڈیزائن کے استعمال اور ہر گیت کے بول کے لیے دلچسپ بصری مناظر اور ٹرانزیشنز فراہم کرنے تک محدود تھی۔ کسی انفرادی منظر کے خیالات متعین نہیں کیے گئے تھے۔
اینیمیشن کیسے کام کرتی ہے
ویڈیو کو نو ابواب میں تقسیم کیا گیا ہے، اور ہر باب کے لیے ایک سورس فائل ہے۔ فریمز p5.js اور p5.brush استعمال کرتے ہوئے براؤزر کے صفحے میں پینٹ کیے جاتے ہیں۔ Node.js کی رینڈرنگ اسکرپٹ اس صفحے کو headless Chrome میں کھولتی ہے، فریمز حاصل کرتی ہے، اور شامل آڈیو ٹریک کے ساتھ انہیں encode کرنے کے لیے ffmpeg استعمال کرتی ہے۔
اہم فائلیں اور ڈائریکٹریز
src/ch/میں نو ابواب کی فائلیں موجود ہیں۔src/میں Clawd، مہمان کرداروں، اشیا، گیت کے بول اور ٹائم لائن کے لیے مشترکہ کوڈ موجود ہے۔studio.htmlوہ صفحہ ہے جس میں p5.js اور p5.brush کے ذریعے ہر فریم پینٹ کیا جاتا ہے۔render.mjsheadless Chrome کے ذریعے فریمز رینڈر کرتی ہے اور MP4 بنانے کے لیے ffmpeg چلاتی ہے۔assets/pdoom.mp3شامل کردہ گیت ہے۔STORYBOARD.mdمیں ماڈل کے تیار کردہ شاٹ بہ شاٹ منصوبے کی تفصیل موجود ہے۔ANIMATION_GUIDE.mdمیں متوازی ذیلی ایجنٹس کے لیے لکھی گئی طرز اور کوڈنگ کی ہدایات موجود ہیں۔legacy/میں پروجیکٹ کی پہلی جنریشن محفوظ ہے۔
ضروریات
ویڈیو رینڈر کرنے سے پہلے درج ذیل ٹولز انسٹال کریں:
- Node.js، dependencies انسٹال کرنے اور
render.mjsچلانے کے لیے۔ - Google Chrome، headless براؤزر میں فریمز پینٹ کرنے کے لیے۔
- ffmpeg، رینڈر کردہ فریمز اور گیت کو ملا کر MP4 بنانے کے لیے۔
یقینی بنائیں کہ Node.js اور ffmpeg آپ کی کمانڈ لائن سے دستیاب ہوں۔ Chrome اپنے پہلے سے طے شدہ Windows مقام پر انسٹال ہونا چاہیے، الا یہ کہ آپ اس کا راستہ واضح طور پر فراہم کرنے کا ارادہ رکھتے ہوں۔
پروجیکٹ انسٹال کریں
ریپوزٹری کے روٹ میں ٹرمینل کھولیں اور Node.js کی dependencies انسٹال کریں:
npm installریپوزٹری میں گیت پہلے ہی assets/pdoom.mp3 کے طور پر شامل ہے، اس لیے دستاویزی طریقہ کار میں الگ آڈیو فائل ڈاؤن لوڈ کرنے کی ضرورت نہیں۔
اینیمیشن کے فریمز رینڈر کریں
دستاویزی فریم رینج اور چار ورکرز کے ساتھ رینڈرنگ اسکرپٹ چلائیں:
node render.mjs --frames=0:156.6 --workers=4یہ ویڈیو کے فریمز کو out/frames میں پینٹ کرتا ہے۔ فریم رینڈر کرنے کا عمل دوبارہ شروع کیا جا سکتا ہے، جو اس لیے مفید ہے کہ پوری میوزک ویڈیو تیار کرنے میں وقت لگ سکتا ہے۔
--workers=4 آپشن کمانڈ کو چار رینڈرنگ ورکرز استعمال کرنے کی ہدایت دیتا ہے۔ اگر آپ یہ قدر تبدیل کریں تو اپنے کمپیوٹر کے دستیاب وسائل کے مطابق ورکرز کی تعداد منتخب کریں۔
حتمی MP4 encode کریں
فریمز رینڈر ہونے کے بعد انہیں شامل کردہ گیت کے ساتھ ملائیں:
node render.mjs --encode --out=out/pdoom.mp4یہ ffmpeg کے ذریعے رینڈر کردہ فریمز اور آڈیو کو جوڑتا ہے، پھر مکمل ویڈیو کو out/pdoom.mp4 میں لکھتا ہے۔
حسب ضرورت Chrome path استعمال کریں
اگر Chrome پہلے سے طے شدہ Windows path پر انسٹال نہیں ہے تو رینڈرنگ کمانڈ میں --chrome آپشن شامل کریں:
node render.mjs --frames=0:156.6 --workers=4 --chrome=<path to chrome><path to chrome> کو اپنے Chrome executable کے path سے بدلیں۔
پروڈکشن کا جائزہ لیں اور اس میں ترمیم کریں
اسٹوری بورڈ سے شروع کریں
مناظر تبدیل کرنے سے پہلے STORYBOARD.md پڑھیں۔ اس میں پہلی جنریشن کے بعد تیار کیا گیا شاٹ بہ شاٹ منصوبہ بیان کیا گیا ہے، جب Claude کو P5 brushstrokes استعمال کرنے، ہر منظر کو بصری طور پر دلچسپ رکھنے اور ہر منظر کو اگلے منظر میں منتقل کرنے کی ہدایت دی گئی تھی۔
اینیمیشن گائیڈ پر عمل کریں
ANIMATION_GUIDE.md کو پروجیکٹ کے انداز اور implementation کے حوالے کے طور پر استعمال کریں۔ Claude Opus نے یہ فائل ان ذیلی ایجنٹس کو ہدایات دینے کے لیے لکھی تھی جنہیں اس نے متوازی طور پر چلایا، اس لیے ابواب کی فائلوں میں یکسانیت برقرار رکھنے کے لیے یہ سب سے متعلقہ گائیڈ ہے۔
ابواب میں الگ الگ ترمیم کریں
src/ch/ میں موجود نو فائلیں ویڈیو کو قابل انتظام حصوں میں تقسیم کرتی ہیں۔ ویڈیو کے کسی مخصوص حصے میں تبدیلی کرتے وقت پہلے اس کا باب متعین کریں، پھر src/ کے تحت موجود مشترکہ ٹائم لائن، گیت کے بول، کردار اور اشیا کے کوڈ سے رجوع کریں۔
دونوں جنریشنز کا موازنہ کریں
legacy/ ڈائریکٹری پہلی تیار کردہ ورژن فراہم کرتی ہے۔ اس کا موجودہ سورس کے ساتھ موازنہ کرنے سے آپ یہ سمجھ سکتے ہیں کہ دوسری جنریشن کے دوران بصری سمت، P5 brushstroke کی ہدایات اور مناظر کی ٹرانزیشنز کس طرح विकसित ہوئیں۔
اعلیٰ سطحی ورک فلو تجاویز
- قابلِ دوبارہ آغاز آؤٹ پٹ محفوظ رکھیں: چونکہ رینڈر کیے گئے فریم
out/framesمیں لکھے جاتے ہیں اور عمل دوبارہ شروع کیا جا سکتا ہے، اس لیے رکا ہوا رینڈر جاری رکھتے وقت اس ڈائریکٹری کو حذف کرنے سے گریز کریں۔ - رینڈرنگ کو انکوڈنگ سے الگ رکھیں: انکوڈنگ کمانڈ چلانے سے پہلے فریم بنانے والی کمانڈ مکمل کریں۔ اس سے مہنگی فریم رینڈرنگ کو دوبارہ شروع کرنا آسان ہو جاتا ہے اور آخری انکوڈنگ کے مرحلے کو بلاوجہ دہرانا نہیں پڑتا۔
- وسیع تبدیلیوں سے پہلے مشترکہ کوڈ کا جائزہ لیں: کردار، اشیا، گیت کے بول اور ٹائم لائن کا رویہ
src/کے تحت مشترکہ ہیں۔ وہاں کی گئی تبدیلی کئی ابواب کو متاثر کر سکتی ہے۔ - دیگر منصوبوں کے لیے نیا بنیادی ڈھانچہ استعمال کریں: مصنف ClaudeAnimationBase کو Claude Opus 5.5 کے ساتھ نئی Claude اینیمیشنز بنانے کے لیے زیادہ قابلِ اعتماد اور عمومی بنیاد کے طور پر تجویز کرتا ہے۔
اعترافات اور حوالہ جات
یہ منصوبہ X پر ایک پوسٹ سے متاثر ہو کر بنایا گیا تھا۔ README کے مطابق، جہاں تک مصنف تعین کر سکا، گانا 2024 کی YouTube ویڈیو سے منسوب ہے۔
نتیجہ
یہ ذخیرہ ایک مکمل تخلیقی اینیمیشن کے ساتھ ساتھ اس کے ماڈل سے تیار کردہ پیداواری ڈھانچے کا مکمل جائزہ بھی فراہم کرتا ہے۔ Node.js، Chrome اور ffmpeg نصب ہونے کی صورت میں آپ فریم رینڈر کر سکتے ہیں، شامل کردہ آڈیو کو انکوڈ کر سکتے ہیں، اسٹوری بورڈ اور اینیمیشن گائیڈ کا معائنہ کر سکتے ہیں، اور دیکھ سکتے ہیں کہ p5.js کے نو ابواب مل کر حتمی میوزک ویڈیو کیسے بناتے ہیں۔
