Tłumaczenie automatyczne · Oryginał angielski
MOSS- VoiceGenerator
Zbuduj natywną obsługę SDK z głównego źródła. Homebrew i inne wcześniej zbudowane wydania CLI mogą jeszcze nie zawierać tych silników.
Native MLX voice design from a exact script and a voice instruction. Mono PCM at 24 kHz; nie jest wymagane rejestrowanie odniesienia.
MOSS- VoiceGenerator zachowuje wagę językową BF16 i kodek syntezy FP32. Użyj --stream dla przyrostowego PCM. Omit --language oraz umieścić wymagania językowe w --instruct, a zakończenie wysysa wszystkie szesnaście kodebook.
Budowa źródła SDK
git clone --single-branch --branch main https://github.com/soniqo/speech-swift.git
cd speech-swift
make buildOpublikowane pakiety MLX: aufklarer/MOSS-VoiceGenerator-MLX-bf16
Linia poleceń
.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.wavDostarcz jeden argument tekstowy, --instruct, i dokładnie jeden katalog pakietów lub kompatybilny model ID. Referencyjne audio, stałe głośniki i wejście wsadowe są nieobsługiwane.
Każde pole tekstowe i instruktażowe jest ograniczone do bajtów 32,768 UTF-8. Kompletny wyświetlony sygnał wejściowy, w tym jego szablon, musi mieścić się w żetonach 4,096, przy czym wejścia przekraczające każdą z wartości granicznych są odrzucane.
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()Pomiary w czasie pracy w skrypcie skróconym
M5 Pro, 48 GiB, Release. Jeden krótki neutralny skrypt na język; mediatorzy trzech ciepłych żądań po pierwszym. Weryfikacja obciążenia i wagi są wykluczone; bufory systemu plików były ciepłe. RTF = czas ścianki / czasu audio, niższy. Pamięć fizyczna jest procesem high-water przez załadunek i cztery żądania, w dziesiętnym GB.
| Skrypt | Audio (s) | Ciepłe pierwsze PCM (-i) | RTF | Szczytowa pamięć fizyczna (GB) |
|---|---|---|---|---|
| Angielski | 3.44 | 0.470 | 0.610 | 8.448 |
| Mandarynka | 4.88 | 0.457 | 0.572 | 8.619 |
English timing audio ma nierozwiązane nieporozumienia rozpoznawalne: Parakeet dodaje finał "i"; Qwen3-ASR pasuje do pełnego skryptu. Oba wyniki są zachowane.
Zakres zatwierdzenia
Pomiary krótkiego skryptu opisują testowaną konfigurację; istniejący model certyfikacji opóźniania pozostaje nierozstrzygający.