- FastAPI 백엔드: /api/voices, /api/tts, /api/health - 한국어 메인 + 영어(5종 악센트), 중국어/일본어 UI 제거 - 언어별 목소리 모델 선택, 속도(0.5~2.0x)/피치(±12반음) 조절 - 로그인/사용제한/과금 유도 없음 (무제한 테스트) - NVIDIA GPU 자동 사용 (torch cu128, Blackwell sm_120) - 유저 친화 한국어 UI (frontend) - Docker/compose (GPU 예약), 8788 포트 - MeloTTS(순수 파이썬) 벤더링 + 검증된 버전 고정(constraints)
58 lines
1.8 KiB
Markdown
58 lines
1.8 KiB
Markdown
# 한국어 TTS 스튜디오
|
|
|
|
[MeloTTS](https://github.com/myshell-ai/MeloTTS) 기반의 한국어 우선 음성 합성(TTS) 웹 서비스입니다.
|
|
로그인·과금 없이 무제한으로 사용할 수 있고, GPU(CUDA)를 자동으로 사용합니다.
|
|
|
|
## 주요 특징
|
|
|
|
- 한국어 메인, 영어 병행 지원 (중국어/일본어 UI 제거)
|
|
- 유저 친화적인 웹 UI/UX (한국어 인터페이스)
|
|
- 말하기 속도(0.5x ~ 2.0x)와 피치(-12 ~ +12 반음) 조절
|
|
- 언어별(한국어/영어) 목소리 모델 선택
|
|
- 한국어: 기본 목소리
|
|
- 영어: 미국 / 영국 / 인도 / 호주 / 기본
|
|
- 로그인·사용 횟수 제한·결제 유도 없음 (계속 테스트 가능)
|
|
- NVIDIA GPU 자동 사용 (Blackwell sm_120 / RTX 5050·5070Ti 지원, torch cu128)
|
|
|
|
## 구성
|
|
|
|
```
|
|
app/
|
|
server.py # FastAPI 서버 (API + 정적 프론트엔드 서빙)
|
|
tts_engine.py # MeloTTS 래퍼 (언어별 모델 캐시, 속도/피치)
|
|
frontend/
|
|
index.html # 한국어 UI
|
|
style.css
|
|
app.js
|
|
Dockerfile # torch cu128 + MeloTTS, 모델 사전 다운로드
|
|
docker-compose.yml# GPU 예약 포함
|
|
constraints.txt # 검증된 버전 고정
|
|
requirements.txt
|
|
warmup.py # 빌드 시 모델 미리 캐시
|
|
```
|
|
|
|
## API
|
|
|
|
- `GET /` 웹 UI
|
|
- `GET /api/health` 엔진/GPU 상태
|
|
- `GET /api/voices` 언어별 목소리 목록
|
|
- `POST /api/tts` `{text, language, speaker, speed, pitch}` → WAV
|
|
|
|
## 실행 (.9 도커, 8788 포트)
|
|
|
|
GPU 컨테이너로 빌드 & 실행:
|
|
|
|
```bash
|
|
# .9 로컬 도커 컨텍스트에서
|
|
docker compose up -d --build
|
|
# 또는
|
|
docker build -t tts_site:latest .
|
|
docker run -d --name tts_site --gpus all -p 8788:8788 --restart unless-stopped tts_site:latest
|
|
```
|
|
|
|
접속: http://<호스트>:8788
|
|
|
|
## 라이선스
|
|
|
|
MeloTTS(MIT) 및 각 모델 라이선스를 따릅니다.
|