Making of · Kinetic Lyric Video
「손을 대 손을 떼」 작업기
10월 14일 새벽 3시에 첫 코드를 짰고, 16일 아침에 18번째 판을 내보냈습니다. 글자, 말풍선, 우산, 집까지 화면에 나오는 건 전부 코드로 그렸습니다.
- 3:07
- Runtime
- 926
- Syllables
- 5,632
- Frames
- 18
- Versions
- 0
- Generated Images
보낸 말에 답을 기다리는 밤에서 시작해 「이번엔 화면을 꺼」로 끝나는 한국어 랩입니다. 중간에는 지적을 받고 말투부터 탓하다가 「네 말 맞네」 네 글자를 썼다 지우는 대목이 있습니다.
화면을 그리는 코드는 Claude(AI 에이전트)가 짰습니다. 저는 판이 나올 때마다 보고 고칠 곳을 짚었습니다.
곡은 「꺼」에서 끝납니다
Suno로 만든 곡입니다. 스타일 메모에는 96bpm이라고 적혀 있었는데, 비트를 재 보니 123bpm이었습니다. 키는 F#단조입니다.
스템 11개를 받아 Ableton Live에서 다시 섞고 Ozone으로 마무리했습니다. 원래는 3분 25초짜리 곡이었는데, 마지막 줄 「이번엔 화면을 꺼」의 「꺼」에서 잘라 3분 7초가 됐습니다.
0:53에 울리는 메시지 알림음은 따로 만들어 넣었습니다. 곡 키에 맞춰 C#에서 F#으로 올라가는 0.4초짜리 소리입니다.
영상에 얹은 효과음 아홉 개도 샘플 없이 합성했습니다. 보내기 버튼, 날아가는 말풍선, 빗소리, 펴지는 우산, 창 속으로 빨려 드는 소리와 열리는 빛, 선 긋는 소리, 꺼지는 화면과 마지막 점입니다. 대부분은 노래보다 13~26dB 낮게 깔았고, 화면이 꺼지는 소리만 악기가 멈춘 3:05 뒤의 정적 위에 놓였습니다.
보컬 리버브를 줄이려고 센드를 3dB 내렸는데, 꼬리는 0.08dB밖에 줄지 않았습니다. 잔향이 Suno 보컬 스템 안에 이미 들어 있었기 때문입니다. 노래하는 구간은 그대로 두고 꼬리만 깎는 도구를 따로 만들어 4.7dB를 덜어 냈습니다. 최종 음량은 -14.15 LUFS입니다.
손은 노란 커서로 그렸습니다
화면은 메신저 대화창입니다. 제목의 「손」은 손 그림 대신 노란 커서 하나가 맡습니다. 커서가 글자를 쓰고, 보내기 버튼을 누르고, 나중에는 화면을 가르는 선이 됩니다.
위쪽 시계는 2:09에서 시작해 6:12까지 가고, 배터리는 23%에서 9%까지 닳습니다.
노래가 0.88초에 바로 시작해서 제목을 띄워 둘 빈 앞부분이 없습니다. 그래서 첫 화면에 DIZITAL KIDZ와 곡 제목을 크게 띄우고, 첫 음절에 맞춰 작아지면서 대화방 이름 자리로 올라가게 했습니다.

입력창과 알림 배너는 뒤가 비치는 유리판처럼, 보내기 버튼과 앱 아이콘은 위에서 빛을 받은 말랑한 재질처럼 칠했습니다. 이걸 넣고 렌더 시간이 17% 늘었습니다.
음절 926개의 시각
글자는 그 음절을 부르는 순간에 떠야 합니다. 처음에는 Whisper로 받아쓴 단어 시각을 썼는데, 단어가 앞쪽 무음까지 늘어나 있었습니다. 「답이」가 2.90초에 시작한다고 나왔지만 실제 소리는 4.35초에 납니다. 노래에 없는 「좋아 좋아」를 30초 동안 지어낸 구간도 있었습니다.
가사는 이미 손에 있으니 받아쓸 필요가 없었습니다. 정해진 가사를 소리에 맞춰 붙이는 강제 정렬로 바꾸자 첫 줄 시작이 0.00초에서 0.88초로 옮겨 갔고, 보컬이 실제로 들어오는 0.9초와 맞았습니다.
정렬도 틀릴 때가 있습니다. 쉬었다 다시 들어가는 첫 음절을 무음 쪽으로 당겨서, 「몸」이 1.1초 먼저 뜬 곳이 있었습니다. 무음 위에 뜬 음절을 세는 검사를 만들고 0개가 될 때까지 고쳤습니다.
「같은 모션만 주구장창」
세 번째 판에는 10점 만점에 4.5점을 줬습니다. 같은 움직임만 계속 나왔기 때문입니다. 세어 보니 68줄 중 65줄이 같은 방식으로 아래에서 올라왔고, 카메라도 줄마다 같은 반동으로 움직였습니다.
그 뒤에 모아 둔 키네틱 타이포 영상 438편 가운데 18편을 골라 시간축째 뜯어봤습니다. 김하온 「붕붕」, 아이유 「Coin」, 에미넴 「Godzilla」 같은 영상입니다. 카메라는 대부분 세워 두고 컷으로 넘기고, 핵심 단어는 화면 높이의 30~90%까지 키우고, 후렴은 돌아올 때마다 모양을 바꿨습니다. 조회수 상위 11편은 하나도 빠짐없이 후렴이 돌아올 때마다 달라졌습니다.
후렴 옆에 쌓이는 막대는 SEVENTEEN 영상에서 트로피 개수가 하나씩 늘어나는 장면을 보고 넣었습니다. 「손을 대, 손을 떼」가 나올 때마다 한 획씩 늘어납니다.

v3
공개본손으로 짠 장면들
대부분의 줄은 연출표에 등장 방식과 카메라만 적으면 엔진이 그립니다. 몇 장면은 프레임 단위로 따로 짰습니다.
알림
0:53에 알림음이 울리면 배너가 떨어지고, 안 읽은 메시지 「1」이 튑니다. 그 노란 원이 커지면서 다음 줄로 넘어갑니다.

GPT야 대답해줘
이 줄에서는 입력창 자동완성이 끼어들어 엉뚱한 글자를 이어 붙이고, 답 말풍선은 「물론이죠!」로 시작합니다. 바로 앞 「반박하려 다시 읽다」 대목은 화면이 빨갛게 바뀌고 글자가 깨집니다.
1:46
1:12창 속으로
「끝인 줄로 알던 곳에, 살고 있는 누군가」에서 「누군가」 옆에 집이 하나 생기고, 카메라가 그 집 창문 한 칸으로 들어갑니다. 처음엔 창 한가운데를 겨눴더니 창살 십자가 화면을 꽉 채워서, 칸 하나를 겨누게 바꿨습니다. 줌이 끝나는 프레임에서 화면이 한 번에 뒤집히는 게 보여, 그 직전 0.22초 동안 빛이 번지게 했습니다.



선을 그어
「선을 그어 밀어내는 게 아냐, 여기까진 내 몫이야」에서 커서가 화면을 세로로 가르는 선이 됩니다. 내 쪽이 58%, 네 쪽이 42%입니다. 「다음 말은」은 선 너머 빈 말풍선 속에 속이 빈 글자로 들어갑니다.

화면을 꺼
마지막 줄에서 화면이 폰 크기로 물러나고 「꺼」가 찍힙니다. 악기가 멈추는 3:05에 화면이 가로선 하나로 접히고, 노란 점은 마지막 프레임에서 사라집니다.



렌더 전에 거치는 검사 넷
눈으로 보다 놓친 것들을 하나씩 검사로 만들었습니다. 넷 다 0건이 나와야 렌더합니다.
부르는 글자가 화면에 보이나
6번째 판은 접촉 시트로 보면 멀쩡했는데, 23줄에서 부르는 글자가 화면 밖에 있거나 너무 작았습니다. 한 줄은 통째로 6px였습니다.
보이면 읽히나
글자와 바탕의 명암비가 3:1보다 낮으면 걸립니다. 노란 포스트잇 위 흰 글자가 1.07:1이었습니다. 863자 중 33자가 걸렸고, 폰 크기(가로 390px)로 줄여서도 다시 잽니다.
무음 위에 뜬 음절이 있나
위의 「몸」 같은 경우를 셉니다. 공개본은 926개 중 0개입니다.
빈 화면, 반쯤 걸린 줄, 겹친 줄이 있나
지난 줄이 화면 가장자리에 반쯤 걸려 남아 있던 시간이 다 합쳐 17.7초였습니다.
렌더가 끝나면 앞뒤 프레임이 튀는 곳을 한 번 더 찾습니다.
공개 직전에 고친 두 군데
「한 박 늦게 숨 쉬어도」에서 글자를 노래보다 한 박 늦게 띄웠었습니다. 가사를 글자로 흉내 낸 건데, 보는 쪽에서는 싱크가 틀린 걸로 보입니다. 소리를 다시 재 보니 정렬은 맞았고, 늦게 띄우는 연출만 뺐습니다.
「우산 펴고」의 우산은 줄 폭 전체에 납작한 반원으로 그려져 모자챙처럼 보였습니다. 폭을 줄의 60%로 줄이고, 돔을 높이고, 살 끝 사이 천이 위로 휘게 하고, 꼭지를 달았습니다.

다음 곡에도 쓸 것
- 가사가 있으면 받아쓰지 않고 소리에 맞춰 정렬합니다.
- 글자가 뜨는 시각은 늘 소리에 맞춥니다. 뜻은 크기와 움직임으로 냅니다.
- 5초 간격 접촉 시트를 펴 놓고 칸끼리 다르게 생겼는지 봅니다.
쇼츠 열 편
10월 17일부터 하루에 한 편씩, 저녁 7시에 올립니다.