Hugging Face

fishaudio/drama-3

Fish Audio Drama 3: 여러 인물과 긴 콘텐츠를 위한 음성 합성 모델

Fish Audio가 여러 화자의 대화와 긴 콘텐츠 생성을 겨냥한 350억 파라미터 텍스트 음성 변환 모델 Drama 3를 공개했습니다. H200 한 장에서 측정한 스트리밍 성능과 보코더를 별도 GPU에 배치했을 때의 처리량·첫 오디오 지연도 함께 제시했습니다.

에디터 노트

동시 요청이 많을 때는 보코더를 별도 GPU에 배치하는 설정이 수치상 뚜렷한 이점을 보입니다. 256개 요청에서 처리량이 약 72% 늘고 TTFA 중앙값이 약 37% 줄었다는 비교는 배포 구성이 체감 지연에 직접 영향을 준다는 점을 보여줍니다. 다만 이 수치는 H200에서 정해진 프롬프트와 생성 설정으로 얻었으므로 다른 GPU나 입력 조건의 성능을 보장하지 않습니다. 여러 화자 태그와 이전 생성 내용을 활용한 편집 예시도 제시하지만, 평가 자료에는 음질이나 화자 일관성을 비교한 수치가 없습니다.

AI 요약

Drama 3는 Fish Audio의 차세대 텍스트 음성 변환(Text-to-Speech, TTS) 모델입니다. 여러 인물이 등장하는 장면과 긴 음성 콘텐츠를 대상으로 하며, 여러 화자 생성, 음성 복제, 자연어 제어를 지원합니다. 텍스트 백본은 전체 350억 파라미터 규모의 Mixture of Experts(MoE) 구조이고 토큰마다 활성화되는 파라미터는 30억 개입니다. 전체 어텐션과 선형 어텐션을 함께 쓰며, 오디오 디코더는 10개 코드북을 전체 시퀀스에 걸쳐 인과적으로 디코딩하는 Codebook-MTP 방식입니다. MoE 전문가 가중치는 FP8로, 나머지 가중치는 bf16으로 저장합니다.

여러 화자와 긴 입력 처리

텍스트 안에 <|speaker:0|>부터 <|speaker:15|>까지 화자 태그를 넣어 한 입력에서 최대 16명의 인물을 지정합니다. 태그는 대사뿐 아니라 한숨이나 웃음 같은 사건이 일어날 위치에도 넣을 수 있습니다. 제공된 예시에서는 기존 음성 클립과 해당 전사문을 참조로 넘기고, 텍스트에 [sighs], [laughs]를 배치해 음성을 생성합니다. 긴 텍스트는 자동으로 청크 단위로 나누며, 청크별 스트리밍을 지원합니다.

음성 편집 예시에서는 references에 참조 음성과 전사문을 지정하고 previous_takes에 앞서 생성한 문장을 전달합니다. 예를 들어 수요일 정오 마감 문장을 목요일 정오로 바꾸고, 다시 목요일 오후 5시로 고치는 과정을 이전 문장 기록과 함께 입력합니다. 모델 카드의 설명은 이전 VQ 토큰을 보내는 방식도 언급하지만, API 예시는 previous_takes에 텍스트를 담아 전달합니다.

SGLang-Omni 배포

출시 시점부터 SGLang-Omni에서 실행할 수 있습니다. 저장소를 복제하고 Fish Audio용 의존성을 설치한 뒤, sgl-omni serve 명령에 fishaudio/drama-3 모델 경로와 포트를 지정해 서버를 띄우는 절차를 제시합니다. 파이프라인 단계를 프로세스와 GPU에 배치하는 방식은 모델 코드가 아니라 배포 설정으로 정합니다. 이 설정을 활용해 보코더를 엔진과 같은 GPU에 둘 때와 별도 GPU에 둘 때의 성능을 비교했습니다.

H200 스트리밍 측정

첫 번째 표는 NVIDIA H200 한 장에서 Seed-TTS 영어 프롬프트를 사용해 측정했습니다. 각 요청은 전사문이 있는 사전 인코딩 참조 음성 하나를 사용하고, temperature 1.0, top_p 0.9, top_k 30, max_new_tokens 500으로 설정했습니다. 처리량은 초당 생성한 음향 프레임 수이며 TTFA는 첫 오디오가 나올 때까지 걸린 시간입니다. RTF는 요청부터 마지막 청크까지 걸린 시간을 반환된 오디오 길이로 나눈 값입니다. 각 수치는 네 차례 실행의 평균입니다.

동시 요청이 1개일 때 처리량은 초당 166.7프레임이고 TTFA 중앙값은 88.9ms, 95백분위는 90.8ms입니다. 동시 요청이 16개면 처리량은 927.6프레임으로 늘고 TTFA 중앙값은 210.1ms, 평균 RTF는 0.373입니다. 64개에서는 처리량이 1,687.3프레임에 이르지만 TTFA 중앙값은 450.9ms, 95백분위는 1,020.1ms, 평균 RTF는 0.801로 높아집니다. 모델 카드는 동시 요청 16개에서도 재생 속도보다 약 2.7배 빠르게 오디오를 생성한다고 설명합니다.

두 번째 표는 동시 요청 128개와 256개에서 보코더 배치를 비교합니다. 보코더를 엔진 GPU에 둔 구성은 요청 단계마다 1,088건을 보내고 서버를 여섯 차례 시작한 평균이며, 기본 GPU 할당량을 사용했습니다. 동시 요청 256개에서 이 구성의 처리량은 초당 2,422프레임, TTFA 중앙값은 3,403ms입니다. 보코더를 별도 GPU에 옮기면 처리량은 4,160프레임으로 약 72% 증가하고 TTFA 중앙값은 2,146ms로 약 37% 낮아집니다. 해당 구성의 TTFA 95백분위는 2,469ms입니다. 처리량에는 각 스트림을 끝내는 종료 음성 프레임도 포함합니다.

모델은 Fish Audio Community License로 배포됩니다. 설치와 배포, 스트리밍 API 예시는 Drama 3 Cookbook에서 제공합니다.

원문: Hugging Face / 번역·요약: Trawling