ChatTTS는 2noise 팀에서 개발한 대화 시나리오에 특화된 생성형 텍스트 음성 변환(TTS) 모델입니다. 이 프로젝트는 GitHub에서 35,000개 이상의 별을 획득했으며, 현재 가장 인기 있는 오픈 소스 TTS 프로젝트 중 하나입니다.
프로젝트 주소: https://github.com/2noise/ChatTTS
개발팀: 2noise
오픈 소스 라이선스: AGPLv3+ (코드) / CC BY-NC 4.0 (모델)
주요 지원 언어: 중국어, 영어
ChatTTS의 설계 목표는 LLM 어시스턴트와 같은 대화 애플리케이션에 자연스럽고 유창한 음성 상호 작용 경험을 제공하는 것입니다. 기존 TTS 모델에 비해 대화 시나리오에서 더욱 뛰어난 성능을 보입니다.
[laugh]
, [laugh_0-2]
[uv_break]
, [lbreak]
, [break_0-7]
[oral_0-9]
# 프로젝트 복제
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,
)
ChatTTS는 대화 시나리오에 특화된 TTS 모델로서 다음과 같은 측면에서 뛰어난 성능을 보입니다.
🎯 전문성: 대화 시나리오에 특화되어 챗봇, AI 어시스턴트 등 애플리케이션에서 뛰어난 성능을 발휘합니다.
🚀 기술적 첨단성: 최신 딥러닝 기술을 채택하여 운율 제어 및 다중 화자 지원 측면에서 선도적입니다.
🌟 오픈 소스 가치: 완전한 오픈 소스 솔루션을 제공하여 고품질 TTS 기술의 사용 장벽을 낮춥니다.
🤝 커뮤니티 활성화: 활발한 개발자 커뮤니티와 풍부한 생태계 리소스를 보유하고 있습니다.
⚡ 실용성: 기본 사용부터 고급 제어까지 완벽한 기능을 제공하여 다양한 수준의 요구 사항을 충족합니다.
ChatTTS의 출현은 대화 시나리오 전용 TTS 모델의 공백을 메우고 더욱 자연스러운 사람과 기계 간의 음성 상호 작용 경험을 구축하는 데 강력한 기술 지원을 제공합니다. 기술의 지속적인 발전과 커뮤니티의 지속적인 기여에 따라 ChatTTS는 음성 합성 분야에서 점점 더 중요한 역할을 수행할 것이라고 믿습니다.