이리듐192의 작업실THE MAKER’S JOURNAL이야기 나누기 ↗
← 전체 목차IRIDIUM192 / PROJECT JOURNALARTICLE 01 / 14
AI / 2025–2026 — Lia / Cordelia

코델리아 AI 버튜버

대화, 음성, 표정과 기억을 이어 붙인 로컬 AI 캐릭터 시스템.

THE OPENING / 작업의 시작

한 문장의 답변,
그다음은?

말을 생성하는 것만으로는 캐릭터가 되지 않습니다. 음성 인식, 대화 생성, 감정 정보, 합성 음성, 아바타의 표정이 함께 움직이도록 연결해온 프로젝트입니다.

01 / INPUT
오늘은 어떤 이야기를
해볼까요?
먼저, 듣고.
02 / CONTEXT기억을 이어
답을 찾고.
대화 문맥 → 로컬 추론
03 / ROUTING
[Joy]↙ ↘
표정 제어발화 텍스트
말과 감정을 나눕니다.
04 / OUTPUTHello!그리고, 캐릭터가 됩니다.음성 합성 + 아바타 출력
개발 구조를 재구성한 설명용 도해 / 실제 모델 호출 아님

INSIDE THE WORK / 결과물과 과정

직접 살펴보는 작업.

작업 노트 다운로드 ↓

한 문장의 답변이 목소리와 표정이 되기까지. 입력, 추론, 음성, 아바타를 따로 만들고 연결한 과정입니다.

근거 자료 · 개발 기록 · 로컬 Python 코드

2025.12 → 2026.02확인한 개발 기록 구간
SFT → DPO → SFT학습·복원 실험 기록
VOICE + AVATAR음성과 표정의 출력 경로
INTERACTIVE / TAG ROUTING

감정은 표정으로, 문장은 목소리로.

개발 기록의 태그 분리 규칙을 예시 문장으로 체험합니다.

[Joy] 오늘은 꽤 잘 풀렸네요.
01 / TO VOICE오늘은 꽤 잘 풀렸네요.

TTS에 전달할 발화 텍스트

02 / TO AVATARJoy

표정 제어에 전달할 감정

설명용 체험 · 문장은 예시이며 실제 모델·음성 서버를 호출하지 않습니다.

HOW IT WORKS

한 단계씩, 안쪽으로.

각 단계를 선택해 실제 구조와 연결된 자료를 확인하세요.

01

듣고 구분하기

VAD와 Whisper로 소리를 텍스트로 바꾸고, 호출어와 명령어로 응답할 발화를 고릅니다. 모든 잡담에 반응하던 문제에서 선택적 청취로 방향을 바꿨습니다.

진행 기록: Smart Addressing / Strict Mode

FROM THE SOURCE

실제 코드 한 조각.

server_api.pyLINES 70–79
            outputs = self.model.generate(
                input_ids=inputs,
                max_new_tokens=100,
                eos_token_id=terminators,
                repetition_penalty=1.2,
                temperature=0.6, # SFT는 창의성보다 안정성을 위해 온도를 낮춤
                top_p=0.9,
                do_sample=True,
                pad_token_id=self.tokenizer.eos_token_id
            )

로컬에 남아 있는 SFT 복원 시점의 추론 코드 발췌입니다. 응답 길이·반복 패널티·온도를 제한합니다. 이후 EXAONE 전환은 별도의 개발 기록으로 구분합니다.

DEVELOPMENT NOTES

선택과 수정이 남긴 흔적.

1
2025.12

뇌와 몸의 경계 정리

블로킹 I/O와 의존성 문제를 기록하고, 프롬프트·데이터·학습 순서를 다시 정리했습니다.

2
학습 실험

DPO에서 SFT로 복원

선호도 학습 이후 품질 문제가 생겨 SFT 어댑터로 돌아간 서버 스냅샷을 확인했습니다.

3
2026.02.07

감정 유지와 감각 통합

문장이 나뉠 때 표정이 초기화되던 문제를 직전 감정 유지 방식으로 다뤘습니다.

4
2026.02.13

EXAONE 전환과 태그 분리

진행 기록에 EXAONE 3.5 전환, GPU 자원 재배치, TTS 감정 태그 분리 작업이 남아 있습니다.

WORK & DELIVERABLES

구체적으로,
만든 것들.

  1. 01

    Llama·Qwen 계열 SFT·DPO 실험과 EXAONE 기반 로컬 추론 전환 기록

  2. 02

    GPT-SoVITS 음성 합성과 감정별 참조 오디오 선택, TTS에서 감정 태그 분리

  3. 03

    VTube Studio WebSocket 연동, 표정 전송, 오디오 라우팅을 통한 립싱크

  4. 04

    화자·호출어 처리, 턴 테이킹, 자율 발화와 시간 정보를 고려한 기억 설계

  5. 05

    치지직과 Discord의 비동기 클라이언트 연결 및 오류 대응

DECISIONS / NOTES FROM THE PROCESS

선택에는 이유가 있습니다.

NOTE 01

태그는 제어 정보로

감정 태그를 소리로 읽는 문제를 막기 위해 발화 텍스트와 감정 정보를 분리합니다. 표정은 VTS로, 텍스트는 음성 합성기로 전달합니다.

NOTE 02

실패도 남기는 개발 과정

DPO 이후 한국어 품질 저하로 SFT로 돌아간 기록, 감정 고착, 연결 끊김과 재접속 처리를 함께 남겼습니다. 모든 시도를 성과로 포장하지 않습니다.

WHERE IT STANDS

현재 단계와
남은 범위.

2026년 2월까지의 진행 기록과 현재 저장소 구조를 바탕으로 정리했습니다. 기록상의 지연 시간·인식률을 재현 검증된 성능으로 사용하지 않으며, 완전 무인 방송이나 인간 같은 의식의 구현을 주장하지 않습니다.

FROM THE ARCHIVE

이 이야기를
뒷받침하는 자료.

  • 프로젝트 진행사항.txt · 2025.12–2026.02
  • 성장형 AI 제작 명세서 v11
  • AI VTuber DPO 데이터셋 연구 / 자율 개입 프로토콜
  • AI-Vtuber 저장소의 서버·클라이언트·비전 모듈

원본 문서·코드의 작업 범위를 기준으로 정리했습니다. 비공개 원본과 개인 정보는 첨부하지 않았습니다.

TURN THE PAGE / 다음 이야기IRIDIO↗전체 목차로 돌아가기 ←