<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>가상인간 on To the Moon</title><link>https://junstellar.github.io/tags/%EA%B0%80%EC%83%81%EC%9D%B8%EA%B0%84/</link><description>Recent content in 가상인간 on To the Moon</description><generator>Hugo -- gohugo.io</generator><language>ko-kr</language><lastBuildDate>Sat, 04 Jul 2026 18:00:00 +0900</lastBuildDate><atom:link href="https://junstellar.github.io/tags/%EA%B0%80%EC%83%81%EC%9D%B8%EA%B0%84/index.xml" rel="self" type="application/rss+xml"/><item><title>집 컴퓨터로 AI 가상 인물 만들기 — 무료로 '말하는 아나운서' 영상까지</title><link>https://junstellar.github.io/p/ai-virtual-human/</link><pubDate>Sat, 04 Jul 2026 18:00:00 +0900</pubDate><guid>https://junstellar.github.io/p/ai-virtual-human/</guid><description>&lt;img src="https://junstellar.github.io/p/ai-virtual-human/cover.png" alt="Featured image of post 집 컴퓨터로 AI 가상 인물 만들기 — 무료로 '말하는 아나운서' 영상까지" /&gt;&lt;p&gt;요즘 유튜브나 뉴스에서 **AI가 만든 가상 인물(버추얼 휴먼)**이 부쩍 많이 보입니다. 실존하지 않는 사람이 아나운서처럼 또박또박 설명을 하죠. &amp;ldquo;저거 만들려면 비싼 서비스 써야 하는 거 아냐?&amp;rdquo; 싶은데, 결론부터 말하면 &lt;strong&gt;집에 있는 게이밍 노트북 한 대로, 돈 한 푼 안 들이고&lt;/strong&gt; 꽤 그럴듯하게 만들 수 있습니다. 이 글은 실제로 &amp;lsquo;아리&amp;rsquo;라는 가상 아나운서를 만들어 자기소개 영상까지 뽑아본 기록입니다.&lt;/p&gt;
&lt;h2 id="결과부터--아리의-자기소개"&gt;결과부터 — &amp;lsquo;아리&amp;rsquo;의 자기소개
&lt;/h2&gt;&lt;p&gt;말보다 영상이 빠르죠. 아래가 이번에 만든 결과물입니다. 실존하지 않는 사람이고, 목소리도 얼굴도 전부 AI로 생성했습니다.&lt;/p&gt;
&lt;video controls playsinline poster="cover.png" style="width:100%;max-width:520px;border-radius:14px;display:block;margin:1.2rem auto;"&gt;
 &lt;source src="ari-intro.mp4" type="video/mp4"&gt;
&lt;/video&gt;
&lt;p style="text-align:center;color:#888;font-size:0.9em;margin-top:-0.4rem;"&gt;"안녕하세요, 저는 AI로 생성된 아리입니다. 반갑습니다."&lt;/p&gt;
&lt;h2 id="가상-인물-영상은-3가지-재료로-만들어집니다"&gt;가상 인물 영상은 &amp;lsquo;3가지 재료&amp;rsquo;로 만들어집니다
&lt;/h2&gt;&lt;p&gt;챗GPT나 클로드 하나로 &amp;ldquo;영상 만들어줘&amp;rdquo; 하면 되는 게 아닙니다. 말하는 가상 인물은 &lt;strong&gt;세 가지를 각각 만들어서 합치는&lt;/strong&gt; 작업이에요.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;재료&lt;/th&gt;
					&lt;th&gt;하는 일&lt;/th&gt;
					&lt;th&gt;이번에 쓴 도구&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;① 얼굴&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;존재하지 않는 인물의 사진&lt;/td&gt;
					&lt;td&gt;SDXL (로컬 이미지 생성)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;② 목소리&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;대본을 사람 음성으로&lt;/td&gt;
					&lt;td&gt;edge-tts (무료)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;③ 입 움직임&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;음성에 맞춰 입을 립싱크&lt;/td&gt;
					&lt;td&gt;SadTalker (무료·로컬)&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;셋 다 &lt;strong&gt;무료이고, 인터넷 없이 내 GPU에서&lt;/strong&gt; 돌아갑니다. 하나씩 볼게요.&lt;/p&gt;
&lt;h2 id="-얼굴--sdxl로-아리를-빚다"&gt;① 얼굴 — SDXL로 &amp;lsquo;아리&amp;rsquo;를 빚다
&lt;/h2&gt;&lt;p&gt;먼저 세상에 없는 얼굴이 필요합니다. 저는 로컬에서 SDXL(Stable Diffusion XL)로 &amp;ldquo;단정하고 신뢰감 있는 한국 여성 아나운서&amp;quot;를 여러 장 생성한 뒤, 마음에 드는 얼굴을 골랐습니다. 이때 &lt;strong&gt;시드(seed)를 고정&lt;/strong&gt;하면 같은 인물의 표정·각도만 바꿔가며 여러 컷을 뽑을 수 있어요. 이렇게 &amp;lsquo;아리&amp;rsquo;라는 고정 캐릭터가 탄생했습니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="AI로 생성한 가상 아나운서 ‘아리’의 얼굴" class="gallery-image" data-flex-basis="240px" data-flex-grow="100" height="1024" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-virtual-human/cover.png" srcset="https://junstellar.github.io/p/ai-virtual-human/cover_hu_ffca894a472976fd.png 800w, https://junstellar.github.io/p/ai-virtual-human/cover.png 1024w" width="1024"&gt;&lt;/p&gt;
&lt;h2 id="-목소리--edge-tts로-공짜-한국어-음성"&gt;② 목소리 — edge-tts로 공짜 한국어 음성
&lt;/h2&gt;&lt;p&gt;대본은 아주 짧게 잡았습니다. &lt;em&gt;&amp;ldquo;안녕하세요, 저는 AI로 생성된 아리입니다. 반갑습니다.&amp;rdquo;&lt;/em&gt; 이 문장을 마이크로소프트의 &lt;strong&gt;edge-tts&lt;/strong&gt;(무료 TTS)로 한국어 음성 파일로 만들었습니다. 여성 음성 &lt;code&gt;ko-KR-SunHiNeural&lt;/code&gt;을 쓰면 발음이 꽤 자연스럽습니다.&lt;/p&gt;
&lt;h2 id="-입-움직임--sadtalker로-립싱크"&gt;③ 입 움직임 — SadTalker로 립싱크
&lt;/h2&gt;&lt;p&gt;핵심은 여기입니다. &lt;strong&gt;SadTalker&lt;/strong&gt;는 사진 한 장과 음성 파일만 주면, 음성에 맞춰 입과 표정을 움직이는 영상을 만들어 주는 오픈소스 프로젝트예요. 완전 무료이고 내 GPU에서 돌아갑니다. 얼굴 사진 + 아까 만든 음성을 넣으면 끝.&lt;/p&gt;
&lt;p&gt;그런데 여기서부터 &lt;strong&gt;삽질&lt;/strong&gt;이 시작됐습니다. 그냥은 안 예쁘게 나오더라고요. 실제로 통했던 팁을 공유합니다.&lt;/p&gt;
&lt;h3 id="팁-1-소스-사진은-반드시-입을-다문-얼굴로"&gt;팁 1. 소스 사진은 반드시 &amp;lsquo;입을 다문&amp;rsquo; 얼굴로
&lt;/h3&gt;&lt;p&gt;처음엔 활짝 웃으며 이빨이 보이는 사진을 넣었더니, 입 주변이 뭉개지면서 &lt;strong&gt;에일리언처럼&lt;/strong&gt; 어색했습니다. 알고 보니 SadTalker는 &lt;strong&gt;입을 다문 무표정 사진&lt;/strong&gt;을 소스로 줄 때 립싱크가 훨씬 자연스럽게 나옵니다. 입 벌린 사진은 그 벌어진 입 위에 억지로 립싱크를 얹느라 망가지는 거죠.&lt;/p&gt;
&lt;p&gt;&lt;img alt="입 벌린 소스(왼쪽)는 립싱크가 어색하고, 입 다문 소스(오른쪽)가 훨씬 자연스럽다" class="gallery-image" data-flex-basis="489px" data-flex-grow="203" height="512" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-virtual-human/src-comparison.png" srcset="https://junstellar.github.io/p/ai-virtual-human/src-comparison_hu_9d566e9c97ae602d.png 800w, https://junstellar.github.io/p/ai-virtual-human/src-comparison.png 1044w" width="1044"&gt;&lt;/p&gt;
&lt;p&gt;같은 인물(시드 고정)로 &lt;strong&gt;입 다문 버전&lt;/strong&gt;을 새로 뽑아 소스로 교체하니 확연히 좋아졌습니다.&lt;/p&gt;
&lt;h3 id="팁-2-expression_scale은-과하지-않게"&gt;팁 2. &amp;rsquo;expression_scale&amp;rsquo;은 과하지 않게
&lt;/h3&gt;&lt;p&gt;표정 강도 옵션(&lt;code&gt;expression_scale&lt;/code&gt;)을 1.2로 주면 입이 과장돼서 부자연스럽습니다. &lt;strong&gt;1.0 정도&lt;/strong&gt;가 딱 적당했어요.&lt;/p&gt;
&lt;h3 id="팁-3-어깨까지-나오게-하려면-_full-결과물을-쓰세요"&gt;팁 3. 어깨까지 나오게 하려면 &amp;lsquo;_full&amp;rsquo; 결과물을 쓰세요
&lt;/h3&gt;&lt;p&gt;SadTalker는 결과 영상을 두 개 만듭니다. 하나는 &lt;strong&gt;얼굴만 크롭한 버전&lt;/strong&gt;, 다른 하나는 파일명에 &lt;code&gt;_full&lt;/code&gt;이 붙은 &lt;strong&gt;원본 사진 전체(어깨·상반신 포함)에 얼굴을 합성한 버전&lt;/strong&gt;입니다. 얼굴만 크게 나와서 답답하다면 &lt;code&gt;_full&lt;/code&gt; 쪽을 쓰면 됩니다. 저도 이걸 몰라서 한참 헤맸어요.&lt;/p&gt;
&lt;h3 id="팁-4-설치-pytorch는-cu121-조합이-안전"&gt;팁 4. (설치) PyTorch는 cu121 조합이 안전
&lt;/h3&gt;&lt;p&gt;설치할 때 가장 흔한 함정이 GPU용 PyTorch입니다. 최신 그래픽 드라이버가 깔린 PC에서는 오래된 &lt;code&gt;cu118&lt;/code&gt;(torch 2.0.1) 조합이 &lt;code&gt;c10_cuda.dll&lt;/code&gt; 로딩 에러(WinError 127)를 내는 경우가 있어요. &lt;strong&gt;&lt;code&gt;torch 2.1.2 + torchvision 0.16.2&lt;/code&gt; (cu121)&lt;/strong&gt; 조합으로 설치하면 안정적이고, SadTalker가 요구하는 라이브러리와도 호환됩니다.&lt;/p&gt;
&lt;h2 id="어느-정도-gpu가-필요할까"&gt;어느 정도 GPU가 필요할까
&lt;/h2&gt;&lt;p&gt;무겁지 않습니다. &lt;strong&gt;VRAM 8GB면 충분&lt;/strong&gt;해요. 저는 노트북용 RTX 4060(8GB)으로 돌렸고, RTX 3070급이면 동일하게 됩니다. 짧은 6초 클립은 몇 분이면 나오고, 화질 보정(gfpgan)까지 켜도 부담 없습니다. 다만 &lt;strong&gt;8분짜리 긴 영상&lt;/strong&gt;을 통째로 립싱크하면 프레임이 수만 장이라 꽤 오래 걸리니, 긴 강의 영상은 발표자를 화면 한켠에 작게 넣는 식이 현실적입니다.&lt;/p&gt;
&lt;h2 id="솔직한-결론--어디까지-되고-어디부터-안-되나"&gt;솔직한 결론 — 어디까지 되고, 어디부터 안 되나
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;된다:&lt;/strong&gt; 공짜로, 내 PC에서, 세상에 없는 인물이 내 대본을 읽는 영상을 만들 수 있다. 개인 프로젝트·학습·프로토타입엔 충분하다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;한계:&lt;/strong&gt; 아무리 팁을 써도 입 주변은 &amp;lsquo;완벽하게 자연스럽다&amp;rsquo;까진 못 간다. 자세히 보면 티가 난다. &lt;strong&gt;방송급으로 매끈한 걸 원하면&lt;/strong&gt; HeyGen·Synthesia 같은 상업 웹서비스(유료)가 답이다. 이때도 얼굴은 지금처럼 SDXL로 만든 걸 아바타로 넣으면 된다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;라이선스 주의:&lt;/strong&gt; SadTalker는 본래 연구용으로 공개된 프로젝트라, 수익화 콘텐츠에 쓸 땐 라이선스를 한 번 확인하는 게 안전하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;돈 안 들이고 여기까지 만들 수 있다는 것 자체가, AI 도구가 얼마나 문턱을 낮춰놨는지 보여주는 것 같습니다. 다음엔 이 &amp;lsquo;아리&amp;rsquo;에게 슬라이드를 붙여 진짜 강의를 시켜볼 생각입니다.&lt;/p&gt;</description></item></channel></rss>