휴머노이드 얼굴의 언어별 발화 차이 대응: 같은 말인데 입이 다르면, 신뢰가 흔들립니다

휴머노이드 얼굴에서 “다국어”는 번역 문제가 아니라 “입모양과 타이밍” 문제입니다.
한국어/영어/일본어는 음소 구조와 조음 습관이 달라, 같은 문장 길이에서도 입술·턱·혀의 움직임 패턴이 달라집니다.
따라서 한 언어에서 잘 맞던 립싱크(Viseme)가 다른 언어로 바뀌면, 입이 늦거나(지연), 과장되거나(강도), 어색하게 끊기는(휴지) 현상이 쉽게 생깁니다.

 

이 글에서는 언어별 발화 차이를 “입모양 모델(Viseme set) + 전환 속도 + 동기화 규칙”으로 흡수하는 실무 방법을 수치 예시로 정리합니다.

 

휴머노이드 얼굴의 언어별 발화 차이 대응
휴머노이드 얼굴의 언어별 발화 차이 대응

핵심 요약

  • 언어별 대응은 3단으로 정리하는 편이 운영이 쉽습니다.
    • 1단 언어별 Viseme 사전(15~25개)을 분리합니다.
    • 2단 전환 시간 목표를 고정합니다(예: 0.2초 이하, 최소 80ms 이상).
    • 3단 표정(감정)과 발화(조음)를 레이어로 분리해 충돌을 줄입니다.
  • 다국어에서 가장 자주 터지는 문제는 다음 4가지입니다.
    • 입모양이 “대충” 같아 보이지만 실제로는 다른 음소를 하나로 뭉친 문제
    • 언어별로 다른 턱 개구 패턴을 무시해, 과장/부족이 생기는 문제
    • 휴지(잠깐 멈춤) 타이밍이 언어마다 달라, 로봇이 “말을 씹는” 느낌이 나는 문제
    • 표정-음성 동기화 지연이 언어마다 달라져 언캐니가 증가하는 문제

1) 언어별 발화 차이를 얼굴 제어 파라미터로 바꾸기

  • 얼굴 관점에서 언어는 4개의 숫자 묶음으로 환산하는 편이 실무적입니다.
    • Viseme 구성: 몇 개로 나눌지(예: 15~25개)
    • 전환 속도: Viseme 간 전환 시간(예: 80~200ms)
    • 개구량: 턱 각도(예: 20~35°), 입술 벌림(mm)
    • 휴지 규칙: 구(phrase) 경계에서 120~250ms 정도 정지/완화
  • 이 4개를 고정해두면, 언어가 바뀌어도 “동기화와 자연스러움”을 일정하게 유지할 수 있습니다.

2) 한국어·영어·일본어: 얼굴 관점 차이 6가지

2-1) 한국어(받침과 빠른 전환)

  • 특징
    • 받침(종성)으로 인해 “닫힘→열림” 전환이 자주 발생합니다.
    • 모음은 비교적 규칙적인 개구 패턴을 만들지만, 자음 경계에서 전환이 촘촘합니다.
  • 설계 포인트
    • 닫힘 계열 Viseme(ㅁ/ㅂ/ㅍ 유사)를 별도 그룹으로 유지합니다.
    • 전환 목표를 120~180ms로 잡고, 너무 빠른 전환(80ms 이하)은 제한합니다.
    • 받침 구간에서는 입술 강도를 10~20% 낮춰 “딱딱함”을 줄이는 편이 좋습니다.

2-2) 영어(입술 라운딩과 치아 노출)

  • 특징
    • 라운딩(/w/, /oo/)과 치아 노출(/th/, /f/, /v/)이 시각적으로 크게 보입니다.
    • 모음 길이(장·단)의 차이가 커서, 같은 단어라도 지속 시간이 달라집니다.
  • 설계 포인트
    • 라운딩 Viseme는 따로 분리해 입술 전방 돌출을 명확히 합니다(예: 입술 전진 2~4mm 수준).
    • 치아 노출은 “노출량”을 고정합니다(예: 상악 치아 노출 1~3mm 범위).
    • 장모음 구간은 턱 개구각을 2~5° 더 유지해 “중간에 꺼지는 입”을 방지합니다.

2-3) 일본어(모라 리듬과 비교적 작은 입모양)

  • 특징
    • 모라(mora) 리듬이 규칙적이라, 박자감이 중요합니다.
    • 한국어/영어 대비 입모양이 과장되지 않는 편이라, 과도한 개구는 어색해질 수 있습니다.
  • 설계 포인트
    • 전환 시간을 일정하게 유지합니다(예: 130~170ms 범위에서 흔들림 최소화).
    • 턱 개구각 상한을 낮춥니다(예: 20~28° 범위 우선 적용).
    • 휴지(잠깐 멈춤)는 짧게(예: 120~200ms) 넣고, 너무 길면 “말 끊김”으로 보입니다.

3) 언어별 Viseme 사전 설계: “하나로 통일”이 아니라 “공통+확장”이 안전합니다

  • 3-1) 추천 구조
    • 공통 Viseme: 12~15개(닫힘/벌림/라운딩/치아노출/중립 등)
    • 언어 확장 Viseme: 언어별 3~10개 추가
    • 총합: 15~25개 수준이 운영 난이도와 품질의 균형이 좋습니다.
  • 3-2) 전환 시간(속도) 규칙
    • 목표: 0.2초 이하 전환을 기본으로 하되, 하한을 둡니다(예: 80ms 미만 금지).
    • 너무 빠르면 기구/실리콘이 따라오지 못해 “떨림”이 생깁니다.
    • 너무 느리면 발화와 입이 어긋나 “지연”으로 보입니다.

4) 표정(감정)과 발화(조음)의 충돌 해결: 레이어링이 정답입니다

  • 문제
    • 감정 미소(입꼬리 상승)와 발화 입모양(닫힘/라운딩)이 동시에 오면 충돌합니다.
    • 결과적으로 “웃으면서 /m/ 발음” 같은 어색한 형태가 생깁니다.
  • 해결
    • 조음 레이어: 입술 벌림/닫힘, 라운딩, 턱 개구를 우선합니다.
    • 감정 레이어: 입꼬리, 볼/광대, 눈가를 중심으로 분리합니다.
    • 충돌 시 우선순위: 조음(발화) > 감정(입꼬리)로 두는 편이 언캐니가 줄어듭니다.
  • 수치 예시
    • 발화 중에는 미소 강도를 20~40% 감쇠합니다.
    • 대신 눈가(눈꼬리/눈썹)로 감정을 보강해 “웃는 느낌”을 유지합니다.

5) 다국어 립싱크 품질을 측정하는 지표 6개

  • 1) 음소-Viseme 정합률(%): 사용자 평가 또는 자동 판정으로 80~90% 이상 목표를 둡니다.
  • 2) 전환 지연(ms): 음성 대비 입모양 지연이 +200ms를 넘지 않도록 관리합니다.
  • 3) 과장/부족 점수(1~7점): 언어별로 “입이 너무 크다/작다” 체감 평가를 받습니다.
  • 4) 휴지(정지) 자연스러움: 구 경계에서 120~250ms 정지/완화가 과한지 확인합니다.
  • 5) 좌우 비대칭(mm): 발화 중 비대칭이 2mm 이상 커지면 위화감이 증가할 수 있습니다.
  • 6) 사용자 재질문 횟수(회): “방금 뭐라고 했죠”가 늘면 동기화가 의심됩니다.

6) 실패 사례 5가지

  • 사례 1 한국어 받침 구간을 무시해 입이 과도하게 열리고, 발음이 “허공 발화”처럼 보였습니다.
  • 사례 2 영어 라운딩을 공통 Viseme로 뭉쳐서 /w/와 /oo/가 구분되지 않아 어색함이 증가했습니다.
  • 사례 3 일본어에 큰 개구(30° 이상)를 그대로 적용해 “과장된 만화 입”처럼 보였습니다.
  • 사례 4 감정 미소를 발화 중에도 100% 유지해, 닫힘 자음에서 입이 닫히지 않는 문제가 생겼습니다.
  • 사례 5 전환 시간을 너무 낮게(80ms 이하) 잡아 기구가 못 따라오고 떨림과 소음이 증가했습니다.

관련 글

결론

  • 다국어 대응에서 핵심은 “한 번 만든 립싱크를 공통으로 돌리는 것”이 아니라, 언어별로 Viseme와 타이밍을 분리하는 것입니다.
  • 전환 시간(80~200ms), 턱 개구각(20~35°), 휴지(120~250ms) 같은 숫자를 고정하면 품질이 안정됩니다.
  • 감정과 조음을 레이어로 분리하고, 발화 중 감정 강도를 20~40% 감쇠하면 충돌이 크게 줄어듭니다.

Q&A

Q1) Viseme를 많이 만들면 품질이 무조건 좋아집니까

  • 항상 그렇지는 않습니다.
  • 15~25개 수준에서 “언어별 확장”을 두는 편이 품질과 운영 난이도의 균형이 좋습니다.

Q2) 전환 시간 목표를 왜 0.2초 이하로 잡습니까

  • 발화 리듬을 따라가려면 200ms를 넘기기 시작할 때 지연이 체감되기 쉽습니다.
  • 다만 80ms 이하로 내려가면 기구/소재가 못 따라와 떨림이 생길 수 있어 하한을 둡니다.

Q3) 발화 중 미소를 줄이면 감정이 사라지지 않습니까

  • 그래서 입꼬리 대신 눈가/눈썹/볼(광대)로 감정을 보강합니다.
  • 발화 레이어를 우선하면, “말이 자연스럽다”는 인식이 유지되어 전체 호감도가 오히려 올라갈 때가 많습니다.

Q4) 한국어에서 가장 까다로운 구간은 어디입니까

  • 받침과 빠른 자음 경계 전환입니다.
  • 닫힘 계열 Viseme를 잘 분리하고, 전환을 너무 빠르게 하지 않는 것이 중요합니다.

Q5) 다국어 품질을 빠르게 확인하는 방법이 있습니까

  • 언어별로 10문장씩 고정 스크립트를 만들고, 지연(ms)·정합률(%)·불편감(1~7점)을 비교하는 방식이 가장 빠릅니다.
  • 표본 20~30명 수준에서도 방향성은 잡히는 경우가 많습니다.

다국어 립싱크는 “기술이 되느냐”보다 “운영 규칙을 숫자로 고정하느냐”에서 승부가 납니다.
처음부터 언어별 프리셋(전환 시간, 개구각 상한, 휴지 규칙)을 정해두면, 콘텐츠가 늘어나도 품질이 크게 흔들리지 않습니다.