
음성의 이면: AI는 어떻게 감정을 음성에 담는가
신경망 텍스트 음성 변환(TTS)은 이제 합성 음성이 문장을 읽을 때 대부분의 경우 사람이 읽는 것처럼 들리는 수준에 도달했습니다. 더 어려운 문제는 그 문장을 진심으로 말하는 사람처럼 들리게 하는 것입니다. 좋은 소식에는 따뜻하게, 슬픈 대사에는 조용하게, 장난스러운 말에는 가볍게 말이죠. 이 글에서는 감정 인식 음성 파이프라인이 어떻게 설계되는지 설명합니다. 텍스트가 어떻게 오디오가 되는지, 시스템이 텍스트에서 감정 톤을 어떻게 추론하는지, 그 톤이 어떻게 음성 설정으로 바뀌는지, 그리고 이 접근법의 한계는 어디인지 다룹니다.
AINudeGirls에서의 현재 상태: 현재 플랫폼에는 음성 기능이 없습니다. AI 모델은 말을 하지 않으며, 음성 통화도 없습니다. AI 음성 통화는 공개 로드맵에 2027년 2분기를 목표로 올라와 있습니다. 아래 내용은 모두 그 미래 기능에 대한 설계 해설이며, 지금 사용할 수 있는 무언가를 설명하는 것이 아닙니다. 지금 실제로 작동하는 것을 보고 싶다면 이미지 생성기나 비디오 생성기부터 시작해 보시기 바랍니다.
---
텍스트 음성 변환의 작동 원리 (기본)
큰 틀에서 보면 최신 텍스트 음성 변환(TTS)은 텍스트를 세 단계로 오디오로 변환하며, 모든 단계는 신경망이 처리합니다.
1. 텍스트 분석: 입력 텍스트를 음소, 운율 표지, 문장 구조 같은 언어 단위로 분해합니다. 어떤 음절에 강세를 두고 어디에서 쉴지를 시스템이 결정하는 단계입니다.
2. 음향 모델링: 신경망이 각 구간의 오디오 특성, 즉 음높이, 길이, 에너지, 스펙트럼 특징을 예측합니다.
3. 파형 생성: 보코더가 그 음향 예측을 실제 오디오 파형으로 바꿉니다.
현재의 신경망 TTS는 이전 세대의 기계적인 음성과는 거리가 멉니다. 그러나 "사람이 텍스트를 읽는 것처럼 들린다"와 "사람이 무언가를 느끼며 말하는 것처럼 들린다" 사이에는 여전히 간극이 있습니다. 감정 인식 파이프라인은 위 세 단계 위에 얹혀 그 간극을 좁히는 역할을 합니다.
---
음성은 어디에서 오는가: 제공업체 선택지
음성 출력을 구축하는 플랫폼은 오디오를 어디에서 합성할지 결정해야 합니다. 일반적으로 세 가지 범주가 있으며, 각각 다른 장단점이 있습니다.
호스팅형 범용 TTS
- 정의: 대형 벤더가 제공하는 클라우드 신경망 TTS 서비스로, 여러 언어와 억양에 걸쳐 다양한 음성을 제공합니다
- 품질: 모델이 학습 과정에서 익힌 운율을 갖춘 깨끗하고 자연스러운 음성
- 제어: 제한적입니다. 음성과 말하기 속도를 고를 수는 있지만, 감정 표현을 세밀하게 조정할 수는 없습니다
- 적합한 용도: 자연스럽고 중립적인 낭독만으로 충분한 일상적인 음성
표현력 특화 음성 API
- 정의: 표현력 있는 합성 음성을 위해 특별히 만들어진 서비스로, 뚜렷한 캐릭터 프로필을 제공합니다
- 품질: 세 범주 중 가장 넓은 감정 표현 범위
- 제어: 전달이 얼마나 안정적인지, 얼마나 원음에 충실한지, 얼마나 극적인지를 직접 조정하는 파라미터를 제공합니다. 감정 파이프라인에 필요한 조절 장치입니다
- 적합한 용도: 밋밋한 전달이 눈에 띌 만한, 감정이 실린 대사와 내레이션
자체 호스팅 오픈소스 엔진
- 정의: 자체 하드웨어에서 구동하는 오픈소스 TTS 엔진으로, 맞춤 음성 모델을 사용합니다
- 품질: 모델에 따라 다릅니다. 감정을 잘 다루는 모델도 있고 그렇지 않은 모델도 있습니다
- 제어: 완전하지만, 품질을 포함한 모든 것을 직접 책임져야 합니다
- 적합한 용도: 텍스트 처리를 내부에 유지하는 경우, 대량 생성, 실험
저희 백엔드 설정에는 각 범주별로 하나의 옵션이 등록되어 있습니다(Edge TTS, ElevenLabs, Coqui). 그중 어느 것도 사용자용 기능에 연결되어 있지 않으며, 음성 통화 출시 전에 선택이 바뀔 수도 있습니다.
---
텍스트에서 감정 감지하기
TTS 엔진이 오디오를 생성하기 전에, 감정 인식 파이프라인은 한 가지 단순한 질문에 답해야 합니다. 이 텍스트의 감정 톤은 무엇인가? 이 단계가 어떻게 설계되는지 살펴보겠습니다.
실무용 감정 집합
대화형 음성이 표현해야 하는 대부분은 일곱 가지 범주로 충분히 다룰 수 있습니다.
감정 설명 대표적인 단서
--------- ------------- -----------------
기쁨 행복, 흥분, 열정 웃음, 축하, 좋은 소식, 장난기 넘치는 에너지
슬픔 우울, 연민, 위로 상실, 실망, 공감, 아쉬움
분노 좌절, 격렬함, 열정 갈등, 불의, 강한 의견 충돌
두려움 불안, 걱정, 불편함 위험, 불확실성, 근심, 취약함
놀라움 경악, 깨달음 반전, 예상치 못한 사건, 발견
플러팅 장난스러움, 놀림, 끌림 칭찬, 암시, 로맨틱한 긴장감
다정함 부드러움, 배려, 친밀함 위로, 가까움, 감정적 취약함, 사랑
여기에 어느 쪽으로도 기울지 않는 텍스트를 위한 중립 기본값이 추가됩니다.
감지하는 두 가지 방법
가장 단순한 설계는 키워드 기반입니다. 시스템이 각 감정과 연관된 단어와 구문을 텍스트에서 찾아냅니다.
- 기쁨 단서: "하하", "너무 좋아", "대단해", "설레", "멋져", 느낌표
- 슬픔 단서: "미안해", "보고 싶어", "그랬으면", "안타깝게도", "아파"
- 플러팅 단서: "윙크", "놀리다", "얼굴이 붉어지다", "너무 예뻐", 암시적인 표현
- 다정함 단서: "널 아껴", "내 곁에선 안전해", "부드럽게", "살며시", "안아 줄게"
단서가 하나 발견될 때마다 해당 감정의 점수가 올라가고, 가장 높은 점수를 받은 감정이 선택됩니다. 키워드 매칭은 투명하고 저렴하며 디버깅이 쉬워서 합리적인 첫 버전이 됩니다.
대안은 모델 기반 분류기입니다. 소형 언어 모델이 메시지 전체를 읽고 확률과 함께 감정 레이블을 출력합니다. 맥락, 비꼼, 혼합된 신호를 훨씬 잘 이해하지만, 지연 시간과 연산 비용이 늘고 동작을 예측하기 어려워집니다.
신뢰도 점수
모든 메시지에 명확한 감정 톤이 있는 것은 아니므로, 감지기는 자신이 얼마나 확신하는지도 보고해야 합니다. 0.0에서 1.0 사이의 신뢰도 값입니다.
- 높은 신뢰도: 하나의 감정에 대한 강한 단서가 여러 개 있습니다. 음성 파라미터가 눈에 띄게 바뀝니다.
- 중간 신뢰도: 일부 단서는 있지만 지배적이지 않습니다. 파라미터가 적당히 바뀝니다.
- 낮은 신뢰도: 모호하거나 중립적인 텍스트입니다. 음성이 기본 프로필에 가깝게 유지됩니다.
신뢰도에 따라 섞어 주면 모호한 텍스트에서 음성이 극적으로 흔들리는 일을 막을 수 있습니다. 감지기가 확신하지 못하면 중립적으로 읽습니다.
---
감정이 음성 파라미터에 대응되는 방식
표현력 있는 TTS API는 몇 가지 제어 항목을 노출합니다. 이름은 제공업체마다 다르지만, 세 가지는 공통적이며 감지된 감정에 잘 대응됩니다.
안정성 (음성 역동성)
음성이 얼마나 일정한지 혹은 역동적인지를 제어합니다.
- 안정성 낮음 = 음성 변화가 크고, 더 표현적이며, 더 활기참
- 안정성 높음 = 더 절제되고, 통제되며, 안정적인 전달
유사도 (자연스러움)
출력이 기본 음성 프로필과 얼마나 가까운지를 제어합니다.
- 유사도 낮음 = 더 창의적인 해석, 감정 표현은 풍부해질 수 있으나 일관성은 떨어짐
- 유사도 높음 = 음성 본래의 소리에 더 충실함
스타일 (표현력)
전달의 전반적인 표현력을 제어합니다.
- 스타일 높음 = 더 극적이고 감정이 더 두드러짐
- 스타일 낮음 = 더 은근하고 대화체에 가까움
감정-파라미터 대응표
합리적인 출발점이 되는 대응표는 다음과 같습니다. 정확한 숫자보다 각 조정의 방향이 더 중요하며, 숫자는 실제 시스템이 생기면 음성별로 튜닝해야 합니다.
감정 안정성 유사도 스타일 의도한 효과
--------- ----------- ------------ ------- -----------------
기쁨 낮음 중간 높음 역동적, 활기참, 표현적
슬픔 높음 높음 중간 느림, 절제됨, 부드러움
분노 낮음 중간 높음 격렬함, 강함, 극적
두려움 중간 높음 중간 긴장됨, 약간 불안정, 다급함
놀라움 낮음 중간 높음 빠름, 역동적, 폭넓은 음역
플러팅 중간 중간 중간 장난스러운 변화, 따뜻함, 놀리는 듯함
다정함 높음 높음 중간 부드러움, 따뜻함, 온화함, 친밀함
중립 중간 중간 낮음 자연스러움, 대화체, 균형 잡힘
이것은 기준값입니다. 이후 신뢰도 점수가 감지의 불확실성에 비례하여 모든 파라미터를 중립 쪽으로 되돌립니다.
---
모델마다 하나의 음성
이런 시스템에서는 모든 캐릭터가 공유 내레이터 하나가 아니라 각자의 음성 정체성을 가져야 합니다.
- 음성 선택: 각 캐릭터에는 성격에 맞는 제공업체의 음성이 배정됩니다
- 기준 파라미터: 각 캐릭터는 자신의 "중립" 소리를 정의하는 고유한 기본 안정성, 유사도, 스타일 값을 가집니다
- 감정 범위: 어떤 캐릭터는 기본적으로 더 표현적이고, 어떤 캐릭터는 더 절제되어 있습니다. 감정 대응은 각 캐릭터의 기준값을 기준으로 상대적으로 조정됩니다
장난스럽고 활기찬 캐릭터는 중립 모드에서도 더 역동적인 음성을 유지하고, 차분하고 내성적인 캐릭터는 절제된 상태를 유지합니다. 감정 변화는 그 기본값 위에 적용됩니다. AINudeGirls에서는 궁극적으로 각 AI 모델 프로필에 음성을 배정한다는 의미가 되겠지만, 현재 그 프로필은 이미지와 설명만으로 구성되어 있습니다.
---
이 설계의 알려진 한계
설계가 잘 처리하는 것
- 분명한 감정. 느낌표가 가득하고 "대단해", "사랑해" 같은 단어가 있는 메시지는 기쁨으로 분류하기 쉽습니다. 상실에 관한 메시지는 슬픔으로 분류하기 쉽습니다.
- 모호함. 신뢰도 시스템은 모호한 텍스트가 음성을 흔드는 것을 막아 줍니다.
- 대비. 기쁨과 다정함의 전달은 충분히 다르게 들려서 노력할 가치가 있습니다.
설계가 잘 처리하지 못하는 것
- 비꼼과 맥락. 키워드 감지는 "아, 좋네, 또 월요일이야."를 이해하지 못합니다. "좋네"라는 단어가 기쁨으로 점수를 얻습니다.
- 혼합된 감정. 기쁨과 슬픔을 함께 담은 메시지는 둘을 섞는 대신 점수가 더 높은 쪽으로 축소됩니다.
- 제공업체 차이. 세밀한 대응은 파라미터를 노출하는 제공업체에서만 완전히 작동합니다. 범용 TTS는 내장된 운율에 의존하며 명시적인 지시에 덜 반응합니다.
- 자체 호스팅의 편차. 오픈소스 엔진의 감정 범위는 특정 모델에 크게 좌우됩니다.
출시 전 미해결 질문
- 키워드 감지로 시작할지, 처음부터 모델 기반 분류기로 갈지
- 감정 혼합(한 번의 전달에 두 감정)이 추가되는 복잡성만큼 가치가 있는지
- 플랫폼의 다양한 모델 프로필을 위해 음성이 몇 개나 필요한지
이 중 어느 것도 결정되지 않았습니다.
---
음성과 관련된 개인정보 고려 사항
모든 음성 기능은 텍스트 전용 플랫폼에는 없는 질문을 제기합니다. 다음은 설계가 출발점으로 삼는 제약 조건이며, 최종 정책은 기능 출시 전에 공개될 것입니다.
- 주문형 생성. 오디오는 요청 시 생성되며, 미리 녹음되지 않습니다.
- 임시 캐싱만 허용. 생성된 오디오는 재생을 위해 잠시 캐시될 수 있지만 영구 저장되지 않습니다.
- 사용자 음성 수집 없음. 파이프라인은 단방향입니다. 텍스트가 들어가고 오디오가 나옵니다. 설계상 마이크가 필요한 부분은 전혀 없으며, 사용자 음성을 복제하는 것도 포함되지 않습니다.
- 제공업체의 데이터 처리. 제3자 제공업체가 오디오를 합성하는 경우 메시지 텍스트가 해당 제공업체로 전송되어 그쪽의 개인정보 처리방침을 따르게 됩니다. 자체 호스팅 엔진은 텍스트를 내부에 유지합니다. 어느 옵션이 적용되는지는 출시 시점에 명확히 안내될 것입니다.
---
지금 할 수 있는 것
서두의 요점을 다시 말씀드리면, AINudeGirls에서 음성은 사용할 수 없습니다. 음성 출력도, 음성 채팅도, 음성 통화도 없습니다. 음성 통화는 로드맵에 2027년 2분기로 올라와 있으며, 실제로 설명할 것이 생기면 이 글도 업데이트될 것입니다.
지금 실제로 제공되는 것은 이미지와 비디오 생성입니다. NSFW 생성기에서 프롬프트를 작성하거나 카테고리를 고르고, 카테고리를 둘러보거나, 비디오 생성기에서 짧은 클립을 생성해 보십시오. 요금은 크레딧 단위이며 요금 페이지에 안내되어 있고, 나머지는 FAQ에서 다룹니다.
