feat: MeloTTS 자동 언어 감지(한/영 혼합 분리 합성) + CosyVoice 비활성화
- 기본 MeloTTS 단일 엔진만 노출(사용자 요청) - AUTO 모드: 입력을 언어별로 분리해 각 언어 음성으로 합성 후 이어붙임 - 판별 불가 구간 기본 언어 = 영어(기본값 영어) - 기본 선택 언어 AUTO(default_language), 프론트 반영 - Dockerfile: CosyVoice 빌드 제거로 이미지 경량화
This commit is contained in:
30
Dockerfile
30
Dockerfile
@@ -34,32 +34,6 @@ COPY warmup.py ./
|
||||
# 한국어/영어 모델 및 부가 데이터 사전 다운로드 (첫 요청 지연 제거)
|
||||
RUN python warmup.py
|
||||
|
||||
# ================= CosyVoice 엔진 (한국어, Apache-2.0) =================
|
||||
# 전용 venv 로 의존성 격리 (MeloTTS 스택과 충돌 방지).
|
||||
COPY vendor/CosyVoice /opt/CosyVoice
|
||||
COPY cosyvoice_worker /opt/cosyvoice_worker
|
||||
|
||||
RUN python -m venv /opt/cosyvoice-venv \
|
||||
&& /opt/cosyvoice-venv/bin/pip install --no-cache-dir "setuptools<81" wheel \
|
||||
&& /opt/cosyvoice-venv/bin/pip install --no-cache-dir torch==2.11.0 torchaudio==2.11.0 \
|
||||
--index-url https://download.pytorch.org/whl/cu128 \
|
||||
&& /opt/cosyvoice-venv/bin/pip install --no-cache-dir --no-build-isolation \
|
||||
-r /opt/cosyvoice_worker/requirements.txt \
|
||||
&& /opt/cosyvoice-venv/bin/pip install --no-cache-dir --no-deps --no-build-isolation \
|
||||
openai-whisper==20231117 tiktoken more-itertools
|
||||
|
||||
# CosyVoice-300M-SFT 모델 베이킹 (한국어 프리셋 화자 '韩语女' 포함, ~5.4GB)
|
||||
ENV COSYVOICE_MODEL_DIR=/models/cosyvoice/CosyVoice-300M-SFT
|
||||
RUN /opt/cosyvoice-venv/bin/python -c "from modelscope import snapshot_download; snapshot_download('iic/CosyVoice-300M-SFT', local_dir='/models/cosyvoice/CosyVoice-300M-SFT')"
|
||||
|
||||
# 빌드 시 1회 로드하여 런타임 프론트엔드(wetext 등)를 이미지에 캐시
|
||||
RUN /opt/cosyvoice-venv/bin/python -c "import sys; sys.path.insert(0,'/opt/CosyVoice'); sys.path.insert(0,'/opt/CosyVoice/third_party/Matcha-TTS'); from cosyvoice.cli.cosyvoice import CosyVoice; CosyVoice('/models/cosyvoice/CosyVoice-300M-SFT', load_jit=False, load_trt=False, fp16=False); print('cosyvoice warmup ok')"
|
||||
|
||||
# 워커 활성화 스위치
|
||||
ENV COSYVOICE_URL=http://127.0.0.1:8001
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
# 기본 MeloTTS 단일 엔진 (자동 언어 감지: 한/영 혼합)
|
||||
EXPOSE 8788
|
||||
CMD ["/entrypoint.sh"]
|
||||
CMD ["uvicorn", "app.server:app", "--host", "0.0.0.0", "--port", "8788"]
|
||||
|
||||
Reference in New Issue
Block a user