Home
Login
2noise/ChatTTS

대화 시나리오를 위해 특별히 설계된 생성형 음성 모델로, 중국어와 영어가 혼합된 입력과 다중 화자 기능을 지원합니다.

AGPL-3.0Python 36.8k2noise Last Updated: 2025-05-23
https://github.com/2noise/ChatTTS

ChatTTS - 전문 대화 시나리오 텍스트 음성 변환 모델

프로젝트 개요

ChatTTS는 2noise 팀에서 개발한 대화 시나리오에 특화된 생성형 텍스트 음성 변환(TTS) 모델입니다. 이 프로젝트는 GitHub에서 35,000개 이상의 별을 획득했으며, 현재 가장 인기 있는 오픈 소스 TTS 프로젝트 중 하나입니다.

프로젝트 주소: https://github.com/2noise/ChatTTS
개발팀: 2noise
오픈 소스 라이선스: AGPLv3+ (코드) / CC BY-NC 4.0 (모델)
주요 지원 언어: 중국어, 영어

ChatTTS의 설계 목표는 LLM 어시스턴트와 같은 대화 애플리케이션에 자연스럽고 유창한 음성 상호 작용 경험을 제공하는 것입니다. 기존 TTS 모델에 비해 대화 시나리오에서 더욱 뛰어난 성능을 보입니다.

핵심 기능 및 특징

🎯 대화 최적화 설계

  • 대화 시나리오에 최적화: 챗봇, LLM 어시스턴트 등 대화 애플리케이션을 위해 특별히 최적화되었습니다.
  • 자연스러운 대화 경험: 생성된 음성이 더욱 자연스럽고 유창하여 사람과 기계 간의 대화 시나리오에 적합합니다.
  • 상호 작용형 대화: 다중 턴 대화에서 음성의 일관성을 지원합니다.

🎭 다중 화자 지원

  • 다중 화자 능력: 여러 화자 간의 전환을 지원하여 다중 역할 대화를 구현합니다.
  • 화자 샘플링: 가우시안 분포에서 임의로 화자 특징을 샘플링할 수 있습니다.
  • 음색 제어: 특정 음색을 사용자 정의하고 고정하여 역할 일관성을 유지할 수 있습니다.

🎵 정교한 운율 제어

  • 웃음 제어: 다양한 정도의 웃음 효과를 추가할 수 있습니다. [laugh], [laugh_0-2]
  • 멈춤 제어: 음성에서 멈춤과 간격을 정확하게 제어합니다. [uv_break], [lbreak], [break_0-7]
  • 어조 제어: 구어체 정도를 조절할 수 있습니다. [oral_0-9]
  • 감정 표현: 어조 변화를 포함한 세분화된 운율 특징을 예측하고 제어할 수 있습니다.

🌐 다국어 지원

  • 중국어-영어 혼용: 중국어와 영어 혼용 입력을 기본적으로 지원하며, 언어 태그가 필요하지 않습니다.
  • 언어 적응: 다양한 언어의 텍스트 내용을 자동으로 식별하고 처리합니다.
  • 향후 확장: 더 많은 언어를 지원할 계획입니다.

⚡ 기술적 장점

  • 첨단 아키텍처: Bark, Valle 등 첨단 기술을 참고하여 자가 회귀 모델 아키텍처를 기반으로 합니다.
  • 운율 우위: 운율 표현 측면에서 대부분의 오픈 소스 TTS 모델을 능가합니다.
  • 고품질 사전 훈련: 주 모델은 10만 시간 이상의 중국어 및 영어 오디오 데이터로 훈련되었습니다.
  • 오픈 소스 친화적: 연구용으로 40,000시간의 사전 훈련된 기본 모델을 제공합니다.

모델 사양 및 성능

훈련 데이터

  • 주 모델: 10만 시간 이상의 중국어 및 영어 오디오 데이터로 훈련
  • 오픈 소스 버전: 4만 시간 사전 훈련 모델 (SFT 미적용)
  • 데이터 출처: 공개적으로 사용 가능한 오디오 데이터 소스

성능 지표

  • GPU 요구 사항: 30초 오디오 생성에 최소 4GB GPU 메모리 필요
  • 생성 속도: 4090 GPU에서 초당 약 7개의 의미 토큰 생성
  • 실시간 팩터(RTF): 약 0.3
  • 오디오 품질: 24kHz 샘플링 레이트 출력

하드웨어 요구 사항

  • 최소 사양: 4GB+ GPU 메모리
  • 권장 사양: RTX 3090/4090 등 고급 그래픽 카드
  • CPU: 멀티 코어 프로세서 가속 지원
  • 메모리: 16GB+ 시스템 메모리 권장

설치 및 사용

빠른 설치

# 프로젝트 복제
git clone https://github.com/2noise/ChatTTS
cd ChatTTS

# 의존성 설치
pip install --upgrade -r requirements.txt

# 또는 conda 환경 사용
conda create -n chattts python=3.11
conda activate chattts
pip install -r requirements.txt

기본 사용 예시

import ChatTTS
import torch
import torchaudio

# 모델 초기화
chat = ChatTTS.Chat()
chat.load(compile=False)  # True로 설정하면 더 나은 성능을 얻을 수 있습니다.

# 텍스트 음성 변환
texts = ["안녕하세요, ChatTTS입니다.", "Hello, I am ChatTTS"]
wavs = chat.infer(texts)

# 오디오 파일 저장
for i, wav in enumerate(wavs):
    torchaudio.save(f"output_{i}.wav", torch.from_numpy(wav).unsqueeze(0), 24000)

고급 제어 기능

# 임의 화자 샘플링
rand_spk = chat.sample_random_speaker()

# 추론 매개변수 설정
params_infer_code = ChatTTS.Chat.InferCodeParams(
    spk_emb=rand_spk,      # 화자 임베딩
    temperature=0.3,        # 온도 매개변수
    top_P=0.7,             # top-P 샘플링
    top_K=20,              # top-K 샘플링
)

# 텍스트 개선 매개변수 설정
params_refine_text = ChatTTS.Chat.RefineTextParams(
    prompt='[oral_2][laugh_0][break_6]',  # 운율 제어 추가
)

# 음성 생성
wavs = chat.infer(
    texts,
    params_refine_text=params_refine_text,
    params_infer_code=params_infer_code,
)

활용 시나리오

🤖 AI 어시스턴트 및 챗봇

  • LLM 대화 시스템의 음성 출력
  • 스마트 고객 서비스 시스템
  • 가상 어시스턴트 애플리케이션

📚 교육 및 훈련

  • 온라인 교육 플랫폼
  • 언어 학습 애플리케이션
  • 오디오북 제작

🎬 콘텐츠 제작

  • 팟캐스트 제작
  • 비디오 더빙
  • 오디오 콘텐츠 생성

🏢 기업 애플리케이션

  • 회의 요약 브리핑
  • 공지 사항 음성화
  • 접근성 지원 기능

기술 아키텍처

핵심 구성 요소

  • 텍스트 인코더: 입력 텍스트의 의미 이해 처리
  • 운율 예측기: 음성의 운율 특징 예측 및 제어
  • 보코더: 특징을 고품질 오디오 파형으로 변환
  • 화자 인코더: 다중 화자 특징 임베딩 처리

모델 특징

  • 자가 회귀 아키텍처: Transformer 기반의 자가 회귀 생성 모델
  • 엔드 투 엔드 훈련: 통합된 엔드 투 엔드 훈련 프레임워크
  • 다중 모달 융합: 텍스트, 운율, 화자 정보의 효과적인 융합

주의 사항 및 제한 사항

사용 제한

  • 학술 용도: 게시된 모델은 학술 연구용으로만 사용 가능
  • 상업적 제한: 상업적 또는 불법적인 용도로 사용할 수 없음
  • 윤리적 고려: 악의적인 사용을 방지하기 위해 고주파 노이즈 추가

기술적 제한

  • 오디오 길이: 긴 오디오에서 품질 저하가 발생할 수 있음
  • 계산 요구 사항: 높은 GPU 계산 리소스 필요
  • 언어 지원: 현재 주로 중국어 및 영어 지원

자주 묻는 질문

  • 생성 속도: 하드웨어 구성 및 매개변수 조정을 통해 개선 가능
  • 오디오 품질: MP3 압축 형식이 최종 품질에 영향을 미칠 수 있음
  • 안정성: 자가 회귀 모델에서 불안정한 출력이 발생할 수 있음

결론

ChatTTS는 대화 시나리오에 특화된 TTS 모델로서 다음과 같은 측면에서 뛰어난 성능을 보입니다.

🎯 전문성: 대화 시나리오에 특화되어 챗봇, AI 어시스턴트 등 애플리케이션에서 뛰어난 성능을 발휘합니다.

🚀 기술적 첨단성: 최신 딥러닝 기술을 채택하여 운율 제어 및 다중 화자 지원 측면에서 선도적입니다.

🌟 오픈 소스 가치: 완전한 오픈 소스 솔루션을 제공하여 고품질 TTS 기술의 사용 장벽을 낮춥니다.

🤝 커뮤니티 활성화: 활발한 개발자 커뮤니티와 풍부한 생태계 리소스를 보유하고 있습니다.

⚡ 실용성: 기본 사용부터 고급 제어까지 완벽한 기능을 제공하여 다양한 수준의 요구 사항을 충족합니다.

ChatTTS의 출현은 대화 시나리오 전용 TTS 모델의 공백을 메우고 더욱 자연스러운 사람과 기계 간의 음성 상호 작용 경험을 구축하는 데 강력한 기술 지원을 제공합니다. 기술의 지속적인 발전과 커뮤니티의 지속적인 기여에 따라 ChatTTS는 음성 합성 분야에서 점점 더 중요한 역할을 수행할 것이라고 믿습니다.