FireRedTTS3-Instruct

실험적

네이티브 SDK 지원은 main 소스에서 빌드하세요. Homebrew 등 미리 빌드된 CLI 릴리스에는 이 엔진들이 아직 포함되지 않았을 수 있습니다.

정확한 대본과 음성 지시로 목소리를 설계하는 네이티브 MLX 구현입니다. 참조 녹음 없이 24 kHz 모노 PCM을 출력합니다.

FireRedTTS3-Instruct는 모델과 디코더의 Float32 가중치를 유지합니다. 완성된 오디오를 한 번에 반환하므로 --stream을 생략하세요. --language는 영어와 중국어 별칭을 허용합니다. 생성 한도에 도달하면 잘린 오디오를 성공으로 반환하지 않고 오류를 냅니다.

SDK 소스 빌드

구현 (PR #541): main

git clone --single-branch --branch main https://github.com/soniqo/speech-swift.git
cd speech-swift
make build

공개된 MLX 번들: aufklarer/FireRedTTS3-Instruct-MLX-fp32

명령줄

.build/release/speech speak "The weather is beautiful today." \
  --engine fireredtts3 \
  --fireredtts3-model-id aufklarer/FireRedTTS3-Instruct-MLX-fp32 \
  --instruct "A calm adult female voice, speaking warmly and clearly." \
  --seed 2 --output firered.wav

텍스트 인수, --instruct, 번들 디렉터리 또는 호환 모델 ID 중 정확히 하나를 지정하세요. 참조 오디오, 고정 화자, 배치 입력은 지원하지 않습니다.

텍스트와 지시 필드는 각각 UTF-8 32,768바이트로 제한됩니다. 템플릿을 포함해 렌더링한 전체 입력 프롬프트는 4,096토큰 이하여야 합니다. 어느 한도든 넘으면 입력을 거부합니다.

지시 TTS 옵션

Swift API

import FireRedTTS3TTS

let model = try await FireRedTTS3Model.fromPretrained(
    modelId: "aufklarer/FireRedTTS3-Instruct-MLX-fp32")
let output = try await model.generateWithPlan(
    text: "The weather is beautiful today.",
    instruction: "A calm adult female voice, speaking warmly.")
let pcm = output.samples
model.unload()

짧은 대본 실행 측정

M5 Pro, 48 GiB, Release. 언어당 짧은 중립 대본 하나를 사용하고 첫 요청 뒤 세 번의 웜 요청 중앙값을 표시합니다. 로딩과 가중치 검증은 제외하며 파일 시스템 캐시는 예열했습니다. RTF = 처리 시간 / 오디오 길이로 낮을수록 빠릅니다. 물리 메모리는 로딩과 네 요청 전체의 프로세스 최고값이며 십진 GB 단위입니다.

대본오디오 (s)웜 실행 완전한 PCM (s)RTF최대 물리 메모리 (GB)
영어2.724.4991.65410.819
표준 중국어5.2811.2212.12511.700

검증 범위

지시 준수 품질은 아직 채점하지 않았습니다. 짧은 대본 측정은 시험한 구성만 설명하며 기존 모델의 지연 회귀 검증은 결론을 내리지 못했습니다.

네이티브 지시 TTS

출처