CSM-1B 음성 생성 모델: 완벽 설치 및 사용 가이드 (2025)
목차
- 개요: CSM-1B란 무엇인가?
- 주요 기능 및 사양
- 설치 가이드: 단계별 접근법
- 사용 방법: 코드 예제
- 데모 및 테스트 방법
- 제한사항 및 고려사항
- 자주 묻는 질문 (FAQ)
- 결론 및 추가 자료
개요: CSM-1B란 무엇인가?
CSM-1B(Conversational Speech Model 1B)는 2025년 3월 13일에 공개된 sesame의 최신 음성 생성 모델입니다. 이 모델은 텍스트와 오디오 입력을 받아 RVQ(Residual Vector Quantization) 오디오 코드를 생성하며, 자연스러운 대화형 음성 생성에 특화되어 있습니다.
CSM-1B는 Llama 백본 아키텍처와 Mimi 오디오 코드를 생성하는 작은 오디오 디코더를 결합하여 총 1.55B 파라미터로 구성되어 있으며, Google의 AudioLM, Microsoft의 VALL-E, Meta의 MusicGen과 같은 모델에서 사용되는 유사한 기술을 활용합니다.
주요 기능 및 사양
다음 표는 CSM-1B 모델의 핵심 사양을 요약한 것입니다:
항목 사양
모델 이름 | CSM-1B (Conversational Speech Model) |
개발자 | sesame |
파라미터 수 | 1.55B |
텐서 타입 | F32 |
아키텍처 | Llama 백본 + Mimi 오디오 디코더 |
입력 형식 | 텍스트, 오디오 |
출력 형식 | RVQ 오디오 코드 |
공개 날짜 | 2025년 3월 13일 |
호스팅 위치 | Hugging Face |
필요 하드웨어 | CUDA 호환 GPU (CUDA 12.4/12.6 테스트됨) |
설치 가이드: 단계별 접근법
CSM-1B 모델을 설치하고 사용하기 위한 단계별 가이드입니다:
1. 사전 요구사항
- CUDA 호환 GPU
- Python 3.10 (권장)
- ffmpeg (일부 오디오 작업에 필요)
- Hugging Face 계정
2. 환경 설정
# GitHub 저장소 클론
git clone git@github.com:SesameAILabs/csm
# 디렉토리 이동
cd csm
# 가상 환경 생성 및 활성화
python3.10 -m venv .venv
source .venv/bin/activate # Linux/Mac
# 또는
# .venv\Scripts\activate # Windows
3. 필요 패키지 설치
# 필수 패키지 설치
pip install -r requirements.txt
# Windows 사용자를 위한 추가 설치 (호환성 이슈 해결)
# pip install triton-windows # triton 대신 사용
4. Hugging Face 로그인
모델 액세스를 위해 Hugging Face 계정으로 로그인이 필요합니다:
huggingface-cli login
중요: CSM-1B 저장소는 접근이 제한되어 있으며, Hugging Face에서 연락처 정보를 공유하는 데 동의해야 파일에 접근할 수 있습니다.
사용 방법: 코드 예제
기본 텍스트에서 오디오 생성
가장 기본적인 오디오 생성 예제입니다:
from generator import load_csm_1b
import torch
import torchaudio
# 가용한 디바이스 선택
device = "mps" if torch.backends.mps.is_available() else "cuda" if torch.cuda.is_available() else "cpu"
generator = load_csm_1b(device)
# 텍스트에서 오디오 생성
audio = generator.generate(
text="안녕하세요, sesame의 음성 생성 모델입니다.",
speaker=0, # 화자 ID
context=[], # 컨텍스트 없음
max_AUDIO_LENGTH_MS=10000 # 최대 10초
)
# 생성된 오디오 저장
torchaudio.save("audio.wav", audio.unsqueeze(0).cpu(), generator.SAMPLE_RATE)
컨텍스트를 활용한 고급 오디오 생성
다음 예제는 기존 대화 컨텍스트를 기반으로 더 자연스러운 음성을 생성하는 방법을 보여줍니다:
from generator import load_csm_1b, Segment
import torch
import torchaudio
from pathlib import Path
# 모델 로드
device = "cuda" if torch.cuda.is_available() else "cpu"
generator = load_csm_1b(device)
# 기존 대화 컨텍스트 설정
speakers = [0, 1, 0, 0] # 화자 ID 시퀀스
transcripts = [
"안녕하세요, 오늘 기분이 어떠세요?",
"좋아요, 정말 좋아요.",
"저도 아주 좋습니다.",
"오늘 당신과 대화할 수 있어 기쁩니다."
]
audio_paths = [
"utterance_0.wav",
"utterance_1.wav",
"utterance_2.wav",
"utterance_3.wav"
]
# 오디오 파일 로드 함수
def load_audio(path):
return torchaudio.load(path)[0][0]
# 세그먼트 생성
segments = [
Segment(text=t, speaker=s, audio=load_audio(p))
for t, s, p in zip(transcripts, speakers, audio_paths)
]
# 컨텍스트를 활용한 음성 생성
audio = generator.generate(
text="저도요, 이것은 정말 멋진 기술이죠?",
speaker=1,
context=segments,
max_AUDIO_LENGTH_MS=10000
)
# 생성된 오디오 저장
torchaudio.save("response_audio.wav", audio.unsqueeze(0).cpu(), generator.SAMPLE_RATE)
데모 및 테스트 방법
CSM-1B 모델을 로컬에 설치하지 않고도 테스트해볼 수 있는 방법은 다음과 같습니다:
- Hugging Face 공간: sesame/csm-1b 스페이스에서 인터랙티브 데모를 사용해볼 수 있습니다.
- 공식 데모 사이트: 인터랙티브 음성 데모에서 모델의 기능을 체험할 수 있습니다.
- 블로그 포스트: 교차 언캐니 밸리에서 모델의 기술적 배경과 성능에 대한 자세한 정보를 확인할 수 있습니다.
제한사항 및 고려사항
CSM-1B 모델을 사용할 때 다음 사항을 고려해야 합니다:
- 기본 모델 성격: 이 모델은 특정 목소리에 최적화되어 있지 않은 기본 생성 모델입니다.
- 텍스트 생성 불가능: CSM-1B는 오직 오디오 생성만 가능하며, 텍스트 생성 기능은 없습니다.
- 언어 지원 제한: 비영어 언어에 대한 지원은 제한적이며, 훈련 데이터의 오염으로 인해 성능이 낮을 수 있습니다.
- 사용 제한: 사기, 오인정보, 불법 또는 해로운 활동에 모델을 사용하지 마세요.
- 하드웨어 요구사항: 최적의 성능을 위해 CUDA 호환 GPU가 필요합니다.
자주 묻는 질문 (FAQ)
Q: CSM-1B는 실시간 음성 생성이 가능한가요? A: 기본적으로는 실시간 생성을 위해 설계되지 않았으나, 일부 사용자들은 Livekit과 같은 프레임워크를 통해 STT, LLM, TTS를 통합하여 실시간에 가까운 경험을 구현하고 있습니다.
Q: 비영어 언어(한국어, 일본어 등)에서의 성능은 어떤가요? A: 비영어 언어에 대한 지원은 제한적이며, 훈련 데이터의 오염으로 인해 성능이 영어만큼 좋지 않을 수 있습니다.
Q: 모델 사용에 비용이 있나요? A: AI Twin API는 무료로 제공되지만, AI Edit 기능은 기업 고객만 이용할 수 있습니다.
Q: 음성의 감정이나 톤을 조절할 수 있나요? A: 기본 모델에서는 제한적이지만, 컨텍스트를 활용하여 일부 톤과 감정을 조절할 수 있습니다.
Q: 필요한 최소 하드웨어 사양은 무엇인가요? A: CUDA 호환 GPU가 권장되며, CUDA 12.4와 12.6에서 테스트되었습니다. CPU에서도 실행 가능하지만 성능이 현저히 저하될 수 있습니다.
결론 및 추가 자료
CSM-1B는 대화형 음성 생성을 위한 강력한 도구로, 텍스트와 오디오 컨텍스트를 기반으로 자연스러운 음성을 생성할 수 있습니다. 이 가이드에서 제공한 설치 및 사용 지침을 따라 모델을 설정하고, 필요에 따라 호스팅된 데모를 통해 기능을 체험해보세요.