Featured image of post 집 컴퓨터로 AI 가상 인물 만들기 — 무료로 '말하는 아나운서' 영상까지

집 컴퓨터로 AI 가상 인물 만들기 — 무료로 '말하는 아나운서' 영상까지

요즘 유튜브에 넘치는 AI 버추얼 휴먼, 집 컴퓨터로 공짜로 만들 수 있을까요? SDXL로 얼굴을 빚고 SadTalker로 입을 움직여 '아리'라는 가상 아나운서가 자기소개하는 영상까지 만든 실전 기록 — 진짜 통했던 팁과 삽질까지 정리했습니다.

요즘 유튜브나 뉴스에서 **AI가 만든 가상 인물(버추얼 휴먼)**이 부쩍 많이 보입니다. 실존하지 않는 사람이 아나운서처럼 또박또박 설명을 하죠. “저거 만들려면 비싼 서비스 써야 하는 거 아냐?” 싶은데, 결론부터 말하면 집에 있는 게이밍 노트북 한 대로, 돈 한 푼 안 들이고 꽤 그럴듯하게 만들 수 있습니다. 이 글은 실제로 ‘아리’라는 가상 아나운서를 만들어 자기소개 영상까지 뽑아본 기록입니다.

결과부터 — ‘아리’의 자기소개

말보다 영상이 빠르죠. 아래가 이번에 만든 결과물입니다. 실존하지 않는 사람이고, 목소리도 얼굴도 전부 AI로 생성했습니다.

"안녕하세요, 저는 AI로 생성된 아리입니다. 반갑습니다."

가상 인물 영상은 ‘3가지 재료’로 만들어집니다

챗GPT나 클로드 하나로 “영상 만들어줘” 하면 되는 게 아닙니다. 말하는 가상 인물은 세 가지를 각각 만들어서 합치는 작업이에요.

재료하는 일이번에 쓴 도구
① 얼굴존재하지 않는 인물의 사진SDXL (로컬 이미지 생성)
② 목소리대본을 사람 음성으로edge-tts (무료)
③ 입 움직임음성에 맞춰 입을 립싱크SadTalker (무료·로컬)

셋 다 무료이고, 인터넷 없이 내 GPU에서 돌아갑니다. 하나씩 볼게요.

① 얼굴 — SDXL로 ‘아리’를 빚다

먼저 세상에 없는 얼굴이 필요합니다. 저는 로컬에서 SDXL(Stable Diffusion XL)로 “단정하고 신뢰감 있는 한국 여성 아나운서"를 여러 장 생성한 뒤, 마음에 드는 얼굴을 골랐습니다. 이때 시드(seed)를 고정하면 같은 인물의 표정·각도만 바꿔가며 여러 컷을 뽑을 수 있어요. 이렇게 ‘아리’라는 고정 캐릭터가 탄생했습니다.

AI로 생성한 가상 아나운서 ‘아리’의 얼굴

② 목소리 — edge-tts로 공짜 한국어 음성

대본은 아주 짧게 잡았습니다. “안녕하세요, 저는 AI로 생성된 아리입니다. 반갑습니다.” 이 문장을 마이크로소프트의 edge-tts(무료 TTS)로 한국어 음성 파일로 만들었습니다. 여성 음성 ko-KR-SunHiNeural을 쓰면 발음이 꽤 자연스럽습니다.

③ 입 움직임 — SadTalker로 립싱크

핵심은 여기입니다. SadTalker는 사진 한 장과 음성 파일만 주면, 음성에 맞춰 입과 표정을 움직이는 영상을 만들어 주는 오픈소스 프로젝트예요. 완전 무료이고 내 GPU에서 돌아갑니다. 얼굴 사진 + 아까 만든 음성을 넣으면 끝.

그런데 여기서부터 삽질이 시작됐습니다. 그냥은 안 예쁘게 나오더라고요. 실제로 통했던 팁을 공유합니다.

팁 1. 소스 사진은 반드시 ‘입을 다문’ 얼굴로

처음엔 활짝 웃으며 이빨이 보이는 사진을 넣었더니, 입 주변이 뭉개지면서 에일리언처럼 어색했습니다. 알고 보니 SadTalker는 입을 다문 무표정 사진을 소스로 줄 때 립싱크가 훨씬 자연스럽게 나옵니다. 입 벌린 사진은 그 벌어진 입 위에 억지로 립싱크를 얹느라 망가지는 거죠.

입 벌린 소스(왼쪽)는 립싱크가 어색하고, 입 다문 소스(오른쪽)가 훨씬 자연스럽다

같은 인물(시드 고정)로 입 다문 버전을 새로 뽑아 소스로 교체하니 확연히 좋아졌습니다.

팁 2. ’expression_scale’은 과하지 않게

표정 강도 옵션(expression_scale)을 1.2로 주면 입이 과장돼서 부자연스럽습니다. 1.0 정도가 딱 적당했어요.

팁 3. 어깨까지 나오게 하려면 ‘_full’ 결과물을 쓰세요

SadTalker는 결과 영상을 두 개 만듭니다. 하나는 얼굴만 크롭한 버전, 다른 하나는 파일명에 _full이 붙은 원본 사진 전체(어깨·상반신 포함)에 얼굴을 합성한 버전입니다. 얼굴만 크게 나와서 답답하다면 _full 쪽을 쓰면 됩니다. 저도 이걸 몰라서 한참 헤맸어요.

팁 4. (설치) PyTorch는 cu121 조합이 안전

설치할 때 가장 흔한 함정이 GPU용 PyTorch입니다. 최신 그래픽 드라이버가 깔린 PC에서는 오래된 cu118(torch 2.0.1) 조합이 c10_cuda.dll 로딩 에러(WinError 127)를 내는 경우가 있어요. torch 2.1.2 + torchvision 0.16.2 (cu121) 조합으로 설치하면 안정적이고, SadTalker가 요구하는 라이브러리와도 호환됩니다.

어느 정도 GPU가 필요할까

무겁지 않습니다. VRAM 8GB면 충분해요. 저는 노트북용 RTX 4060(8GB)으로 돌렸고, RTX 3070급이면 동일하게 됩니다. 짧은 6초 클립은 몇 분이면 나오고, 화질 보정(gfpgan)까지 켜도 부담 없습니다. 다만 8분짜리 긴 영상을 통째로 립싱크하면 프레임이 수만 장이라 꽤 오래 걸리니, 긴 강의 영상은 발표자를 화면 한켠에 작게 넣는 식이 현실적입니다.

솔직한 결론 — 어디까지 되고, 어디부터 안 되나

  • 된다: 공짜로, 내 PC에서, 세상에 없는 인물이 내 대본을 읽는 영상을 만들 수 있다. 개인 프로젝트·학습·프로토타입엔 충분하다.
  • 한계: 아무리 팁을 써도 입 주변은 ‘완벽하게 자연스럽다’까진 못 간다. 자세히 보면 티가 난다. 방송급으로 매끈한 걸 원하면 HeyGen·Synthesia 같은 상업 웹서비스(유료)가 답이다. 이때도 얼굴은 지금처럼 SDXL로 만든 걸 아바타로 넣으면 된다.
  • 라이선스 주의: SadTalker는 본래 연구용으로 공개된 프로젝트라, 수익화 콘텐츠에 쓸 땐 라이선스를 한 번 확인하는 게 안전하다.

돈 안 들이고 여기까지 만들 수 있다는 것 자체가, AI 도구가 얼마나 문턱을 낮춰놨는지 보여주는 것 같습니다. 다음엔 이 ‘아리’에게 슬라이드를 붙여 진짜 강의를 시켜볼 생각입니다.