fish-speech
무엇인가
Fish Speech는 텍스트를 음성으로 합성하는 TTS 엔진이다. 최신 모델은 Fish Audio S2 Pro이며, 다국어 음성 생성 모델 계열에 속한다. 클라우드 TTS API가 차지하던 자리를 자체 하드웨어 추론으로 대체한다. 추론 코드와 모델 가중치를 함께 배포한다.
어떻게 동작하나
합성은 Dual-AR 구조로 이루어진다. Slow AR 4B 파라미터가 시간축을 따라 주 의미 코덱북을 예측한다. Fast AR 400M 파라미터가 각 시간 스텝에서 나머지 9개 잔차 코덱북을 생성해 음향 디테일을 복원한다. RVQ 오디오 코덱은 10개 코덱북, 약 21Hz로 동작한다. 사후 학습 정렬에는 GRPO를 쓰고, 데이터 정제·주석에 쓴 동일 모델군을 보상 모델로 재사용한다. SGLang 백엔드에서는 Continuous Batching, Paged KV Cache, CUDA Graph, RadixAttention 기반 프리픽스 캐싱을 사용한다. NVIDIA H200 단일 GPU 기준 RTF 0.195, 첫 오디오까지 약 100ms, 초당 3,000개 이상 음향 토큰을 낸다.
무엇과 다른가
고정 감정 프리셋을 고르는 방식과 달리, 텍스트 안 `[tag]` 문법으로 단어 이하 단위의 운율과 감정을 지정한다. 15,000개 이상의 태그를 지원하며 `[whisper in small voice]`처럼 자유 서술도 받는다. 참조 오디오에 여러 화자가 들어 있으면 화자 ID 토큰으로 구분해 한 번의 생성에 여러 화자를 넣는다. 화자마다 참조 오디오를 따로 올릴 필요가 없다. 확장된 문맥으로 이전 턴 정보를 이어받는 멀티턴 생성도 지원한다. 10~30초 참조 샘플로 음색·말투·감정 성향을 복제하며 추가 파인튜닝은 요구하지 않는다.
어떻게 쓰나
설치, 명령줄 추론, WebUI 추론, 서버 추론, Docker 구성 문서가 공식 문서로 제공된다. SGLang 서버는 SGLang-Omni README를, vLLM Omni 서버는 vLLM-Omni Fish Speech S2 Pro 레시피와 사용자 가이드를 따른다. LLM 에이전트용 진입 안내도 별도로 둔다.
전제와 한계
코드베이스와 모델 가중치 모두 FISH AUDIO RESEARCH LICENSE로 배포되며 위반 시 조치가 취해진다. 불법 사용에 대한 책임은 지지 않으며 DMCA 등 현지법 확인이 전제된다. 스트리밍 성능 수치는 NVIDIA H200 단일 GPU 측정값이다. 모델 변형별 세부 사항은 기술 보고서에 있다.
관련 논문 2
유사 도구
- VoxCPM토크나이저 없이 연속 음성 표현을 직접 생성하는 2B 파라미터 다국어 TTS 모델이다. 30개 언어와 음성 디자인, 48kHz 출력을 지원한다.
- ChatTTSLLM 어시스턴트 대화 장면을 겨냥해 중국어·영어 음성을 합성하는 자기회귀 TTS 모델이다. 웃음·쉼·감탄사를 토큰 단위로 제어한다.
- sherpa-onnx음성 인식·합성·화자 분리·VAD·음원 분리를 ONNX Runtime 위에서 인터넷 없이 실행하는 C++ 추론 엔진이다. 12개 언어 바인딩과 NPU 백엔드를 포함한다.
- openai-edge-ttsOpenAI TTS 엔드포인트를 흉내 내는 로컬 음성 합성 API 서버다. edge-tts를 백엔드로 써서 무료로 mp3·opus 등 오디오를 생성한다.