본문 바로가기
AI 도구

🎙️🎭🤖Chatterbox: 감정 표현과 음성 복제가 가능한 최신 오픈소스 AI 음성 생성 모델

by James AI Explorer 2026. 1. 4.
    728x90

    안녕하세요! 오늘은 Resemble AI에서 공개한 혁신적인 오픈소스 TTS(Text-to-Speech) 모델인 Chatterbox에 대해 알아보겠습니다. Chatterbox는 단순한 텍스트 읽기를 넘어, 감정 표현음성 복제(Voice Cloning)이 가능한 최첨단 AI 음성 생성 모델입니다. 특히 최신 Chatterbox-Turbo는 350M 파라미터로 가볍고 빠르면서도 고품질 음성을 생성할 수 있어, AI 음성 에이전트실시간 음성 봇 개발에 최적화되어 있습니다. 이 블로그에서는 Chatterbox의 주요 특징, 설치 방법, 실전 사용 예제를 살펴보겠습니다.

    🎙️🎭🤖Chatterbox: 감정 표현과 음성 복제가 가능한 최신 오픈소스 AI 음성 생성 모델

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    🎙️ Chatterbox 개요

    ChatterboxResemble AI에서 개발한 오픈소스 텍스트-투-스피치(TTS) 모델 패밀리로, 총 3가지 모델로 구성되어 있습니다. 기존 TTS 모델과 달리 제로샷 음성 복제(Zero-shot Voice Cloning) 기술을 통해 단 10초의 참고 음성만으로도 목소리를 복제할 수 있으며, 감정 태그(Paralinguistic Tags)를 사용하여 자연스러운 웃음, 기침 등을 표현할 수 있습니다.

    TTS(Text-to-Speech)란?
    TTS는 텍스트를 음성으로 변환하는 기술입니다. 쉽게 말해, "컴퓨터가 글자를 읽어서 사람의 목소리로 말해주는 기술"입니다. 내비게이션의 길 안내, Audiobook 읽어주기, AI 음성 비서(Siri, Alexa 등)가 모두 TTS 기술을 사용합니다. Chatterbox는 이 TTS 기술을 AI로 더욱 발전시켜서, 실제 사람과 구별하기 어려운 자연스러운 목소리를 만들어냅니다.

    Chatterbox는 Hugging FaceGitHub에서 무료로 다운로드할 수 있으며, Python 라이브러리로 손쉽게 설치할 수 있습니다.

    https://github.com/resemble-ai/chatterbox

     

    GitHub - resemble-ai/chatterbox: SoTA open-source TTS

    SoTA open-source TTS. Contribute to resemble-ai/chatterbox development by creating an account on GitHub.

    github.com

    ⭐ 주요 특징 및 기능

    Chatterbox의 주요 특징은 다음과 같습니다:

    • 🎙️ 제로샷 음성 복제: 단 10초의 참고 음성만으로도 목소리 복제 가능
    • 😊 감정 태그 지원: [laugh], [cough], [chuckle] 등의 태그로 자연스러운 감정 표현
    • ⚡ 초고속 생성: Turbo 모델은 1단계 디코딩으로 기존 10단계를 1단계로 축소
    • 🌍 다국어 지원: Multilingual 모델은 한국어를 포함한 23개 언어 지원
    • 💻 가벼운 모델: Turbo 모델은 350M 파라미터로 낮은 VRAM 요구
    • 🔒 내장 워터마킹: 모든 생성 음성에 PerTh 워터마크 자동 포함
    • 🎨 창의적 제어: CFG(Classifier-Free Guidance) 및 Exaggeration 튜닝

    🤖 Chatterbox 모델 비교

    Chatterbox는 3가지 모델로 제공되며, 각각의 용도에 따라 적절한 모델을 선택할 수 있습니다:

    모델 크기 언어 주요 특징 추천 용도
    Chatterbox-Turbo 350M 영어 감정 태그, 저전력/저VRAM 실시간 음성 에이전트, 프로덕션
    Chatterbox-Multilingual 500M 23개 언어 제로샷 복제, 다국어 글로벌 애플리케이션, 현지화
    Chatterbox (Original) 500M 영어 CFG & Exaggeration 튜닝 창의적 제어가 필요한 TTS

    🌍 지원 언어

    Chatterbox-Multilingual 모델은 다음 23개 언어를 지원합니다:

    🌍 지원 언어 목록

    아랍어(ar) • 덴마크어(da) • 독일어(de) • 그리스어(el) • 영어(en) • 스페인어(es) • 핀란드어(fi) • 프랑스어(fr) • 히브루어(he) • 힌디어(hi) • 이탈리아어(it) • 일본어(ja) • 한국어(ko) • 말레이어(ms) • 네덜란드어(nl) • 노르웨이어(no) • 폴란드어(pl) • 포르투갈어(pt) • 러시아어(ru) • 스웨덴어(sv) • 스와힐리어(sw) • 터키어(tr) • 중국어(zh)

    📦 설치 방법

    Chatterbox를 설치하는 방법은 매우 간단합니다.

    📦 pip로 설치 (추천)

    pip install chatterbox-tts
     

    🛠️ 소스에서 설치

    최신 개발 버전을 사용하거나 코드를 수정하려는 경우 소스에서 설치할 수 있습니다:

    # conda 환경 생성 (권장)
    conda create -yn chatterbox python=3.11
    conda activate chatterbox
    
    # 리포지토리 복제
    git clone https://github.com/resemble-ai/chatterbox.git
    cd chatterbox
    
    # 패키지 설치
    pip install -e .
     

    ⚠️ 시스템 요구사항

    • Python 3.11 권장
    • CUDA 지원 GPU (NVIDIA)
    • Debian 11에서 개발 및 테스트 완료
    • 종속성 버전은 pyproject.toml에 고정되어 있음
    728x90

    🚀 Chatterbox-Turbo 사용법

    가장 가볍고 빠른 Chatterbox-Turbo 모델 사용법을 알아보겠습니다.

    🎬 Chatterbox-Turbo 예제 (app.py)

    import torchaudio as ta
    import torch
    from chatterbox.tts_turbo import ChatterboxTurboTTS
    
    # Turbo 모델 로드
    model = ChatterboxTurboTTS.from_pretrained(device="cuda")
    
    # 감정 태그가 포함된 텍스트
    text = "Hi there, James here from MochaFone calling you back [clear throat], have you got one minute to chat about the billing issue?"
    
    # 음성 생성 (참고 클립 필요)
    wav = model.generate(text, audio_prompt_path="my-voice.wav")
    
    # 음성 저장
    ta.save("test-turbo.wav", wav, model.sr)
     

    모델 설명 재생
    Chatterbox-Turbo app.py 실행결과 생성된 음성파일

    😊 감정 태그 사용

    Turbo 모델은 다음과 같은 감정 태그를 원래부터 지원합니다:

    태그 설명 예시
    [laugh] 웃음 "That's funny [laugh]"
    [chuckle] 낄낄거림 "Let me explain [chuckle]"
    [cough] 기침 "Excuse me [cough]"
    [breath] 숨소리 "Okay [breath]"

    🌍 다국어 TTS 사용법

    🎬 Chatterbox-Multilingual 예제(app2.py)

    Chatterbox-Multilingual 모델을 사용하여 한국어를 포함한 23개 언어로 음성을 생성할 수 있습니다.

    import torchaudio as ta
    from chatterbox.mtl_tts import ChatterboxMultilingualTTS
    
    # Multilingual 모델 로드
    multilingual_model = ChatterboxMultilingualTTS.from_pretrained(device="cuda")
    
    # 한국어 예시
    korean_text = "안녕하세요, 오늘 날씨가 정말 좋네요. 즐거운 주말 보내시길 바랍니다."
    wav_korean = multilingual_model.generate(korean_text, language_id="ko")
    ta.save("test-korean.wav", wav_korean, multilingual_model.sr)
    
    # 영어 예시
    english_text = "Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus."
    wav_english = multilingual_model.generate(english_text, language_id="en")
    ta.save("test-english.wav", wav_english, multilingual_model.sr)
    
    # 프랑스어 예시
    french_text = "Bonjour, comment ça va? Ceci est le modèle de synthèse vocale multilingue Chatterbox."
    wav_french = multilingual_model.generate(french_text, language_id="fr")
    ta.save("test-french.wav", wav_french, multilingual_model.sr)
     

    모델 언어 설명 재생
    Multilingual 한국어 (ko) 안녕하세요, 오늘 날씨가 정말 좋네요. 즐거운 주말 보내시길 바랍니다.
    Multilingual 영어 (en) Ezreal and Jinx teamed up with Ahri, Yasuo, and Teemo to take down the enemy's Nexus.
    Multilingual 프랑스어 (fr) Bonjour, comment ça va? Ceci est le modèle de synthèse vocale multilingue Chatterbox.

    🎛️ Chatterbox Original 사용법

    🎬 Chatterbox Original 모델 예제(app3.py)

    창의적 제어가 필요한 경우 Chatterbox Original 모델을 사용합니다.

    import torchaudio as ta
    from chatterbox.tts import ChatterboxTTS
    
    # Original 모델 로드
    model = ChatterboxTTS.from_pretrained(device="cuda")
    
    # 기본 TTS
    text = "The quick brown fox jumps over the lazy dog."
    wav = model.generate(text)
    ta.save("test-original.wav", wav, model.sr)
    
    # 음성 복제 (오디오 프롬프트 지정)
    AUDIO_PROMPT_PATH = "my-voice.wav"
    wav = model.generate(text, audio_prompt_path=AUDIO_PROMPT_PATH)
    ta.save("test-voice-clone.wav", wav, model.sr)
     
    모델 모드 재생
    Chatterbox Original 기본 TTS
    Chatterbox Original 음성 복제

    ⚙️ 고급 튜닝 팁

    Chatterbox Original 모델은 다음과 같은 파라미터로 음성을 세밀하게 조정할 수 있습니다:

    🎛️ 주요 파라미터

    1) cfg_weight (Classifier-Free Guidance Weight)
    - 기본값: 0.5
    - 범위: 0.0 ~ 1.0
    - 낮을수록 더 자연스러운 말투, 높을수록 프롬프트에 더 가깝게 따름

    2) exaggeration
    - 기본값: 0.5
    - 범위: 0.0 ~ 1.0
    - 높을수록 더 표현적이고 극적인 음성

    3) 추천 설정

    • 일반적인 TTS/음성 에이전트: exaggeration=0.5, cfg_weight=0.5
    • 빠른 말투의 화자: cfg_weight=0.3으로 낮추면 속도 개선
    • 표현적/극적인 연기: exaggeration=0.7+, cfg_weight=0.3

    🔒 워터마크 추출

    🔍 워터마크 추출 예제(app4.py)

    모든 Chatterbox 생성 음성에는 PerTh (Perceptual Threshold) Watermark가 포함되어 있습니다. 이는 인간의 귀에는 들리지 않지만, AI가 감지할 수 있는 보이지 않는 워터마크입니다.

    import perth
    import librosa
    
    AUDIO_PATH = "test-turbo.wav"
    
    # 워터마크된 오디오 로드
    watermarked_audio, sr = librosa.load(AUDIO_PATH, sr=None)
    
    # 워터마커 초기화
    watermarker = perth.PerthImplicitWatermarker()
    
    # 워터마크 추출
    watermark = watermarker.get_watermark(watermarked_audio, sample_rate=sr)
    print(f"추출된 워터마크: {watermark}")
    # 출력: 0.0 (워터마크 없음) 또는 1.0 (워터마크 있음)

    ℹ️ 워터마크 특징

    • MP3 압축 후에도 감지 가능
    • 오디오 편집 후에도 유지
    • 거의 100% 감지 정확도
    • Resemble AI의 PerTh 라이브러리 사용

    🎯 맺음말

    오늘은 Resemble AI의 Chatterbox에 대해 알아보았습니다. 제로샷 음성 복제감정 태그 지원, 다국어 TTS 기능은 AI 음성 생성의 새로운 가능성을 보여줍니다. 특히 Chatterbox-Turbo의 350M 가벼운 모델과 1단계 디코딩 기술은 실시간 AI 음성 에이전트 개발에 큰 도움이 될 것입니다.

    Chatterbox는 다음과 같은 분들에게 특히 유용합니다:

    • AI 음성 에이전트 개발자 (실시간 대화 봇)
    • 오디오북, 내레이션 제작자
    • 게임, 애니메이션 성우 대체
    • 다국어 음성 서비스 제공자
    • 음성 복제 연구자 및 개발자

    여러분도 Chatterbox를 한번 사용해 보시길 추천드리면서, 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.

    📦 GitHub 소스 코드 다운로드

    이 블로그에서 사용한 Chatterbox 예제 코드app.py는 제 GitHub 저장소에서 무료로 다운로드하실 수 있습니다!

    📦 GitHub 저장소

    https://github.com/jmpark333/Chatterbox

    📋 저장소 내용

    • app.py: Chatterbox TTS 실행 예제 코드
    • 생성된 음성 파일들: test-*.wav 샘플 파일들
    • my-voice.wav: 음성 복제에 사용된 참고 음성

    🔧 사용 방법

    # 저장소 복제
    git clone https://github.com/jmpark333/Chatterbox.git
    cd Chatterbox
    
    # 가상환경 생성 및 활성화
    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # 또는
    venv\Scripts\activate  # Windows
    
    # Chatterbox 설치
    pip install chatterbox-tts
    
    # app.py 실행
    python app.py
     

    GitHub 저장소에 ⭐ Star를 눌러주시면 더욱 유익한 콘텐츠를 만드는 데 큰 도움이 됩니다!

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    📚 참고 자료

    https://fornewchallenge.tistory.com/

     

     

     

     

     

     

    728x90