Maskinoversettelse · Engelsk original
CLI-referanse
Breeze TTS 2 · Breeze TTS
Engelsk/kinesisk TTS med stemmedesign, referansekloning og retning, og streamet lyd (MLX BF16/8-bit, 24 kHz; forskning/ikke-kommersiell lisens).
speech speak "The quick brown fox jumps over the lazy dog." --engine breeze \
--instruct "A clear, calm English narrator." --stream -o design.wav--breeze-model-id:aufklarer/Breeze-TTS-2-MLX-8bit--breeze-bundle-dir--breeze-cache-limit-mib: Valgfri prosess-videre gjenbrukbar MLX cache budsjett i MiB; 0 deaktiverer cacheing.--breeze-reference-text--breeze-temperature:0.9--breeze-top-k:50--breeze-top-p:1--breeze-cfg-scale:4--breeze-max-frames:750--breeze-seed:42--first-chunk-frames:3--chunk-frames:25
Native Apple Runtime · PocketTTS
PocketTTS legger til opprinnelig CoreML talesyntese til speech-swift. Alle stadier er standard til CPU-beskyttelse. Den engelske Alba-forhåndsinnstilte strømmer 1.920-prøverammer ved 24 kHz (80 ms per ramme).
speech speak "Hello world." --engine pocket --stream \
--pocket-bundle-dir /path/to/bundle --pocket-seed 42 -o hello.wav
# --pocket-model-id, --pocket-max-frames, --list-speakersspeech-kommandoen er inngangspunktet for lokal talebehandling.
Installer med Homebrew
På Apple Silicon med macOS 15 eller nyere, installer CLI ved hjelp av Homebrew:
brew install speech
speech --help
Hvis du vil oppdatere en eksisterende installasjon, kjører du brew upgrade speech.
Alternativ: Bygg fra kilden
I en speech-swift utsjekking, løp make build, deretter bruk .build/release/speech. Se den Komme i gang guiden Forutsetninger og instruksjoner om kildebygging.
omskriver
Overskriv lydfiler til tekst.
speech transcribe <file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<file> | Audiofil å transcribe (WAV, M4A og MP3) | |
--engine | qwen3 | ASR motor: qwen3, qwen3-coreml, parakeet, nemotron, omnilingual, cohere, voxtral, moss, whisper |
--model, -m | 0.6B | Modellvariant: 0.6B, 1.7B, eller full HuggingFace modell ID (kun qwen3) [whisper]: default, turbo, eller full CoreML HuggingFace repo ID.[cohere/voxtral]: INT5 (standard), INT8, FP16, a Hugging Face modell-ID, eller lokal mappe. [moss coreml]: int8 (standard) eller fp16; [moss mlx]: int5 (standard) eller int8. MOSS aksepterer også en kompatibel Hugging Face-arkiv-ID eller lokal katalog. |
--max-tokens | CoreML: 512MLX: 5120 | [moss] Maksimalt generert transkripsjonstokens. |
--kv-cache | fp16 | [moss mlx] Dynamisk KV-kake presisjon: fp16 eller int8. |
--language | Språkhint (valgfritt, ignorert av omnilingual) | |
--window | 10 | [omnilingual] CoreML vindustørrelse i sekunder: 5 eller 10 |
--backend | coreml | [omnilingual/moss] Motor: coreml (Neural Engine) eller mlx (Metal GPU). MOSS MLX gir en dynamisk 131.072-token kontekst; MOSS CoreML bruker en fast 1,024-token tilstand. |
--variant | 300M | [omnilingual mlx] Størrelse: 300M, 1B, 3B, eller 7B |
--bits | 4 | [omnilingual mlx] Kvantiseringsbiter: 4 eller 8 |
--stream | Aktiver streaming transkripsjon med VAD | |
--max-segment | 10 | Maksimal segment varighet i sekunder (strømming) |
--partial | Utelat delvise resultater under tale (strømming) |
Eksempler:
# Basic transcription
speech transcribe recording.wav
# Use larger model
speech transcribe recording.wav --model 1.7B
# CoreML encoder (Neural Engine + MLX decoder)
speech transcribe recording.wav --engine qwen3-coreml
# Use Parakeet (CoreML) engine
speech transcribe recording.wav --engine parakeet
# Use Nemotron Streaming (CoreML, English with native punctuation)
speech transcribe recording.wav --engine nemotron # batch
speech transcribe recording.wav --engine nemotron --stream --partial # streaming
# Omnilingual (CoreML, 1,672 languages)
speech transcribe recording.wav --engine omnilingual # 10 s window
speech transcribe recording.wav --engine omnilingual --window 5 # 5 s window
# Omnilingual (MLX, any length up to 40 s)
speech transcribe recording.wav --engine omnilingual --backend mlx # 300M @ 4-bit
speech transcribe recording.wav --engine omnilingual --backend mlx --variant 1B # 1B @ 4-bit
speech transcribe recording.wav --engine omnilingual --backend mlx --variant 3B --bits 8 # 3B @ 8-bit
speech transcribe recording.wav --engine omnilingual --backend mlx --variant 7B # 7B @ 4-bit
# Cohere Transcribe 2B (MLX, INT5 default)
speech transcribe recording.wav --engine cohere
speech transcribe recording.wav --engine cohere --model int8 --language de
# Voxtral Mini 3B (MLX, INT5 default)
speech transcribe recording.wav --engine voxtral
speech transcribe recording.wav --engine voxtral --model int8 --language fr
# MOSS Transcribe Diarize (CoreML short-form)
speech transcribe recording.wav --engine moss
speech transcribe recording.wav --engine moss --model fp16
# MOSS Transcribe Diarize (MLX 128K offline context; INT5 default)
speech transcribe meeting.wav --engine moss --backend mlx
speech transcribe meeting.wav --engine moss --backend mlx --model int8 --kv-cache int8
# Whisper Large-v3 Turbo (CoreML)
speech transcribe recording.wav --engine whisper
speech transcribe recording.wav --engine whisper --model turbo --language de
# Streaming with VAD
speech transcribe recording.wav --stream --partial
justering
Ordnivå tvangsjustering - få nøyaktige tidsstempler for hvert ord.
speech align <file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<file> | Lydfil | |
--text, -t | Tekst å justere (om utelatt, omskriver først) | |
--model, -m | 0.6B | ASR modell for transkripsjon: 0.6B, 1.7B, eller full ID |
--aligner-model | Tvungen justeringsmodell ID | |
--language | Språkhint |
Eksempler:
# Auto-transcribe then align
speech align recording.wav
# Align with known text
speech align recording.wav --text "Can you guarantee that the replacement part will be shipped tomorrow?"
Snakk
Tekst-til-speech syntese.
speech speak "<text>" [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<text> | Tekst å syntetisere (valgfritt hvis du bruker --batch-file) | |
--engine | qwen3 | TTS motor: qwen3, cosyvoice, voxcpm2, indextts2, f5, higgs, breeze, indic-mio, magpie, eller magpie-coreml, moss-nano, fireredtts3, moss-voicegenerator |
--output, -o | output.wav | Utgang WAV filsti |
--language | english | Språk. Du må ikke bruke høyttalerens indfødte dialekt når --speaker er satt. |
--stream | Aktiver streamingsyntese | |
--voice-sample | Referanselyd for stemmekloning (arbeider med qwen3, cosyvoice, voxcpm2, f5, higgs, og indextts2) | |
--verbose | Vis detaljert tidsberegningsinformasjon |
Qwen3-TTS
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--model | base | Modellvariant: base, customVoice, eller full HF-modell ID |
--speaker | Høyttaler (krever --model customVoice) | |
--instruct | Style instruksjon (CustomVoice-modell) | |
--list-speakers | Liste over tilgjengelige høyttalere og avslutt | |
--temperature | 0.3 | Prøvetemperatur |
--top-k | 50 | Top-k prøvetaking |
--max-tokens | 500 | Maks. polletter (500 = ~ 40s lyd) |
--batch-file | Fil med én tekst per linje for batchsyntese | |
--batch-size | 4 | Maks batchstørrelse for parallell generasjon |
--first-chunk-frames | 3 | Codec-rammer i første streamed bit |
--chunk-frames | 25 | Koderammer per streamet bit |
CosyVoice3 Alternativer
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--speakers | Høyttalerkartlegging for multi-speaker dialog: s1=alice.wav,s2=bob.wav | |
--cosy-instruct | Style instruksjon (overstyrer standard). Kontrollerer stemmestil for CosyVoice3. | |
--turn-gap | 0.2 | Stillhetsforskjell mellom dialog svinger i sekunder |
--crossfade | 0.0 | Crossfade overlapp mellom svinger i sekunder |
--model-id | HuggingFace modell-ID |
VoxCPM2 Alternativer
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--voxcpm2-variant | bf16 | Quantisasjonsvariant: bf16, int8, eller int4. Løser til aufklarer/VoxCPM2-MLX-<variant>. |
--voxcpm2-instruct | Naturlig språklig stemmebeskrivelse (stemmedesign), for eksempel - en ung kvinne, varm og mild -. | |
--voxcpm2-ref-audio | Referanselydfil for kloning (16 kHz mono, resupplert internt). | |
--voxcpm2-prompt-audio / --voxcpm2-prompt-text | Ultimate kloning - par - referanseklipp + dets transkripsjon for prosodi-bevarende kloning. | |
--voxcpm2-cfg-value | 2.0 | Klassifierfri styringsskala for diffusjonsprøven. |
--voxcpm2-timesteps | 10 | Euler løser trinn per generert lydpatch. |
--voxcpm2-max-tokens | 2000 | Maks generert patch før tvangsstopp. |
--voxcpm2-min-tokens | 2 | Mine flekker før stoppehodet får brann. |
--seed | Frø MLX RNG før syntese (deterministisk på tvers av løp). |
IndexTTS2 Alternativer
IndexTTS2 er en null-shot stemme-kloning motor støttet av en utvidet MLX pakke. Det krever --voice-sample og kjører for tiden kun partisyntese.
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--indextts2-model-id | aufklarer/IndexTTS2-MLX-fp16 | HuggingFace modell-ID. Standard til aufklarer/IndexTTS2-MLX-fp16. |
--indextts2-bundle-dir | Last inn en lokal utvidet pakke i stedet for å laste ned fra Hugging Face. | |
--indextts2-emotion-audio | Valgfri følelse/stil referanselyd. Standard til høyttalerreferansen. | |
--indextts2-emotion | Valgfri forhåndsinnstilling eller 8-verdi følelsesvektor. Presets inkluderer eager, happy, excited, og calm. | |
--indextts2-emotion-weight | 1.0 | Skalerer --indextts2-emotion; hold beskjeden når høyttalerens identitet spiller rolle. |
--indextts2-speaking-rate | 1.0 | Talerrate multiplikator fra 0.5 til 1.5; verdier over 1.0 er raskere. |
--indextts2-max-pause | Valgfri hette i lange indre lavenergipauser, i sekunder. | |
--indextts2-s2mel-steps | 15 | S2Mel strømningstrinn (standard 15, ørevalidert; 25 treff oppstrøms nøyaktig) |
F5-TTS
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--f5-reference-text | Referansetranskripsjon: tekstinnholdet i --voice-sample (krevert) | |
--f5-steps | 16 | Flow-matching trinn (standard 16; 32 for maksimal fidelity) |
--f5-cfg-strength | 2.0 | Klassifiseringsfri guidestyrke |
--f5-sway | -1.0 | Sveiprøvetakingskoeffisient |
--f5-speed | 1.0 | Talerate multiplikator |
--f5-seed | 0 | Seed for deterministisk utgang |
--f5-target-rms | 0.1 | Referanse RMS normaliseringsmål |
--f5-model-id | Hugging Face modell ID | |
--f5-bundle-dir | Last inn en pakke fra denne lokale katalogen |
Higgs TTS 3 Alternativer
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--higgs-ref-text | Referansetranskripsjon: tekstinnholdet i --voice-sample (improves kloning) | |
--higgs-temperature | 0.8 | Prøvetemperatur (standard 0.8) |
--higgs-top-p | Terskel for prøvetaking av nukleus (av som standard) | |
--higgs-top-k | Topp-k prøvetaking avskjæring (av som standard) | |
--higgs-max-new-tokens | 2048 | Maks generert lydrammer (25 per sekund) |
--higgs-seed | 0 | Seed for deterministisk utgang |
--higgs-model-id | Hugging Face modell ID | |
--higgs-bundle-dir | Last inn en pakke fra denne lokale katalogen |
Magpie-alternativer
NVIDIA Magpie-TTS Multilingual 357M, 9 språk med 5 bakte høyttalere. Velg motoren med --engine magpie (MLX, standard) eller --engine magpie-coreml (CoreML for de store modellene med MLX som kjører LocalTransformer + lydinnbygginger). Se Magpie guide for den fulle per-språklige G2P neddelingen. Stemmekloning støttes ikke: --voice-sample, --speaker, og --instruct blir avvist med en nyttig feil som peker på --magpie-speaker I stedet.
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--magpie-variant | int4 | MLX-kun. Kvantisering: int4 (247 MB) eller int8 (411 MB). Løser til aufklarer/Magpie-TTS-Multilingual-357M-MLX-<variant>. CoreML motoren bruker INT8 CoreML pakke og ignorerer dette flagget. |
--magpie-speaker | sofia | Baket høyttaler: sofia, aria, jason, leo, eller john. Identiteten er konsekvent på tvers av alle 9-språk og begge motorene. |
--magpie-temperature | 0.6 | Prøvetemperatur (0 = grådig). Bruk 0.6 for japanske - grådige blir fast på den første frasen. |
--magpie-top-k | 80 | Top-k filter for prøvetaking. |
--magpie-max-frames | 500 | Hard cap på kodek rammer (~23 s). |
--magpie-min-frames | 4 | Minimumsrammer før EOS er tillatt. |
--magpie-prephonemized | Behandle inngang som IPA / foneme stream; hoppe over per språk G2P. | |
--list-speakers | Skriv ut 5 bakte høyttalere og avkjør. |
magpie-coreml grotteats: den pakkede NanoCodec spores på et fast 64-rammevindu, så --stream blir avvist. --language ja auto-routes til MLX backend med en strderrnote (CoreML bunten sender ikke JA-tokenizer-ressursene ennå). CoreML motor lat-laster MLX bundten på første syntese for å kjøre den lokale transformer og gjennomsnittlige lydinnleggingen; ren-koreML-utførelse er sporet som en oppfølging.
Eksempler:
# Basic TTS
speech speak "Hello, world!" --output hello.wav
# Voice cloning (Qwen3-TTS)
speech speak "Hello in your voice" --voice-sample reference.wav -o cloned.wav
# Voice cloning (CosyVoice)
speech speak "Hello in your voice" --engine cosyvoice --voice-sample reference.wav -o cloned.wav
# Voice cloning (IndexTTS2)
speech speak "Hello in your voice" --engine indextts2 \
--voice-sample reference.wav --indextts2-speaking-rate 1.35 \
--indextts2-max-pause 0.05 -o indextts2.wav
# CosyVoice multilingual
speech speak "Hallo Welt" --engine cosyvoice --language german -o hallo.wav
# Multi-speaker dialogue
speech speak "[S1] Hello there! [S2] Hey, how are you?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o dialogue.wav
# Inline emotion/style tags
speech speak "(excited) Wow, amazing! (sad) But I have to go..." \
--engine cosyvoice -o emotion.wav
# Combined: dialogue + emotions + voice cloning
speech speak "[S1] (happy) Great news! [S2] (surprised) Really?" \
--engine cosyvoice --speakers s1=alice.wav,s2=bob.wav -o combined.wav
# Custom style instruction
speech speak "Hello world" --engine cosyvoice --cosy-instruct "Speak cheerfully" -o cheerful.wav
# Magpie multilingual TTS — same Aria voice across 9 languages
speech speak "Hello, world." --engine magpie --magpie-speaker aria \
--magpie-temperature 0 -o en.wav
speech speak "Hola mundo." --engine magpie --language es --magpie-speaker aria \
--magpie-temperature 0 -o es.wav
# Japanese needs stochastic sampling
speech speak "こんにちは世界、これは音声合成システムです。" \
--engine magpie --language ja --magpie-temperature 0.6 \
--magpie-top-k 80 --seed 42 -o ja.wav
speech speak --engine magpie --list-speakers
# Magpie CoreML backend (ANE-accelerated, 8 languages, no streaming)
speech speak "Hello world." --engine magpie-coreml --magpie-speaker aria -o en.wav
speech speak "Hola mundo." --engine magpie-coreml --language es \
--magpie-speaker leo -o es.wav
# Japanese auto-routes to MLX (CoreML bundle has no JA tokenizer)
speech speak "こんにちは。" --engine magpie-coreml --language ja -o ja.wav
# Streaming synthesis
speech speak "Long text here..." --stream
# Batch synthesis from file
speech speak --batch-file texts.txt --batch-size 4
# VoxCPM2 — 48 kHz studio output
speech speak "Hello there." --engine voxcpm2 --voxcpm2-variant int8 -o hi.wav
# VoxCPM2 — voice design
speech speak "Welcome to the show." --engine voxcpm2 \
--voxcpm2-instruct "A young woman, warm and gentle voice." -o design.wav
# VoxCPM2 — single-reference cloning
speech speak "This is a cloned voice." --engine voxcpm2 \
--voice-sample speaker.wav -o clone.wav
Instruksjon TTS alternativer
Perfekt: Bygg innfødt SDK støtte fra hovedkilden. Homebrew og andre forhåndsbygde CLI-utgivelser kan ikke inkludere disse motorene ennå.
Implementering (PR #541): main
Publisert MLX pakker: aufklarer/FireRedTTS3-Instruct-MLX-fp32 · aufklarer/MOSS-VoiceGenerator-MLX-bf16
Gi ett tekstargument, --instruct, og nøyaktig én pakkekatalog eller kompatibel modell-ID. Referanselyd, faste høyttalere og satsinngang er ikke støttet.
Hvert tekst- og instruksjonsfelt er begrenset til 32.768 UTF-8 byte. Den fullstendig gjengitte inngangsprompten, inkludert malen, må passe innen 4.096 token. Innganger som overstiger enten grensen avvises.
FireRedTTS3-Instruct beholder Float32-modell og dekodervekter. Det returnerer buffert lyd: omit --stream. Engelsk og kinesisk --language-alias er akseptert. En generasjonsgrense øker en feil i stedet for å returnere avkortet suksess.
MOSS-VoiceGenerator beholder BF16 språkvekter og FP32 syntesekodeken. Bruk --stream for trinnvis PCM. Omit --language og sett språkkrav i --instruct. Fullføring tømmer alle seksten kodebøker.
Instruksjonsfølgende kvalitet er uscoret. Kortskrivne målinger beskriver det testede oppsettet; eksisterende modell latens sertifisering forblir inkonclusive.
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--fireredtts3-bundle-dir | — | Kompatibel lokal eksportert pakke; Velg dette eller modell-ID alternativet. |
--fireredtts3-model-id | — | Publisert kompatibelt MLX bunt-ID; velg denne eller en lokal katalog. |
--fireredtts3-flow-steps | 10 | Flow-trinn per akustisk lapp. |
--fireredtts3-max-patches | 400 | Generasjon cap; å nå den før ferdigstillelse øker en feil. |
--moss-voicegenerator-bundle-dir | — | Kompatibel lokal eksportert pakke; Velg dette eller modell-ID alternativet. |
--moss-voicegenerator-model-id | — | Publisert kompatibelt MLX bunt-ID; velg denne eller en lokal katalog. |
--moss-voicegenerator-max-frames | 750 | Generasjon cap; å nå den før ferdigstillelse øker en feil. |
--moss-voicegenerator-chunk-frames | 3 | Komplett codec-rammer per PCM-bit (1-32). |
--seed | 2 / 42 | Forespørselsfrø: FireRedTTS3 standard til 2; MOSS-VoiceGenerator til 42. |
FireRedTTS3-Instruct · MOSS-VoiceGenerator
Kokoro
Lett tekst-til-speech ved å bruke Kokoro-82M på Neural Engine (CoreML). Ikke-autoregressiv - enkelt viderepass, ~45ms latens.
speech kokoro "<text>" [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<text> | Tekst å syntetisere | |
--voice | af_heart | Stemmeinnstillinger (50 tilgjengelig på tvers av 10 språk) |
--language | en | Språkkode: en, es, fr, hei, det, ja, pt, zh, ko, de |
--output, -o | kokoro_output.wav | Utgang WAV filsti |
--list-voices | Liste over alle tilgjengelige stemmer og utgang | |
--model, -m | HuggingFace modell-ID |
Eksempler:
# Basic Kokoro TTS
speech kokoro "Hello, world!" --voice af_heart -o hello.wav
# French voice
speech kokoro "Bonjour le monde" --voice ff_siwis --language fr -o bonjour.wav
# List all 50 voices
speech kokoro --list-voices
Svar
Full-duplex tale-til-speech dialog ved hjelp av PersonaPlex 7B.
speech respond [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--input, -i | Inngangslyd WAV fil (24kHz mono) (krevet) | |
--output, -o | response.wav | Utgangsrespons WAV fil |
--voice | NATM0 | Stemmeinnstillinger (f.eks. NATM0, NATF1 og VARF0) |
--system-prompt | assistant | Forvalg: assistant, focused, customer-service, teacher |
--system-prompt-text | Egendefinert systemprompttekst (overstyrer forhåndsinnstilling) | |
--max-steps | 200 | Maks generasjonssteg ved 12,5 Hz (~16s) |
--stream | Emit lydbiter under generasjon | |
--compile | Slå på kompilert transformator (varme + kjernefusjon) | |
--list-voices | Liste over tilgjengelige stemmeinnstillinger | |
--list-prompts | Liste over tilgjengelige systempromptinnstillinger | |
--transcript | Skriv ut modellens indre monologtekst | |
--json | Utgang som JSON (transkript, latens, lydsti) | |
--verbose | Vis detaljert tidsberegningsinformasjon |
Samplingsoverstyrer
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--audio-temp | 0.8 | Lydprøvetakingstemperatur |
--text-temp | 0.7 | Tekstprøvetakingstemperatur |
--audio-top-k | 250 | Audio toppk-k-kandidater |
--repetition-penalty | 1.2 | Lydgjentakelsesstraff (1.0 = deaktivert) |
--text-repetition-penalty | 1.2 | Tekstgjentakelsesstraff (1.0 = deaktivert) |
--repetition-window | 30 | Gjentaelsesstraffvindu i rammer |
--silence-early-stop | 15 | Stille rammer før tidlig stopp (0 = deaktivert) |
--entropy-threshold | 0 | Teksten entropi terskel for tidlig stopp (0 = deaktivert) |
--entropy-window | 10 | Konsekutive lav-entropy trinn før tidlig stopp |
Eksempler:
# Basic speech-to-speech
speech respond --input question.wav
# Use a female voice with compiled transformer
speech respond -i question.wav --voice NATF1 --compile
# Stream response and show transcript
speech respond -i question.wav --stream --transcript --verbose
stemmechatt
Live fullduplex samtale med Soniqo, drevet av NVIDIA Nemotron VoiceChat 11B. Mikrofonmodus gjør Apple AEC mulig, streaming RNN-T-tekster, menneskevendende sanntidsmålinger, adaptiv 8 → 2 → 1-trinns stemmeraffinering og avgrenset inn-synkronisering i stedet for en lang stille fangst.
speech voice-chat [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--model, -m | aufklarer/VoiceChat-11B-Perception-MLX-int5 | Hugging Face modell-ID eller komplett lokal pakke. |
--revision | main | Hub revisjon. |
--system-prompt | Overstyre systemets hurtig. | |
--mcp-config | Leverandørnøytral JSON-konfigurasjon for MCP verktøyservere. | |
--mcp-server | alle konfigurerte | Velg en konfigurert server; gjenta å velge mer. |
--mcp-write-policy | allow | Skrivepolicy: umiddelbart allow, modellmediert confirm, eller deny. |
--mcp-timeout-seconds | 15 | MCP tool-call timeout; server oppstart tillater minst 60 sekunder. |
--greet | Be modellen om å hilse først. | |
--no-aec | Deaktiver Apple akustisk ekko kansellering. | |
--no-transcript | Deaktiver live RNN-T brukertekster. | |
--no-rnnt-turn-taking | Slå av NVIDIA RNN-T sikkerhetsspoling. | |
--prebuffer-frames | 3 | 80 ms utgangsrammer bufret før avspilling. |
--max-buffered-frames | 8 | Maks. køet 80 ms mikrofonrammer før stavelyden slippes. |
--max-seconds | Slutt å fange etter så mange sekunder. | |
--input | Les en lydfil i stedet for mikrofonen. | |
--output, -o | Skriv full-context 22.05 kHz WAV. | |
--tail-seconds | 6 | Stillhet lagt til etter filinngang. |
--force-turn-at-end | Tving BOS ved fil EOF; regresjonstester bare. | |
--plain | Bruk kun tilleggs-utgang i stedet for det faste redraw dashboard. | |
--debug-timeline | Vis relativ frase og generert-forklarings-end tidsstempler pluss dekodede verktøy-kall livssyklus hendelser. | |
--terminal-width | 120 | Terminalvisningsbredde. |
--temperature | 0 | Teksttemperatur; 0 er grådig. |
--text-top-p | 1 | Tekst topp-p. |
--guidance | 0.2 | EAR-TTS veiledning styrke. |
--speech-top-p | 0.95 | EAR-TTS topp-p. |
--speech-noise | 0.001 | EAR-TTS-prøvelyd. |
--speech-iterations | 8 | EAR-TTS MaskGIT iterasjoner per ramme. |
--realtime-speech-iterations | 2 | Mellomliggende stemme-refeksjon budsjett som brukes til å beskytte sanntid hastighet; alvorlig overbelastning bruker ett skritt. |
--live-speech-context-seconds | 20 | Nylig lagret EAR-TTS-historie i live-modus; 0 holder full historie. |
Eksempler:
speech voice-chat
speech voice-chat --model /path/to/complete-bundle --prebuffer-frames 3
speech voice-chat --input question.wav --output response.wav
speech voice-chat --mcp-config Examples/VoiceChatMCP/apple-reminders.json
Med MCP aktivert, modell-nativt kall JSON og returnerte verktøyrespons-symboler bruker NVIDIAs tofase asynkrone funksjonssti på en cached stillhet einstallation. Det er ingen transkripsjonsrouter, regulær-uttrykks matcher, påmindelses utkast til tilstand, argumentreparasjon eller skript assisterende svar: sjekkpunktet alene velger et verktøy og dets argumenter. Koordinatoren kun validerer den innfødte JSON, gjelder lese-/skrivepolicy, utfører den valgte MCP operasjonen, og returnerer strukturerte resultater gjennom den utdannede funksjonskanalen. Skriver umiddelbart under standardinnstillingen. allow policy, fjerne den andre bekreftelsessvingen fra påminnelser demo; en identisk fullført skrive er fortsatt undertrykt til frisk bruker tale. confirm bare når modellmediert bekreftelse er uttrykkelig ønsket, eller deny for å nekte å skrive. MCP-kommandoer kjører lokalt med gjeldende brukers filsystem og programrettigheter, så bruk bare pålitelige konfigurasjonsfiler og serverpakker.
Mikrofonoppfattelse og RNN-T-tekster fortsetter mellom modelltrinn, mens ekstern MCP I/O kjører i en egen oppgave. Talebærende mikrofonområder som er tatt opp mens den delte funksjonsbufferen er opptatt, holdes som evaluert inneleggelser og gjenspilt årsaksmessig etter resultatet, så en tekstisert oppfølging er ikke lenger kassert. Replay er begrenset til en gammel semantisk ramme per levende tilbakekallelse; den tilsvarende nye rammen forblir kølig, replay tekst tvinges til PAD, og allerede-utgått lyd blir aldri kødet til høyttaleren. Matching inaktiv EAR-TTS cache posisjoner synkroniser senere i bundet åtte-ramme biter. Dashboardet skiller innfødte oppringsdekoding, MCP rundtur og verktøy-result cache synkronisering. live interleave, resten som brukes av skuespilleren gir, bokføring og systemkonsistens; forgrunnslyd RTF måler ikke noe av det bakgrunnsarbeidet. Når et kall er åpent, hopper den tvangs-PAD-tekstkanalen over sin ubrukte fullvokaleringsprojeksjon. Etter EOTC fryser den tofasede banen det delte språket og EAR-TTS-tidlinjen mens det eksterne resultatet er i vente; mikrofonrammer forblir levende for oppfatning og RNN-T, men ikke blir syntetiske PAD-posisjoner før resultatet. Kjende resultater gjenspilles i bundet 16-token kausal-prefill biter. Live sløyfe leser ett sammenhengende funksjonsbilde og en MCP øyeblikksbilde hver 160 ms i stedet for å ringe flere skuespillere etter hver mikrofonramme. Vanlig samtale beholder den 40-frame RNN-T sikkerhetsspalt, mens en allerede foreslått innfødt verktøykandidat kan forplikte seg etter åtte tomme rammer. Tekst- og funksjonskanalene deler fortsatt én Nemotron-H-buffer, så sammenhengende resultatkvalifisert tale starter først etter at funksjonsresponsen stenger; vilkårlig assistenttale kan ikke sikkert kjøres som en andre årsaksframtid parallelt.
En ren M5 Pro 48 GB-utgivelsesprofil målt 3.56–4.00 sekunder fra slutten av tale til den første modell-autoriserte post-tool tale for tre påminnelse-liste frasinger med en fast 200 ms leverandør. Native JSON dekoding brukt 27–31 trinn i 1.15–1.28 sekunder, og 67-token resultat synkronisert i 0.58–0.72 sekunder. Med en bevisst sakte to-sekunders leverandør, mikrofon arbeid under ventetiden forble 19.6 ms p95 og 19.8 ms maksimalt. En endelig ren kjøre målt 118 ms mikrofon-service p95 og 139 ms p95 senaness utenfor 80 ms fange tidsfrister. Leverandøren legger derfor til svar latens uten frysing fangst; den resterende beregningsgrensen er innfødte anrop decoding pluss delte-cache resultat replay.
Den pakkede demoen eksponerer bare list_reminders, create_reminder, og update_reminder; listefunnet forblir adapter-privat. En flattliggende påminnelse lese dekker hver EventKit-liste og erstatter lange leverandør UUIDs med stabile, øktskopierte referanser som r1. Oppdateringer returnerer en av disse modell-synlige referanser, og adapteren løser det nøyaktig før utførelse; det matcher aldri talte navn eller transkripsjonstekst. Ingen oppdateringer og fraksjonsprioriteringer blir avvist i stedet for rapportert som vellykkede endringer. En kontrollert oppdateringsrevolusjon falt fra 67 innfødte trinn / 5.25 sekunder med en realistisk UUID 37 trinn / ca 2,29 sekunder med r1
Filmodus er den maskinvarefrie reproducerbare banen. --force-turn-at-end er bare for kontrollerte regresjonstester og må ikke rapporteres som naturlig turn-orientering latens.
lydtranslatert
Streaming tale-til-speech oversettelse ved hjelp av Kyutai Hibiki Zero-3B. FR / ES / PT / DE → EN, enkelt binær, ingen sky. Full guide →
speech audio-translate <input.wav> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<input> | Kildelyd WAV-fil (mono, reemplulert til 24 kHz internt) (krevet) | |
--output, -o | translated.wav | Utgang 24 kHz Engelsk WAV fil |
--source-lang | fr | Kildespråk hint (fr, es, pt, de). Auto-detektert; kun metadata. FR + ES er strenge E2E kanarier; PT + DE er best-effort. |
--quantization | 4bit | Variant: 4bit (~2.7 GB) eller 8bit (~3.9 GB) |
--model-id | HuggingFace modell id-overstyring (tar foretrukket fremfor --quantization) | |
--compile | Kjør tidstransformatorens varmeoppvarmingskort før oversettelse | |
--verbose | Utskrift per fase timings (Mimi kode, generasjon, Mimi dekode) | |
--transcript | Skriv ut modellens indre monologe rå SPM token IDs (SPM dekode ledninger er en oppfølging) |
Miljøvariabler
| Variabel | Effekt |
|---|---|
HIBIKI_GREEDY=1 | Tving argmax-dekoding for tekst + mållyd. Reproduserbar - brukt av de strenge CI-kanariene. |
HIBIKI_MODEL_ID | Overstyr standarden aufklarer/Hibiki-Zero-3B-MLX-4bit repo ved kjøring. |
Eksempler:
# Translate a French clip to English
speech audio-translate input_fr.wav -o out_en.wav --source-lang fr
# Spanish, 8-bit, verbose
speech audio-translate input_es.wav -o out.wav --source-lang es --quantization 8bit --verbose
# Deterministic mode (matches the CI regression canaries)
HIBIKI_GREEDY=1 speech audio-translate input_fr.wav -o out.wav --source-lang fr
Vad
Frakoblet taleaktivitetsdeteksjon ved å bruke Pyannote segmentering.
speech vad <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil å analysere |
--model, -m | HuggingFace modell-ID |
--onset | Oppsett terskel (speech start) |
--offset | Forskyvningsgrense (speech end) |
--min-speech | Minimum tale varighet i sekunder |
--min-silence | Minimum stillhet varighet i sekunder |
--json | Utgang som JSON |
vad-strøm
Strømming av taleaktivitetsdeteksjon ved å bruke Silero VAD v5. Prosesserer tale i 32ms biter.
speech vad-stream <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil å analysere |
--engine | VAD motor: mlx (standard) eller coreml |
--model, -m | HuggingFace modell-ID (automatisk valgt av motor) |
--onset | Onset terskel |
--offset | Forskyvningsgrense |
--min-speech | Minimum tale varighet i sekunder |
--min-silence | Minimum stillhet varighet i sekunder |
--json | Utgang som JSON |
--smart-turn | Bekreft hver pause med Smart Turn før du avslutter et segment; midt-sentens pauser slås sammen til ett segment |
--turn-threshold | Smart Turn Fullføringsgrense (standard 0.5) |
--turn-max-silence | Sekunder med stillhet etter en vetoert pause som avslutter segmentet uansett (standard 2.0) |
Drev
Sluttpåvisning med Smart Turn v3.2 (8M params, CoreML, 23 språk). Poeng de siste 8 s i en registrert uttalelse og skriver ut sannsynligheten for at høyttaleren er ferdig, den fullstendige/ufullstendige dommen og inferenstiden.
speech turn <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil med én brukertur (hver prøvehastighet); de siste 8 s brukes |
--threshold | Sannsynlighet ved eller over hvilken turen teller som komplett (standard 0.5) |
--model, -m | HuggingFace modell-ID. Standard til aufklarer/Smart-Turn-v3.2-CoreML |
--model-dir | Lokal katalog som inneholder smart_turn.mlmodelc og config.json; hopper over nedlastingen |
--json | Utgang som JSON |
# Probability, verdict and inference time for one utterance
speech turn utterance.wav
# Custom threshold, JSON output
speech turn utterance.wav --threshold 0.7 --json
# Streaming VAD with Smart Turn confirming each pause
speech vad-stream call.wav --smart-turn --turn-threshold 0.6 --turn-max-silence 1.5
wake
På-device wake-word / keyword spoting ved hjelp av KWS Zipformer (3.49M params, CoreML INT8, 26× sanntid, kun engelsk).
speech wake <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil å analysere |
--keywords | Ett eller flere nøkkelord. Formater: "hey soniqo" (greedy BPE), "hey soniqo:0.15:0.5" (med terskel/boost) ; eller "LIGHT UP|▁ L IGHT ▁UP:0.25:2.0" |
--keywords-file | Nøkkelordfil, én oppføring per linje (samme syntaks som --keywords); # for kommentarer |
--model, -m | HuggingFace modell-ID. Standard til aufklarer/KWS-Zipformer-3M-CoreML-INT8 |
--json | Utgang som JSON |
# Plain phrase, tuned defaults
speech wake recording.wav --keywords "hey soniqo"
# Explicit BPE pieces for phrases the greedy tokenizer gets wrong
speech wake recording.wav --keywords "LIGHT UP|▁ L IGHT ▁UP:0.25:2.0"
# Multiple phrases + JSON output
speech wake recording.wav \
--keywords "lovely child|▁LOVE LY ▁CHI L D:0.25:2.0" \
"for ever|▁FOR E VER:0.25:2.0" \
--json
diarize
Høyttalerdiarisering - identifisere hvem som talte når.
speech diarize <file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<file> | Lydfil å analysere | |
--engine | pyannote | Diariseringsmotor: pyannote, community1 (CoreML + innfødt PLDA/VBx), sortformer, eller nemotron3 |
--nemotron3-backend | coreml | Nemotron 3 motor: coreml eller mlx |
--nemotron3-directory | Valgfri lokal Nemotron 3 modellpakke | |
--nemotron3-compute-units | ane | CoreML beregningsenheter: ane, cpu, gpu, eller all |
--community1-compute-units | ane | Community-1 CoreML beregne enheter: ane, cpu, gpu, eller all |
--num-speakers | Kjent nøyaktig høyttalertall for Community-1 | |
--min-speakers | 1 | Minimum høyttalertall for Community-1 |
--max-speakers | Maksimal høyttalertall for Community-1 | |
--target-speaker | Innrullingslyd for målhøyttalerekstraksjon (bare pyannote) | |
--embedding-engine | mlx | Høyttalerinnbyggingsmotor: mlx eller coreml (kun pyannote) |
--vad-filter | Pre-filter med Silero VAD (kun pyannote) | |
--rttm | Utgang i RTTM-format | |
--json | Utgang som JSON | |
--score-against | Referanse RTTM-fil for å beregne DER |
Eksempler:
# Basic diarization (pyannote, default)
speech diarize meeting.wav
# Community-1 (CoreML + native PLDA/VBx)
speech diarize meeting.wav --engine community1 --min-speakers 2 --max-speakers 6
# End-to-end Sortformer (CoreML, Neural Engine)
speech diarize meeting.wav --engine sortformer
# Nemotron 3 (CoreML or MLX INT8)
speech diarize meeting.wav --engine nemotron3
speech diarize meeting.wav --engine nemotron3 --nemotron3-backend mlx
# RTTM output for evaluation
speech diarize meeting.wav --rttm
# Target speaker extraction (pyannote only)
speech diarize meeting.wav --target-speaker enrollment.wav
# Score against reference
speech diarize meeting.wav --score-against reference.rttm
embed-speaker
Pakk ut en høyttalerinnelegg vektor fra lyd.
speech embed-speaker <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil som inneholder høyttalerstemme |
--engine | mlx (standard) eller coreml for WeSpeaker 256-dim; redimnet2 for vedvarende identitet CoreML 192-dim;camplusplus for CAM++ CoreML 192-dim |
--json | Utgang som JSON |
språk-id
Identifiser det talte språket i en lydfil.
speech language-id <file> [options]
| Mulighet | Beskrivelse |
|---|---|
<file> | Lydfil å klassifisere |
--engine | Inferensmotor: mlx eller coreml |
--model | Overstyr Hugging Face modell-ID |
--top | Antall rangerte språkkandidater |
--json | Utgang av resultatet som JSON |
speech language-id recording.wav --top 5
speech language-id recording.wav --engine coreml --json
denoise
Fjern bakgrunnsstøy ved hjelp av DeepFilterNet3 på Neural Engine.
speech denoise <file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<file> | Inndata lydfil | |
--output, -o | input_clean.wav | Utfilsti |
--model, -m | HuggingFace modell-ID |
Example:
speech denoise noisy-recording.wav -o clean.wav
komponere
Generer 30 s musikk fra en tekstprompt ved hjelp av MAGNET på MLX.
speech compose <prompt> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<prompt> | Tekstprompt som beskriver musikken som skal genereres (f.eks. - lykkelig rock -) | |
--output, -o | magnet.wav | Utgang WAV bane (32 kHz mono) |
--variant | small-int4 | Modellvariant: small-int4, small-int8, medium-int4, eller medium-int8. Løser å aufklarer/MAGNeT-{Small,Medium}-30secs-MLX-{4,8}bit. |
--temperature | 3.0 | Prøvetemperatur, annealed lineært per trinn. |
--top-p | 0.9 | Nucleus prøvetaking terskel. |
--cfg-max | 10.0 | Maks klasse-fri veiledning koeffisient. |
--cfg-min | 1.0 | Min CFG-koeffisient (forseglet ved siden av maskeplanen). |
--steps | 20,10,10,10 | Komma-separerte dekode iterasjoner per kodebok (4 verdier). |
--seed | Tilfeldig frø for reproducerbar utgang. |
Eksempler:
# Default: small-int4, ~10 s wall on M-series for a 30 s clip
speech compose "happy rock" -o happy_rock.wav
# Larger model — better prompt following, slower
speech compose "lo-fi hip hop with mellow piano" --variant medium-int4 -o lofi.wav
# Reproducible
speech compose "energetic EDM with synth lead" --seed 42 -o edm.wav
transcribe-batch
Overskriv en katalog av lydfiler; modellen er lastet én gang.
speech transcribe-batch <input-dir> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<input-dir> | Katalog av lydfiler som skal overføres (WAV, FLAC, etc.) | |
--output-dir | Utgangskatalog for transkripsjonene | |
--engine | qwen3 | ASR motor (same verdier som transskriber) |
--jsonl | Utgangsresultater som JSON linjer, én per fil |
gjenopprette
Gjenopprett tale (denoise + dereverb) med Sidon — CoreML, 48 kHz-utgang.
speech restore <audio-file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--output, -o | input_restored.wav | Utgang WAV filsti (48 kHz) |
--variant | fp16 | Precision / bunt variant |
--compute-units | Core ML plassering for begge stadier: ane, gpu, cpu, alle (standard: vocoder gpu, prediktor auto) |
separate
Separat et musikkspor i stengler (vokaler, trommer, bass, andre).
speech separate <input> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--stems | vocals,drums,bass,other | Stem å trekke ut: vokal, trommer, bass, andre |
--engine | umx | Motor: umx (standard) eller htdemucs (høyere kvalitet) |
--output-dir | Utgangskatalog for transkripsjonene |
oppsample
Audio super-oppløsning med FlashSR - ett-trinns destillert AudioSR, 48 kHz-utgang.
speech upsample <audio-file> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--output, -o | hr.wav | Utgang WAV filsti (48 kHz) |
--variant | int4 | Precision / bunt variant |
--seed | Seed for deterministisk utgang |
qwen3-tts-coreml
Swift støtter 0.6B/256 og 1.7B/1024 bundter; 0.6b forblir standard. Den eksperimentelle 1,7B bunt standard til CPU og krever en forberedt 2048-kanal Float32 .npy høyttaler inneslutting via --speaker-embedding. GPU/ANE og iOS validering forblir separat.
speech qwen3-tts-coreml "<text>" [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--output, -o | output.wav | Utgang WAV filsti |
--language | english | Utgangsspråk |
--model | Hugging Face modell ID | |
--model-directory | — | Lokalt kompilert modell bundt; tar forrang over nedlasting --model. |
--speaker-embedding | — | Forberedt Float32 .npy høyttaler som passer til modellbredden (1024 eller 2048). |
vibevoice
Tekst-til-speech med Microsoft VibeVoice (MLX).
speech vibevoice "<text>" --voice-cache <cache> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--voice-cache, -v | Stemme cache fra vibevoice-encode-voice (krevet) | |
--steps | DPM-Solver inferenssteg (høyere = bedre kvalitet) | |
--cfg | 1.3 | Klassifiseringsfri guidestyrke |
--long-form | Chunked langformet syntese for lange tekster |
vibevoice-encode-voice
Mint en VibeVoice stemme cache fra en referanse opptak pluss transkripsjon.
speech vibevoice-encode-voice <input> "<transcript>" [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
<input> | Referanselydfil | |
<transcript> | Transkript av referanselyden (kun engelsk) | |
--output, -o | Utgangs stemme cache (.safetensors) |
oversetter
Oversett teksten til et målspråk med MADLAD-400 (MLX).
speech translate "<text>" --to <lang> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--to, -t | Målspråkskode (ISO 639-1, f.eks. es, zh, ja) | |
--stream | Stream tokens mens de dekoder | |
--model | Hugging Face modell ID |
clef
Velg mellom tillatte svar ved hjelp av Clef-flash lokalt på Apple Silicon. Utviklingsforhåndsvisning.
speech clef decide request.json
speech clef decide request.json --model-dir /path/to/Clef-flash-9B-MLX-4bit
speech clef decide request.json --offline --max-tokens 4096Forespørselen inneholder tekst i state og en bestilling questions array. Hvert felt har et id og a type: choice med a choices kart, noul for ekte/falske, eller score med bestillinger levels. Utgang er JSON med sannsynlighet, utvalgte svar, tokentelling, modell-last tid og beslutningstid.
Som standard laster kommandoen ned aufklarer/Clef-flash-9B-MLX-4bit. Bruk --model-dir for eksisterende filer eller --offline for cache. token begrenser standard til 4096 og aksepterer 1-16384. Se Clef guide for en fullstendig forespørsel og målt minnebruk.
gliner
Skjemakondisjonert tekstklassifisering og enhet spenner med GLiNER2.5-Decide (MLX). Utviklingspreview: ennå ikke i en utgivelse. Utsett teksten for å lese stdin.
speech gliner classify "<text>" --labels <a,b,c> [options]
speech gliner extract "<text>" --labels <a,b,c> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--variant | int8 | Publiserte vekter å laste ned: fp32, fp16 eller int8 |
--model | Hugging Face lageroverstyre | |
--model-dir | Lokal modellkatalog i stedet for nedlasting | |
--labels | Kommadelte kandidatetiketter (1 til 255, adskilt) | |
--description | Etikettbeskrivelse som etikett=tekst; repeterbar | |
--task | handling | Oppgavenavn i skjemaprompten (kun klassifiser) |
--threshold | 0.5 | Minimumsspenningspoeng (bare ekstrahert) |
--evaluate-layers | Evaluer koder lag ett om gangen for å senke toppminnet | |
--json | JSON med alle sannsynligheter, eller spenner med UTF-16-forsinkelser, pluss timings |
Avatar-motivasjon
Generer NVIDIA Audio2Face-3D avatar-bevegelse koeffisientrammer fra talelyd.
speech avatar-motion <input> [options]
| Mulighet | Standard | Beskrivelse |
|---|---|---|
--output, -o | avatar-motion.jsonl | Utgangs JSONL- filsti |
--model | …James-MLX | Avatar-identitetspakke (James standard; Claire og Mark tilgjengelig) |
--verbose | Skriv ut timing og rammetall |
MOSS-TTS-Nano
Bruk --voice-sample for stemmekloning; ingen referansetranskripsjon er nødvendig. Mono-referanser dupliseres til stereo, resuppleres til 48 kHz og polstret til en 80 ms grense. Kode en referanse en gang og gjenbruke kodene på tvers av forespørsler.
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--moss-nano-model | aufklarer/MOSS-TTS-Nano-100M-CoreML | Modellarkiv eller lokal mappe |
--moss-nano-compute-units | cpu | cpu eller gpu |
--moss-nano-max-frames | 300 | Maksimalt 80 ms rammer; naturlig EOS kreves |
--moss-nano-seed | 0 | Reproduserbar Swift prøvetakingsfrø |
Lokalt innfødt inferens
For 12B, gjentatte tilstøtende verktøy-kall stenge markører umiddelbart etter en fullstendig, validert samtale er forbrukt med det anropet. De oppretter ikke et annet anrop eller endrer argumentene. Standalone markører og feilaktige argument forblir feil; E4B beholder streng håndtering.
For å beholde feil innfødte chatforespørsler, sett failureCaptureDirectory i inferien manifest. Fange er av som standard. Katalogen må nekte gruppe og annen tilgang; nye kataloger bruker 0700 og feilfiler bruker 0600. Filene inkluderer nøyaktige forespørselsorgan, be om ID og feil. Fullførte 12B generasjoner beholder også den gjengitte spørrings-, token-ID-er, rå utgangs- og stoppgrunn før tolking. E4B feil har ingen rågenerasjonspost. Disse lokale filene inneholder konversasjon og verktøyinnhold; HTTP-feil og vellykket forespørsler inkluderer dem ikke.
Valgfri agentDirectory laster en faset Gemma 4 12B Unified INT4 tekstmodell sammen med E4B. Bruk modell: gemma4-12b-it for chat med innfødte verktøy, resultathistorie og kansellering. E4B forblir tilgjengelig for andre forespørsler. Gemma4UnifiedChat bruker den festede MLX tekst implementering og frigjør hver forespørsels KV-cache. Responstolering fjerner kanaldetekter fra returnert tekst. Orphanede verktøyavsluttinger blir avvist som feilaktige svar.
Kildebygg aksepterer --inference-manifest modeller.json å laste iscenelagt Gemma 4 E4B INT4, VoxCPM2, full Whisper Large-v3, og Silero VAD. Denne tjenesten starter offline og avviser ikke-kompatibel modellidentiteter.
speech-server --inference-manifest models.json --port 8080Voxtral TTS
Voxtral 4B TTS 2603 kjører lokalt på Apple Silicon gjennom Voxtral TTS-modulen: 20 forhåndsinnstilte stemmer, ni språk og 24 kHz mono tale.
speech speak "Hello, welcome to Voxtral." --engine voxtral --voxtral-voice casual_male --stream --voxtral-chunk-frames 3 -o hello.wav
speech speak --engine voxtral --list-speakers
speech speak "Bonjour." --engine voxtral --voxtral-voice fr_female --voxtral-max-frames 500 --voxtral-seed 0 -o bonjour.wavBare forhåndsinnstillinger; referanse-audio kloning er utilgjengelig. Lydutgangsstrømmer gjennom SDK, CLI, WebSocket og HTTP PCM. Gi den komplette inngangsteksten opp foran. Modellvekter bruker CC BY-NC 4.0.
Fish Audio Drama 3
Eksperimentell innfødt MLX støtte for Drama 3 er tilgjengelig gjennom FishAudioDrama3Model. En 35B hybrid-attention MoE ryggrad, temporær lydtårn og Fish DAC codec produserer 44,1 kHz mono lyd. 4-biters kontrollpunkt passert bølgeform og uavhengig ASR kontroller for tekst-kun generasjon, referansekloning og CLI-utgang på Apple M5 Pro. 8-bit og BF16 forbli uvalidert.
Minnemodus balanced er standard. Idle MLX buffere er trimmet over 512 MiB ved trinngrenser; dette er ikke en total minnegrense. Globale allokatorgrenser forblir uendret. Velg --fish-drama3-memory-mode unrestricted eller memoryOptions: .unrestricted for ivrig lasting og den forrige cacheing-adferd.
Tekst-bare generasjon utsetter 794,4 MiB referansekoder vekter. Den første referansekodekoder laster og beholder dem, så hold codec.safetensors tilgjengelig til da. Forutsatt referansekoder trenger ikke koder.
Gi fullstendig inntekst. Stemmekloning krever et referanseklipp og dens nøyaktige transkripsjon. Høyttalertags 0-15 og inline følelser støttes. PCM-streaming er tilgjengelig gjennom generateStreaming, generateStream og --stream. Standardbiten inneholder 3 kodekrammer, ca. 139 ms lyd. Automatisk langtekstbiting og streaming av tekstinngang er utilgjengelig. Ved å nå rammegrensekaster en feil.
speech speak "Hello from Drama 3." --engine fish-drama3 --fish-drama3-bundle-dir /path/to/bundle -o hello.wav
speech speak "Hello from Drama 3." --engine fish-drama3 --stream --fish-drama3-chunk-frames 3 -o streamed.wav
speech speak "Hello in the reference voice." --engine fish-drama3 --voice-sample reference.wav --fish-drama3-reference-text "The exact reference transcript." --seed 42 -o cloned.wavimport FishAudioTTS
let model = try await FishAudioDrama3Model.fromBundle(bundleURL, memoryOptions: .balanced)
let pcm = try await model.generate(text: "Hello from Drama 3.", options: .init(seed: 42))| Mulighet | Standard |
|---|---|
--fish-drama3-model-id | mlx-community/fish-audio-drama-3-4bit |
--fish-drama3-bundle-dir | — |
--fish-drama3-reference-text | — |
--fish-drama3-max-frames | 2048 |
--fish-drama3-temperature | 1 |
--fish-drama3-top-k | 30 |
--fish-drama3-top-p | 0.9 |
--voice-sample | — |
--seed | 0 |
--stream | false |
--fish-drama3-chunk-frames | 3 |
--fish-drama3-memory-mode | balanced |
Bygget med Fish Audio. Bundles beholde fellesskapslisensen og NOTICE.