Strojový překlad · Anglický originál
MOSS- TTS- Nano
Streamování syntézy řeči a klonování hlasu s úlomky CoreML, 48 kHz stereo audio a 80 ms.
Apache-2.0 · aufklarer / MOSS-TTS-Nano-100M-CoreML
CLI
speech speak "Hello world." --engine moss-nano -o hello.wav
speech speak "The weather is nice today." --engine moss-nano \
--voice-sample reference.wav --moss-nano-seed 1 -o cloned.wav
speech speak "Hello world." --engine moss-nano --stream --play -o streamed.wavPoužijte --voice-sample pro hlasové klonování; není potřeba žádný referenční přepis. Odkazy na mononukleární jsou duplikovány na stereo, přetvořeny na 48 kHz a polstrovány na hranici 80 ms. Zakódujte reference jednou a znovu své kódy napříč požadavky.
--moss-nano-model | aufklarer / MOSS-TTS-Nano-100M-CoreML | Model úložiště nebo lokální adresář |
--moss-nano-compute-units | cpu | cpu nebo gpu |
--moss-nano-max-frames | 300 | Maximálně 80 ms snímků; vyžaduje se přirozený EOS |
--moss-nano-seed | 0 | Reprodukovatelné osivo Swift pro odběr vzorků |
Swift API
import AudioCommon
import MossTTSNano
let model = try await MossTTSNanoModel.fromPretrained()
let reference = try await model.encodeReference(url: referenceURL)
let result = try await model.synthesize(
text: "The weather is nice today.", reference: reference,
options: MossTTSNanoOptions(maxFrames: 300, seed: 1))
try WAVWriter.writeStereo(left: result.left, right: result.right,
sampleRate: 48000, to: outputURL)MossTTSNanoModel serializuje žádosti a vytváří čerstvé CoreML stav pro každé utce. syntetizovat a syntetizeStream zachovat stereo; SpeechGenerationModel vrací mono downmix. Pass jazyk: nula. Streams konec s prázdnou finální marker.
Mezní hodnoty a měření
macOS 15+ / iOS 18+; čtyři sestavené grafy celkem 367.6 MB. Prompt, reference a požadované rámy sdílejí a 1,024-řádek kontext. runtime odmítá přetečení a vyvolává chybu, pokud maxFrames je dosaženo před přirozeným end- of- proslovu. CPU je výchozí; gpu povolení CPU+GPU poprava. PCG64 odběr vzorků používá semínka kompatibilní s NumPy-; číselné rozdíly v backendu mohou ještě změnit výstup.
Python/CoreML na M5 Pro, 48 GB, macOS 26.6.2; oddělené čerstvé procesy, pět teplých požadavků na případ. Klonování používá 2.72-second reference. První / teplotní patří referenční čtení, kódování a kódování kódování, cached reuses reference codes. Syntetický model zatížení je vyloučen. RSS obsahuje plné Python pracovník, bez PyTorch nebo ASRNejsou. Swift nebo iPhone měření a neměří reproduktor podobnost.
| Backend | Vrchol RSS | První token: první / teplý / cachovaný | První zvuk: první / teplý / cached |
|---|---|---|---|
| CPU | 779 MiB | 542 / 203 / 52 ms | 563 / 216 / 65 ms |
| CPU+GPU | 731 MiB | 649 / 225 / 24 ms | 741 / 245 / 48 ms |
Swift · Vydání
Původní Swift vydání CLI na stejném M5 Pro: jeden požadavek na čerstvý proces, se stejným odkazem, textem a semenem. Referenční příprava je zahrnuta; syntetizované-model zatížení je vyloučeno. RSS pokrývá celou CLI bez závaží ASR. Odpady znamenají neměřené teplé / cache případy. Oba výstupy prošly nezávislým ASR s přesně požadovanou větou.
| Backend | Vrchol RSS | První token: první / teplý / cachovaný | První zvuk: první / teplý / cached |
|---|---|---|---|
| CPU | 670.7 MiB | 537 / - | 560 / - / |
| CPU+GPU | 602.5 MiB | 570 / - / - ms | 645 / - / - ms |