MOSS-VoiceGenerator
MLX 번들이 공개되었습니다. SDK 지원에는 아래 리뷰 브랜치(초안 PR #541)가 필요합니다.
정확한 대본과 음성 지시로 목소리를 설계하는 네이티브 MLX 구현입니다. 참조 녹음 없이 24 kHz 모노 PCM을 출력합니다.
MOSS-VoiceGenerator는 BF16 언어 가중치와 FP32 합성 코덱을 유지합니다. 점진적 PCM에는 --stream을 사용하세요. --language를 생략하고 언어 요구사항을 --instruct에 넣으세요. 종료 전에 열여섯 코드북을 모두 비웁니다.
SDK 리뷰 브랜치
SDK 리뷰 브랜치 (PR #541): feat/instructtts-candidates-20261029
git clone --single-branch --branch feat/instructtts-candidates-20261029 https://github.com/soniqo/speech-swift.git
cd speech-swift
make build공개된 MLX 번들: aufklarer/MOSS-VoiceGenerator-MLX-bf16
명령줄
.build/release/speech speak "The little boat crossed the quiet lake before sunset." \
--engine moss-voicegenerator \
--moss-voicegenerator-model-id aufklarer/MOSS-VoiceGenerator-MLX-bf16 \
--instruct "A warm adult female voice, speaking English slowly." \
--stream --seed 42 --output moss.wav텍스트 인수, --instruct, 번들 디렉터리 또는 호환 모델 ID 중 정확히 하나를 지정하세요. 참조 오디오, 고정 화자, 배치 입력은 지원하지 않습니다.
Swift API
import MossVoiceGeneratorTTS
let model = try await MossVoiceGeneratorModel.fromPretrained(
modelId: "aufklarer/MOSS-VoiceGenerator-MLX-bf16")
let output = try await model.generate(
text: "The little boat crossed the quiet lake before sunset.",
instruction: "A warm adult female voice, speaking English slowly.",
options: .init(maxFrames: 150, seed: 42))
let pcm = output.samples
model.unload()짧은 대본 실행 측정
M5 Pro, 48 GiB, Release. 언어당 짧은 중립 대본 하나를 사용하고 첫 요청 뒤 세 번의 웜 요청 중앙값을 표시합니다. 로딩과 가중치 검증은 제외하며 파일 시스템 캐시는 예열했습니다. RTF = 처리 시간 / 오디오 길이로 낮을수록 빠릅니다. 물리 메모리는 로딩과 네 요청 전체의 프로세스 최고값이며 십진 GB 단위입니다.
| 대본 | 오디오 (s) | 웜 실행 첫 PCM (s) | RTF | 최대 물리 메모리 (GB) |
|---|---|---|---|---|
| 영어 | 3.44 | 0.470 | 0.610 | 8.448 |
| 표준 중국어 | 4.88 | 0.457 | 0.572 | 8.619 |
영어 시간 측정 오디오에는 미해결 인식기 불일치가 있습니다. Parakeet은 끝에 “and”를 추가했고 Qwen3-ASR은 전체 대본과 일치했습니다. 두 결과를 보존했습니다.
검증 범위
지시 준수 품질은 아직 채점하지 않았습니다. 짧은 대본 측정은 시험한 구성만 설명하며 기존 모델의 지연 회귀 검증은 결론을 내리지 못했습니다.