Stable-TTS: 10초 노이즈 낀 음성으로 스튜디오급 AI 보이스 만들기
제한적이고 노이즈가 많은 샘플로도 깨끗하고 안정적인 맞춤형 음성을 합성하는 새로운 프레임워크
AI 음성 합성이 우리 삶 깊숙이 파고들고 있습니다. 개인 비서부터 오디오북까지, 우리는 기계가 ‘나’ 또는 ‘특정 인물’의 목소리를 갖길 기대하죠.
“단 10초의 음성만으로 당신의 목소리를 복제해 드립니다!”
이런 제로샷(Zero-shot) TTS 모델의 광고는 무척 매력적입니다. 하지만 막상 시끄러운 카페에서 녹음한 파일을 넣어보면, 실망스러운 결과물이 나오기 일쑤입니다. 왜일까요? AI가 목소리와 함께 섞여 들어간 배경 소음, 웅웅거리는 울림까지 그대로 ‘학습’해 버리기 때문입니다.
기존 모델들은 깨끗한 스튜디오급 데이터로 훈련됩니다. 여기에 노이즈가 가득한 실제 녹음본(in-the-wild)을 몇 개 주입해 파인튜닝(미세 조정)을 시도하면, 모델은 ‘딜레마’에 빠집니다.
파인튜닝의 딜레마
소극적 파인튜닝
조심스럽게 학습시키면, 목소리가 당신과 별로 닮지 않습니다. 여전히 훈련 데이터의 밋밋한 톤이 남아있죠.
적극적 파인튜닝
적극적으로 학습시키면, 음색은 닮지만… 배경 소음, 불분명한 발음까지 ‘통째로’ 배워버립니다. 이건 마치 ‘음악’만 배우라고 악보를 줬는데, 악보에 묻은 ‘커피 얼룩’까지 연주하려는 셈이죠.
이 ‘시끄러운데 깨끗한 목소리’라는 모순적인 문제를 해결하기 위해, 즉 제한적이고 노이즈가 많은 샘플로도 깨끗하고 안정적인(Stable) 맞춤형 음성을 합성하는 새로운 프레임워크, Stable-TTS가 등장했습니다.
💡 Stable-TTS란 무엇인가?
Stable-TTS는 기존 모델이 가진 고질적인 ‘민감성’ 문제를 해결하기 위해 제안된 새로운 프레임워크입니다.
핵심 아이디어는 아주 명쾌합니다. “목소리의 고유한 색깔(음색)과 말하는 방식(말투, 운율)을 분리해서 다루자.”
이해하기 쉽게 비유해 볼까요?
- 음색 (Timbre): 가수의 고유한 목소리 톤 (예: 특정 가수의 허스키한 목소리)
- 운율 (Prosody): 노래를 부르는 방식 (예: 빠르고 신나게, 느리고 슬프게)
Stable-TTS는 “당신의 ‘음색’은 시끄러운 샘플에서 가져오되, ‘말투(운율)’는 우리가 가진 깨끗한 샘플을 참고하게 만들자”는 전략을 사용합니다.
이 영리한 목표를 달성하기 위해 두 가지 핵심 기술을 사용합니다.
- 프로소디 프롬프팅 (Prosody Prompting): 사전 훈련에 사용된 고품질의 ‘이전 샘플’을 ‘말투 견본’으로 사용합니다. 덕분에 타겟 음성의 노이즈와 상관없이 깨끗한 운율을 유지할 수 있습니다.
- 이전 보존 손실 (Prior-Preservation Loss): 파인튜닝 과정에서 새로운 노이즈 음성에 ‘과적합’되어, 기존에 학습했던 ‘깨끗한 음성 생성 능력’을 잊어버리지 않도록 막아주는 안전장치입니다.
이 두 가지 장치를 통해, Stable-TTS는 시끄러운 환경에서 녹음된 적은 샘플로도 타겟의 ‘음색’은 정확히 포착하면서, ‘운율’은 깨끗하게 유지하는 놀라운 안정성을 보여줍니다.
1️⃣ 첫 번째 기둥: 프로소디 프롬프팅 (Prosody Prompting)
기존 모델은 음색과 말투를 한데 뭉뚱그려 처리하려다 실패했습니다. 하지만 Stable-TTS는 이 둘을 명확히 분리하죠.
- 음색 인코더 (Timbre Encoder): 오직 목소리의 ‘색깔’만 뽑아냅니다.
- 프로소디 인코더 (Prosody Encoder): 말의 ‘리듬, 억양’ 같은 스타일을 담당합니다.
이게 어떻게 작동하는지, 특히 ‘추론(음성 생성)’ 단계를 집중해서 보시죠. 이게 마법이거든요.
- 여러분이 시끄러운 카페에서 녹음한 10초짜리 ‘타겟 샘플’을 입력합니다.
- 음색 인코더가 이 샘플에서 여러분의 ‘목소리 지문(음색 벡터)’만 쏙 뽑아냅니다.
- 하지만 ‘말투(운율)’는요? 이 시끄러운 샘플을 쓰면 안 되겠죠.
- 여기서 프로소디 언어 모델(PLM)이 등장합니다. 이 모델은 여러분이 입력한 텍스트와 함께, 훈련 때 사용했던 아주 깨끗한 ‘이전 샘플’을 ‘견본(프롬프트)’으로 받습니다.
즉, Stable-TTS는 AI에게 이렇게 명령을 내리는 셈입니다.
“음색은 이 (노이즈 낀) 타겟 샘플에서 가져와. 하지만 말투는 저 (깨끗한) 견본 샘플을 참고해서, 이 (새로운) 텍스트에 맞게 깨끗하게 말해줘.”
결과적으로, (A)여러분의 목소리 톤으로 (B)깨끗한 말투를 가진 (C)새로운 문장이 탄생하는 겁니다.
2️⃣ 두 번째 기둥: 이전 보존 손실 (Prior-Preservation Loss)
프로소디 프롬프팅이 ‘깨끗한 말투’를 생성하도록 돕는다면, ‘이전 보존 손실(P.P. Loss)’은 모델 자체가 ‘깨끗함’을 잊지 않도록 붙잡아주는 ‘안전벨트’ 역할을 합니다.
파인튜닝의 가장 큰 위험은 ‘과적합(overfitting)’입니다. 모델이 새롭게 주입된 (노이즈 낀) 데이터에 너무 몰두한 나머지, “아, 원래 소리란 건 다 노이즈가 좀 껴있구나”라고 잘못 배우는(망각하는) 현상이죠.
비유하자면, 깨끗한 스튜디오에서 완벽한 연주법을 배운 ‘프로 연주자(사전 훈련 모델)’에게, 잡음이 심한 ‘라이브 공연 음원(타겟 샘플)’을 몇 개 주며 ‘이것도 연주해 봐’라고 시키는 것과 같습니다. 이때 연주자가 “아, 원래 이렇게 지직거리며 연주하는 게 맞는 건가?”라며 자신의 기본기를 잊어버리면 안 되겠죠.
P.P. Loss는 이 ‘기본기’를 잊지 않도록 강제하는 장치입니다. 훈련 방식은 이렇습니다.
1단계: 두 개의 모델을 준비합니다
- ‘프로(원본)’ 모델 (Frozen): 깨끗한 음성 생성법을 완벽히 아는, 얼려둔 모델.
- ‘견습생(파인튜닝)’ 모델 (To be fine-tuned): 새 목소리를 배울 모델.
2단계: 두 가지 데이터를 동시에 줍니다
- 타겟 샘플 (Noisy): “이 목소리(음색)를 배워!” (일반적인 학습)
- 이전 샘플 (Clean): “자, 이 깨끗한 샘플을 둘 다 연주해 봐.”
3단계: ‘기본기’를 비교합니다
- ‘견습생’이 깨끗한 샘플을 처리한 결과가 ‘프로’가 처리한 결과와 다르면 페널티(손실)를 줍니다.
결국, 견습생 모델은 (A)새로운 타겟 음색을 배우면서도, (B)깨끗한 음성을 생성하는 ‘기본기’는 잊지 않도록 훈련됩니다.
📊 실험 결과: Stable-TTS는 정말 ‘안정적’인가?
그래서, 정말 효과가 있을까요? 결론부터 말씀드리면, ‘압도적’입니다.
여러 지표가 있지만, ‘단어 오류율(WER)’만 봐도 됩니다. 이건 AI가 얼마나 발음을 뭉개지 않고 정확하게 말하는지를 보여주는데, 낮을수록 좋습니다.
가장 혹독한 조건인 ‘VoxCeleb (실제 노이즈 낀 인터뷰 음성)’ 데이터에서 결과가 극명했습니다.
| 모델 | WER (단어 오류율) (↓ 낮을수록 좋음) | MOS (음성 자연스러움) (↑ 높을수록 좋음) |
|---|---|---|
| Grad-StyleSpeech | 16.06% | 2.60 |
| UnitSpeech | 19.76% | 2.63 |
| Stable-TTS | 1.32% | 3.00 |
기존 모델들은 100단어 중 16~20개를 틀리게 발음했지만, Stable-TTS는 오류율을 92%나 줄여 거의 완벽하게 발음했습니다.
이건 그냥 ‘좋아졌다’ 수준이 아니라, 기존 모델이 ‘실패’한 영역에서 ‘성공’한 겁니다.
데이터가 1개만 있어도 될까요?
독자들이 가장 궁금해할 부분이죠. 더 놀라운 건 데이터 효율성입니다.
기존 모델(Grad-StyleSpeech)은 샘플이 20개 미만으로 줄자 오류율이 48%까지 치솟으며 사실상 학습에 실패했습니다.
하지만 Stable-TTS는 단 1개의 샘플만으로도 1% 미만의 안정적인 오류율을 유지했습니다. 음성 유사도 역시 큰 희생 없이 안정적으로 유지되었죠.
🎯 결론: ‘안정성’이 가져올 개인화된 AI의 미래
Stable-TTS의 성공 비결은 ‘더 많은 데이터’나 ‘더 큰 모델’이 아니라 ‘더 현명한 학습 전략’으로 실제적인 문제를 해결했다는 데 있습니다.
핵심은 ‘분리’와 ‘보존’이었습니다.
- 분리 (Prosody Prompting): 배우기 어려운 ‘말투’는 깨끗한 견본을 참고하게 분리시켰습니다.
- 보존 (P.P. Loss): 모델이 ‘깨끗한 소리’를 잊지 않도록 안전벨트로 보존했습니다.
이 접근 방식 덕분에, 우리는 더 이상 AI에게 목소리를 가르치려고 비싼 마이크 앞에서 수백 개의 문장을 읽을 필요가 없어질지도 모릅니다. 시끄러운 곳에서 녹음한 10초짜리 통화 기록만으로도 충분할 수 있으니까요.
