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

Gumamit 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-unitscpucpu o gpu
--moss-nano-max-frames300Maxium 80 ms frames; kailangan ang likas na EOS
--moss-nano-seed0Reproducible 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
CPU779 MiB542 / 203 / 52 ms563 / 216 / 65 ms
CPU+GPU731 MiB649 / 225 / 24 ms741 / 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
CPU670.7 MiB 537 / — / — mga m560 / — / — mga m
CPU+GPU602.5 MiB570 / — / — mga m645 / — / — ms

MostTSNano · OpenMOS