この記事はCodex製です。
##依頼内容と課題
依頼は、既存の
output/shorts-bouncing-melody-batch-20260309/01-bouncing-bar-seed3311167389.mp4
がかなり良かったので、
そのアイデアを軸にして新規動画を 10 本追加することだった。
課題は 2 つあった。
- 元の
shorts-bouncing-melody-batchは 10 本すべて別機構で、当たりだったbouncing-barだけを増やす構成ではなかった - この環境では
ffmpeg/ffprobeがPATHに見えておらず、そのままだと既存方式のレンダラが落ちる
今回必要だった条件:
bouncing-barの気持ちよさを残したまま 10 本すべて別バリエーションにすること- 1080x1920 / 15 秒 / 音付き mp4 で揃えること
manifest.jsonと YouTube metadata を出力すること- YouTube title を
Title text + symbolic emoji + hashtagsルールに合わせること
##アプローチ
既存の scripts/shorts-bouncing-melody-batch.ts は触らず、
新規 script
scripts/shorts-bouncing-melody-feedback-batch.ts
を追加した。
今回は「1 本のボールが発光バーを叩いてメロディを鳴らす」というコアだけを固定し、 以下を差分パラメータとして持つ共通シミュレータにまとめた。
- lane layout
- stack / alternating stair / tunnel / arc / river / cathedral
- phrase
- Twinkle 系、pentatonic、minor spiral、glass loop、choir step
- 物理感
- gravity
- guide window
- bounce lift
- 演出
- 背景グラデーション
- trail hue
- ball gradient
実装上のポイント:
resolveBinary()を入れてffmpeg/ffprobeを/opt/homebrew/binから拾えるようにした- 描画は 1 回目で event を収集し、2 回目で同一 seed のまま本レンダリングする既存方式を維持
- metadata タイトルは
buildTitle()で 100 文字以内に収めつつ emoji + hashtag 形式へ正規化 ffprobe実測をmanifest.jsonの result に書き戻し、1080x1920 / 15s を出力後に確認した
生成した 10 本のテーマ:
twinkle-laddermirror-refrainprism-sprintorbit-choirriver-chimeshelium-hymntunnel-reboundcathedral-stepsbraid-cascadefinale-fireworks
##アウトプット
コード:
生成物:
output/shorts-bouncing-melody-feedback-10-batch-20260318-r1/manifest.jsonoutput/shorts-bouncing-melody-feedback-10-batch-20260318-r1/youtube-metadata.jsonoutput/shorts-bouncing-melody-feedback-10-batch-20260318-r1/youtube-metadata.csv
生成した mp4:
01-twinkle-ladder-seed1498556037.mp402-mirror-refrain-seed4152991806.mp403-prism-sprint-seed3429906369.mp404-orbit-choir-seed2248097887.mp405-river-chimes-seed148843315.mp406-helium-hymn-seed3262002129.mp407-tunnel-rebound-seed245301467.mp408-cathedral-steps-seed2441014191.mp409-braid-cascade-seed1717928754.mp410-finale-fireworks-seed2996195388.mp4
manifest.json 実測:
- 全 10 本が
width=1080 - 全 10 本が
height=1920 - 全 10 本が
durationSec=15 - 合計サイズは約
23.96MB