2 minute read

KoED에서 6축 56샘플 재샘플링 + Kanana TTS로 감정 톤 오디오 아티팩트 생성.


KoED 재샘플링

log-14에서 감정 실험의 데이터셋으로 KoED(Korean Empathetic Dialogues)를 선정했다. 기존에 16종 감정으로 30개를 뽑아두었는데, Kanana TTS의 감정 톤 표현력을 고려해 축을 재구성했다.

6축 구성

샘플 수 포함 감정
기쁨 10 proud, joyful, trusting, hopeful, caring, impressed, faithful
슬픔 10 sad, lonely, sentimental, guilty, ashamed, embarrassed, devastated, disappointed
분노 10 angry, furious, annoyed, disgusted, jealous
중립 10 anticipating, apprehensive, afraid, terrified, surprised, prepared
8 jeong (한국 고유)
8 han (한국 고유)

총 56샘플. 5턴 이상 필터, seed=42 고정. 정과 한은 성격이 다르므로 별도 축으로 분리했다. KoED 원본 1,360개 대화에서 각 축의 후보가 충분하여(기쁨 304, 슬픔 286, 분노 129, 중립 169, 정 14, 한 13) 샘플 편향 없이 추출할 수 있었다. 정/한은 후보 수가 적어 거의 전수에 가깝다.


감정 톤 매핑

Kanana API에는 감정 파라미터가 없고, 프롬프트에 자연어로 톤을 지시하는 방식이다(log-14 참조). 각 샘플의 원본 감정 레이블에 대응하는 한국어 톤 지시를 매핑했다.

기쁨 계열

원본 감정 톤 지시
proud 자랑스럽고 당당한 톤으로
joyful 기쁘고 활기찬 톤으로
trusting 신뢰감 있고 따뜻한 톤으로
hopeful 희망적이고 밝은 톤으로
caring 다정하고 부드러운 톤으로
impressed 감탄하며 놀란 톤으로
faithful 진심 어린 믿음이 담긴 톤으로

슬픔 계열

원본 감정 톤 지시
sad 슬프고 가라앉은 톤으로
lonely 외롭고 쓸쓸한 톤으로
sentimental 감상적이고 젖어드는 톤으로
guilty 죄책감에 무거운 톤으로
ashamed 부끄럽고 작아지는 톤으로
embarrassed 민망하고 쑥스러운 톤으로

분노 계열

원본 감정 톤 지시
angry 화가 나서 날카로운 톤으로
furious 격분하여 거센 톤으로
annoyed 짜증스럽고 퉁명스러운 톤으로
disgusted 역겨워하며 차가운 톤으로

중립/불안 계열

원본 감정 톤 지시
anticipating 기대하며 설레는 톤으로
apprehensive 조심스럽고 불안한 톤으로
afraid 두려워하며 떨리는 톤으로
terrified 공포에 질린 톤으로
surprised 놀라며 당황한 톤으로
prepared 차분하고 담담한 톤으로

한국 고유

원본 감정 톤 지시
정 (j) 정이 담긴 따뜻하고 그리운 톤으로
한 (h) 한이 서린 깊고 먹먹한 톤으로

TTS 아티팩트 생성

각 샘플에 대해 2종의 오디오를 생성한다.

  • neutral: “다음 대화를 자연스럽게 읽어줘.” (톤 지시 없음)
  • emotion: “다음 대화를 {톤 지시} 읽어줘.” (위 매핑 테이블 적용)

56샘플 × 2종 = 112개 WAV. 현재 96개 생성 완료, 한(한) 카테고리 16개가 쿼터 도달로 내일 마무리 예정이다.

출력은 24kHz 16bit mono raw PCM으로, WAV 헤더를 붙여서 저장한다. 이미 생성된 파일은 자동 스킵하므로 스크립트를 다시 돌리면 이어서 진행된다.


축별 생성 결과 예시

같은 대화를 neutral과 emotion으로 읽은 비교. 톤 차이를 직접 들어볼 수 있다.

기쁨-001 (proud, “친구가 두 아이가 있는데도 학기를 훌륭하게 마쳤어”)

neutral:

emotion (“자랑스럽고 당당한 톤으로”):

슬픔-001 (lonely, “이혼을 겪었어. 남편과 딸을 두고 떠나야 했어”)

neutral:

emotion (“외롭고 쓸쓸한 톤으로”):

분노-001 (angry, “최근에 우리 매니저가 우리에게 거짓말을 했어”)

neutral:

emotion (“화가 나서 날카로운 톤으로”):

중립-001 (afraid, “어릴 때 태풍을 겪었어”)

neutral:

emotion (“두려워하며 떨리는 톤으로”):

정-001 (jeong, “회사 청소 아주머니랑 매일 보다 보니 정든 것 같아”)

neutral:

emotion (“정이 담긴 따뜻하고 그리운 톤으로”):


현황

항목 상태
샘플 재샘플링 ✅ 56개 완료
톤 매핑 테이블 ✅ 25종 확정
TTS 생성 (neutral) 48/56 (한 미완)
TTS 생성 (emotion) 48/56 (한 미완)
이미지 렌더링 미착수
runner 구현 미착수