외국어 기반의 TTS 모델에 한국어를 학습 시킬 때 고민해야 할 부분과 주의점을 강연한 넥슨 김명지 파트장.
문자를 목소리로 바꿔주는 TTS(Text to Speech) 모델을 한국어에 맞춰 바꾸고, 보다 자연스러운 음성을 만들기 위한 실무 노하우가 공유됐다.
넥슨게임즈 김명지 파트장은 17일 경기도 성남시 넥슨 판교 사옥과 경기창조경제혁신센터에서 열린 '2026 넥슨 개발자 컨퍼런스(NDC26)' 2일차 강연 '내가 미소녀 목소리를 만들 수 있을 리 없잖아, 무리무리!(무리가 아니었다?!) - SBV(Style-Bert-VITS)2 오픈소스를 활용한 한국어/일본어 TTS 모델 개발기'에서 SBV2 학습 과정과 파인 튜닝에서 고민해야 할 부분을 발표했다.
TTS는 막대한 텍스트를 목소리로 전달하는 중요한 도구로 떠올랐다. 게임의 대사를 읽는 수준을 넘어, 이용자와 소통하기 위한 다양한 콘텐츠에 활용되고 있기 때문이다. 빠른 소통과 콘텐츠 공급이 중요해져 가는 시점에서 TTS 기술의 쓰임새는 점차 넓어지고 있다.
TTS 모델을 고를 때는 캐릭터 성, 감정표현, 자연스러움을 중점으로 발성 습관과 리듬, 발음의 강약 등을 고민하는 게 좋다고 추천했다.
이런 기술을 쓰기 위해서는 다국어 적용, 언어마다 다른 억양, 목소리 연기 등 다양한 요소들을 고민해야 한다. 김 파트장은 이런 요소들을 고려해 먼저 TTS를 선택하는 기준으로 ▲캐릭터 성 유지 ▲상황에 맞는 감정 표현 ▲자연스러움 등을 설정했다고 소개했다. 이중 사람의 감정에 호소하는 영역인 자연스러움은 무음길이, 길게 발음하기, 음 높낮이 변경, 노이즈 제거 등에 대한 피드백이 많았다고 한다. 예시로 소개된 '블루 아카이브' NPC 아로나의 일본어 음성은 장음과 단음을 구분하는 게 중요해, 관련 개발에 대한 고도화가 필수였다고 덧붙였다.
SBV2는 일본어를 기본으로 학습된 TTS 언어 모델로, 한국어를 포함한 중국어, 영어 등의 학습은 지원하지 않는다. 따라서 이 모델이 다국어를 학습해 지원할 수 있도록 해야 한다. SBV2 학습은 먼저 프로젝트에 바로 적용할 수 있는 일본어 파인 튜닝부터 시작됐다. 이를 위해 2명의 캐릭터, 2시간 분량의 음성이 학습에 투입됐다. 이를 통해 캐릭터와 일본어의 발음, 캐릭터 성을 표현하는 부분을 중점적으로 개선이 진행됐다.
일본어와 한국어의 차이점을 파악하고, 학습 과정을 단축하는 것도 좋은 수단이라고 소개했다.
일본어 파인 튜닝이 끝난 뒤 본격적인 한국어 지원 기능 개발이 진행됐다. SBV2는 다양한 단계를 걸쳐 음성 파일을 생성하는데, 이 중 초반 단계에 속하는 G2P와 BERT 모델은 단어의 뜻을 벡터로 변화하는 과정을 담당하는 모델이다. G2P는 입력된 문자의 특성을 분석하는 단계다. 발음의 강약, 음소 변환 등을 분석해 정보를 결합하는 기능을 지원한다. 이 중 발음의 강약인 형태소 분석, 악센트 등 한국어에 필요한 부분을 제거하고, 두음법칙과 연음법칙에 따라 표기된 문자와 발음이 달라짐으로 이를 자연스럽게 표현하는 부분에 집중해서 개발을 진행했다고 한다.
BERT는 문장에 사용된 단어를 추정하고, 이에 맞춘 디지털 값으로 교체하는 과정이다. 이는 공개된 모델들이 있기에 프로젝트에 맞춘 모델을 적용해 최종적으로 사용할 BERT 모델을 선택했다고 한다.
김 파트장은 "한국어 기반 모델을 개발할 때 음성을 생성하는 것을 검증하는 단계에서 판별의 기준이 높다보니 학습 속도에 불균형이 생겼다"며 "생성자를 먼저 학습을 진행하는 등 학습 속도를 의도적으로 조절해 두 과정의 속도를 맞추어 함께 성장시킬 수 있었다"라고 노하우를 공유했다.
SBV2의 경우 학습에 사용된 데이터, 파라미터, 각 과정의 학습 및 추론 속도에 따라 파인튜닝을 진행하는 게 좋다고 추천했다.
학습 과정에서 데이터셋 조합에 따른 결과물 차이도 발생했다. 자음 3개를 넣는 것보다, 2개만 넣는 게 학습 결과물의 완성도가 높았다고 한다. 김 파트장은 입력된 데이터의 형태에 따라 결과물에 차이가 있다고 추정하며, 파인튜닝 이후는 한국어의 기호 표현, 말줄임표, 캐릭터성 반영 등을 보다 자연스럽게 구현할 수 있다고 했다.
끝으로 김 파트장은 모델 평가 체계 구축을 앞으로의 과제로 삼았다. 지금은 개발자가 음성을 청취한 뒤 완성도를 평가하지만, 앞으로는 모델에서 주기적으로 데이터를 추출해 정량 평가를 시행할 것이라고 밝혔다. 정량 평가에는 발음 정확도, 자연스러움 등이 포함되며, 정량 평가로 걸러진 데이터를 정성 평가할 수 있는 툴을 개발 중이라고 덧붙였다.
그는 "한국어 모델은 기반모델부터 구축해야 하는 만큼 대본과 텍스트 구축이 무엇보다 중요하다. 일본어에 비해 한국어는 말 줄임표 등이 부족했으며, 이는 대본에만 관련 문장부호가 존재해 학습 단계에서 표현이 부족했던 것 같다"라며 "정확한 발음이 필요하다면, 기호와 단어 등을 대본에 포함하는 게 중요하다"라고 강조했다.
이어 "TTS가 말을 하게 만드는 과정은 쉽지만, 캐릭터에 몰입할 수 있는 목소리를 만드는 것은 어려운 과정"이라며 "앞으로도 풍부한 목소리 구현을 위한 도전을 이어갈 것"이라고 말하며 강연을 마쳤다.