Tłumaczenie automatyczne · Oryginał angielski

MOSS- VoiceGenerator

Eksperymentalne

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

Realizacja (PR # 541): main

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

Opublikowane 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.wav

Dostarcz 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.

Instrukcja Opcje TTS

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.

SkryptAudio (s)Ciepłe pierwsze PCM (-i)RTFSzczytowa pamięć fizyczna (GB)
Angielski3.440.4700.6108.448
Mandarynka4.880.4570.5728.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.

Instrukcja dla tubylców TTS

Źródła