Awtomatikong salin · Orihinal sa Ingles
MOS-TTS-Nano
Nag - uumpog na speech synthesis at voice cloning gamit ang CoreML, 48 kHz stereo audio at 80 ms clues.
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.wavGumamit ng --voice-sample para sa voice cloning; walang reperensiyang transcript ang kinakailangan. mono Ang mga reperensiya ay nagaya sa stereo, muling ini-samp sa 48 kHz at may sapin sa isang 80 ms hangganan. Encode a reference minsan at muling gamitin ang mga code nito sa ibayo ng mga kahilingan.
--moss-nano-model | Aufklarer/MOSS-TTS-Nano-100M-CoreML | Modelong restorasyon o lokal na directory |
--moss-nano-compute-units | cpu | cpu o gpu |
--moss-nano-max-frames | 300 | Maxium 80 ms frames; kailangan ang likas na EOS |
--moss-nano-seed | 0 | Reproducible Swift sampol na binhi |
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)Ang MossTSNanoModel serializes requests at lumilikha ng mga sariwang CoreML estado para sa bawat sinasabi. synthestic and syntheticStream preserve stereo; Ang SpeakGenerationModel ay nagbabalik ng isang mono downmix. Pass language: nil. Streams ay nagtatapos sa isang walang laman na final marker.
Mga Hangganan at mga sukat
macOS 15+ / iOS 18+; apat na tinipong grap na kabuuan 367.6 Ang MB. madalian, reperensiya at hiniling na mga frame ay may kabahaging balangkas 1,024-row konteksto. Ang runtime ay tumatanggi sa pag-apaw at nagpapataas ng isang pagkakamali kung ang maxFrames ay maabot bago ang natural na dulo-of-speech. CPU ang default; gpu permits CPU+GPU pagpatay. PCG64 Ang mga halimbawa ay gumagamit ng mga butong NumbePy-compatiable; ang mga backend na pagkakaiba ng numero ay maaari pa ring magbago ng output.
Python/CoreML sa isang M5 Pro, 48 GB, macOS 26.6.2; magkahiwalay na bagong proseso, limang mainit na kahilingan kada kaso. 2.72-second reference. Una/warm ay kinabibilangan ng reference reading, regulator loading at composition; cached reuses reference code. Synthesis model loading ay hindi isinama. RSS ang buong RSS ay kinabibilangan ng buong full Python manggagawa, walang PyTorch o ASR. Ang mga ito ay hindi Swift o iPhone na sukat at hindi sinusukat ang pagkakatulad ng nagsasalita.
| Likod | Pinakamataas na RS | Unang paunawa: una / mainit / bakterya | Unang audio: una / mainit / nakabalutan |
|---|---|---|---|
| CPU | 779 MiB | 542 / 203 / 52 ms | 563 / 216 / 65 ms |
| CPU+GPU | 731 MiB | 649 / 225 / 24 ms | 741 / 245 / 48 m |
Swift ·Kalayaan
Katutubo Swift ilabas ang CLI sa parehong M5 Pro: isang kahilingan kada bagong proseso, na may parehong reperensiya, teksto at binhi. Reference paghahanda ay kasama; synthesis-model loading ay hindi isinasama. Ang RSS ay sumasaklaw sa buong CLI nang walang buong CLI ASR Mga pabigat. Ang ibig sabihin ng Dashes ay mga hindi naprosesong mga kaso ng mainit/cache. Ang parehong output ay pumasa ng independiyenteng mga kaso. ASR na may eksaktong hinihinging sentensiya.
| Likod | Pinakamataas na RS | Unang paunawa: una / mainit / bakterya | Unang audio: una / mainit / nakabalutan |
|---|---|---|---|
| CPU | 670.7 MiB | 537 / — / — mga m | 560 / — / — mga m |
| CPU+GPU | 602.5 MiB | 570 / — / — mga m | 645 / — / — ms |