Konekäännös · Englanninkielinen alkuperäinen
MOSS-TTS-Nano
Puhesynteesi ja äänen kloonaus, joissa CoreML, 48 kHz:n stereoääni ja 80 ms:n palaset.
Apache-2.0 · aufklarer/MOSS-TTS-Nano-100M-CoreML
KLI
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.wavKäytä --voice-sample äänen kloonauksessa; referenssiä ei tarvita. Monoviitteet toistetaan stereoihin, otetaan uudelleen 48 kHz:iin ja lisätään 80 ms:n rajaan. Koodataan viite kerran ja käytetään uudelleen sen koodit pyynnöissä.
--moss-nano-model | aufklarer/MOSS-TTS-Nano-100M-CoreML | Mallivarasto tai paikallinen hakemisto |
--moss-nano-compute-units | cpu | cpu tai gpu |
--moss-nano-max-frames | 300 | Enintään 80 ms kehykset; luonnollinen EOS vaaditaan |
--moss-nano-seed | 0 | Uusittavissa Swift näytteen siemenet |
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 serialisoi pyyntöjä ja luo tuore CoreML tila kunkin lauseen. syntetisoi ja syntetisoidaStream state stereot; SpeechGenerationModel palauttaa mono downmix. Pass language: noil. Streams päättyy tyhjä lopullinen merkki.
Raja-arvot ja mittaukset
macOS 15+ / iOS 18+; neljä koottua kaaviota yhteensä 367.6 MB. Näppärät, referenssit ja pyydetyt kehykset jakavat 1,024-row asiayhteys. Runtime hylkää ylivuoto ja nostaa virhe, jos maxFrames saavutetaan ennen luonnollista loppua-of-puhe. CPU on oletus; gpu-luvat CPU+GPU teloitus. PCG64 näytteenotossa käytetään NumPy-yhteensopivia siemeniä; taustaosan numeeriset erot voivat vielä muuttaa tuotosta.
Python/CoreML n M5 Pro 48 GB, macOS 26.6.2; erilliset tuoreet prosessit, viisi lämmintä pyyntöä per tapaus. Kloonaus käyttää 2.72- toinen referenssi. Ensimmäinen/lämmin sisältää referenssin, koodaimen latauksen ja koodauksen; välimuistissa uudelleenkäytetään viitekoodeja. Python työntekijä, ilman PyTorchia tai ASR. Nämä eivät ole Swift tai iPhone mittaukset ja eivät mittaa kaiutin samankaltaisuutta.
| Taustaosa | RSS-huippu | Ensimmäinen merkki: ensimmäinen / lämmin / välimuisti | Ensimmäinen ääni: ensimmäinen / lämmin / välimuisti |
|---|---|---|---|
| CPU | 779 MiB | 542 / 203 / 52 ms | 563 / 216/65 ms |
| CPU+GPU | 731 MiB | 649 / 225 / 24 ms | 741 / 245 / 48 ms |
Swift · Julkaisu
Native Swift release CLI samalla M5 Pro: yksi pyyntö per tuoreprosessi, jossa on sama viite, teksti ja siemenet. Reference preparation is included; synteesimallien kuormitusta ei oteta huomioon. RSS kattaa koko CLI:n ilman ASR -painoa. Dashes tarkoittaa mittaamattomia lämpimiä/välimuistitapauksia. Molemmat tuotokset läpäisivät riippumattoman ASR-painon ja tarkasti vaaditun lauseen.
| Taustaosa | RSS-huippu | Ensimmäinen merkki: ensimmäinen / lämmin / välimuisti | Ensimmäinen ääni: ensimmäinen / lämmin / välimuisti |
|---|---|---|---|
| CPU | 670,7 MiB | 537 / | 560 / ... / ms |
| CPU+GPU | 602,5 MiB | 570 / | 645 / ... |