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

BreezeTTS · CLI · Swift API

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

Swift og CLI-bruk

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-speakers

speech-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]
MulighetStandard Beskrivelse
<file>Audiofil å transcribe (WAV, M4A og MP3)
--engineqwen3ASR motor: qwen3, qwen3-coreml, parakeet, nemotron, omnilingual, cohere, voxtral, moss, whisper
--model, -m0.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-tokensCoreML: 512
MLX: 5120
[moss] Maksimalt generert transkripsjonstokens.
--kv-cachefp16[moss mlx] Dynamisk KV-kake presisjon: fp16 eller int8.
--language Språkhint (valgfritt, ignorert av omnilingual)
--window10[omnilingual] CoreML vindustørrelse i sekunder: 5 eller 10
--backendcoreml[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.
--variant300M[omnilingual mlx] Størrelse: 300M, 1B, 3B, eller 7B
--bits4[omnilingual mlx] Kvantiseringsbiter: 4 eller 8
--stream Aktiver streaming transkripsjon med VAD
--max-segment10 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]
MulighetStandard Beskrivelse
<file> Lydfil
--text, -t Tekst å justere (om utelatt, omskriver først)
--model, -m0.6BASR 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]
MulighetStandard Beskrivelse
<text> Tekst å syntetisere (valgfritt hvis du bruker --batch-file)
--engineqwen3TTS motor: qwen3, cosyvoice, voxcpm2, indextts2, f5, higgs, breeze, indic-mio, magpie, eller magpie-coreml, moss-nano, fireredtts3, moss-voicegenerator
--output, -ooutput.wav Utgang WAV filsti
--languageenglish Språk. Du må ikke bruke høyttalerens indfødte dialekt når --speaker er satt.
--stream Aktiver streamingsyntese
--voice-sampleReferanselyd for stemmekloning (arbeider med qwen3, cosyvoice, voxcpm2, f5, higgs, og indextts2)
--verbose Vis detaljert tidsberegningsinformasjon

Qwen3-TTS

MulighetStandard Beskrivelse
--modelbase 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
--temperature0.3 Prøvetemperatur
--top-k50Top-k prøvetaking
--max-tokens500Maks. polletter (500 = ~ 40s lyd)
--batch-fileFil med én tekst per linje for batchsyntese
--batch-size4Maks batchstørrelse for parallell generasjon
--first-chunk-frames3Codec-rammer i første streamed bit
--chunk-frames25Koderammer per streamet bit

CosyVoice3 Alternativer

MulighetStandard 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-gap0.2Stillhetsforskjell mellom dialog svinger i sekunder
--crossfade0.0Crossfade overlapp mellom svinger i sekunder
--model-idHuggingFace modell-ID

VoxCPM2 Alternativer

MulighetStandard Beskrivelse
--voxcpm2-variantbf16Quantisasjonsvariant: 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-audioReferanselydfil for kloning (16 kHz mono, resupplert internt).
--voxcpm2-prompt-audio / --voxcpm2-prompt-textUltimate kloning - par - referanseklipp + dets transkripsjon for prosodi-bevarende kloning.
--voxcpm2-cfg-value2.0 Klassifierfri styringsskala for diffusjonsprøven.
--voxcpm2-timesteps10Euler løser trinn per generert lydpatch.
--voxcpm2-max-tokens2000Maks generert patch før tvangsstopp.
--voxcpm2-min-tokens2Mine flekker før stoppehodet får brann.
--seedFrø 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.

MulighetStandard Beskrivelse
--indextts2-model-idaufklarer/IndexTTS2-MLX-fp16HuggingFace modell-ID. Standard til aufklarer/IndexTTS2-MLX-fp16.
--indextts2-bundle-dirLast 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-weight1.0 Skalerer --indextts2-emotion; hold beskjeden når høyttalerens identitet spiller rolle.
--indextts2-speaking-rate1.0Talerrate 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-steps15S2Mel strømningstrinn (standard 15, ørevalidert; 25 treff oppstrøms nøyaktig)

F5-TTS

MulighetStandard Beskrivelse
--f5-reference-textReferansetranskripsjon: tekstinnholdet i --voice-sample (krevert)
--f5-steps16Flow-matching trinn (standard 16; 32 for maksimal fidelity)
--f5-cfg-strength2.0 Klassifiseringsfri guidestyrke
--f5-sway-1.0Sveiprøvetakingskoeffisient
--f5-speed1.0Talerate multiplikator
--f5-seed0Seed for deterministisk utgang
--f5-target-rms0.1Referanse RMS normaliseringsmål
--f5-model-idHugging Face modell ID
--f5-bundle-dirLast inn en pakke fra denne lokale katalogen

Higgs TTS 3 Alternativer

MulighetStandard Beskrivelse
--higgs-ref-textReferansetranskripsjon: tekstinnholdet i --voice-sample (improves kloning)
--higgs-temperature0.8 Prøvetemperatur (standard 0.8)
--higgs-top-pTerskel for prøvetaking av nukleus (av som standard)
--higgs-top-k Topp-k prøvetaking avskjæring (av som standard)
--higgs-max-new-tokens2048Maks generert lydrammer (25 per sekund)
--higgs-seed0Seed for deterministisk utgang
--higgs-model-idHugging Face modell ID
--higgs-bundle-dirLast 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.

MulighetStandard Beskrivelse
--magpie-variantint4MLX-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-speakersofiaBaket høyttaler: sofia, aria, jason, leo, eller john. Identiteten er konsekvent på tvers av alle 9-språk og begge motorene.
--magpie-temperature0.6 Prøvetemperatur (0 = grådig). Bruk 0.6 for japanske - grådige blir fast på den første frasen.
--magpie-top-k80Top-k filter for prøvetaking.
--magpie-max-frames500Hard cap på kodek rammer (~23 s).
--magpie-min-frames4Minimumsrammer før EOS er tillatt.
--magpie-prephonemizedBehandle 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.

MulighetStandard 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-steps10Flow-trinn per akustisk lapp.
--fireredtts3-max-patches400Generasjon 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-frames750Generasjon cap; å nå den før ferdigstillelse øker en feil.
--moss-voicegenerator-chunk-frames3Komplett codec-rammer per PCM-bit (1-32).
--seed2 / 42Forespø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]
MulighetStandard Beskrivelse
<text> Tekst å syntetisere
--voiceaf_heartStemmeinnstillinger (50 tilgjengelig på tvers av 10 språk)
--languageen Språkkode: en, es, fr, hei, det, ja, pt, zh, ko, de
--output, -okokoro_output.wav Utgang WAV filsti
--list-voices Liste over alle tilgjengelige stemmer og utgang
--model, -mHuggingFace 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]
MulighetStandard Beskrivelse
--input, -i Inngangslyd WAV fil (24kHz mono) (krevet)
--output, -oresponse.wav Utgangsrespons WAV fil
--voiceNATM0Stemmeinnstillinger (f.eks. NATM0, NATF1 og VARF0)
--system-promptassistantForvalg: assistant, focused, customer-service, teacher
--system-prompt-text Egendefinert systemprompttekst (overstyrer forhåndsinnstilling)
--max-steps200Maks generasjonssteg ved 12,5 Hz (~16s)
--streamEmit 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

MulighetStandard Beskrivelse
--audio-temp0.8 Lydprøvetakingstemperatur
--text-temp0.7 Tekstprøvetakingstemperatur
--audio-top-k250Audio toppk-k-kandidater
--repetition-penalty1.2 Lydgjentakelsesstraff (1.0 = deaktivert)
--text-repetition-penalty1.2 Tekstgjentakelsesstraff (1.0 = deaktivert)
--repetition-window30 Gjentaelsesstraffvindu i rammer
--silence-early-stop15Stille rammer før tidlig stopp (0 = deaktivert)
--entropy-threshold0 Teksten entropi terskel for tidlig stopp (0 = deaktivert)
--entropy-window10Konsekutive 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]
MulighetStandard Beskrivelse
--model, -maufklarer/VoiceChat-11B-Perception-MLX-int5Hugging Face modell-ID eller komplett lokal pakke.
--revisionmainHub revisjon.
--system-promptOverstyre 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-policyallow Skrivepolicy: umiddelbart allow, modellmediert confirm, eller deny.
--mcp-timeout-seconds15MCP tool-call timeout; server oppstart tillater minst 60 sekunder.
--greetBe modellen om å hilse først.
--no-aecDeaktiver Apple akustisk ekko kansellering.
--no-transcriptDeaktiver live RNN-T brukertekster.
--no-rnnt-turn-taking Slå av NVIDIA RNN-T sikkerhetsspoling.
--prebuffer-frames380 ms utgangsrammer bufret før avspilling.
--max-buffered-frames8Maks. køet 80 ms mikrofonrammer før stavelyden slippes.
--max-seconds Slutt å fange etter så mange sekunder.
--inputLes en lydfil i stedet for mikrofonen.
--output, -o Skriv full-context 22.05 kHz WAV.
--tail-seconds6Stillhet 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-width120Terminalvisningsbredde.
--temperature0 Teksttemperatur; 0 er grådig.
--text-top-p1 Tekst topp-p.
--guidance0.2EAR-TTS veiledning styrke.
--speech-top-p0.95EAR-TTS topp-p.
--speech-noise0.001EAR-TTS-prøvelyd.
--speech-iterations8EAR-TTS MaskGIT iterasjoner per ramme.
--realtime-speech-iterations2 Mellomliggende stemme-refeksjon budsjett som brukes til å beskytte sanntid hastighet; alvorlig overbelastning bruker ett skritt.
--live-speech-context-seconds20Nylig 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]
MulighetStandard Beskrivelse
<input> Kildelyd WAV-fil (mono, reemplulert til 24 kHz internt) (krevet)
--output, -otranslated.wav Utgang 24 kHz Engelsk WAV fil
--source-langfr Kildespråk hint (fr, es, pt, de). Auto-detektert; kun metadata. FR + ES er strenge E2E kanarier; PT + DE er best-effort.
--quantization4bitVariant: 4bit (~2.7 GB) eller 8bit (~3.9 GB)
--model-idHuggingFace 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_IDOverstyr 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, -mHuggingFace modell-ID
--onset Oppsett terskel (speech start)
--offsetForskyvningsgrense (speech end)
--min-speechMinimum tale varighet i sekunder
--min-silenceMinimum 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
--engineVAD motor: mlx (standard) eller coreml
--model, -mHuggingFace modell-ID (automatisk valgt av motor)
--onsetOnset terskel
--offsetForskyvningsgrense
--min-speechMinimum tale varighet i sekunder
--min-silenceMinimum stillhet varighet i sekunder
--json Utgang som JSON
--smart-turnBekreft hver pause med Smart Turn før du avslutter et segment; midt-sentens pauser slås sammen til ett segment
--turn-thresholdSmart Turn Fullføringsgrense (standard 0.5)
--turn-max-silenceSekunder 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, -mHuggingFace 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, -mHuggingFace 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]
MulighetStandard Beskrivelse
<file> Lydfil å analysere
--enginepyannoteDiariseringsmotor: pyannote, community1 (CoreML + innfødt PLDA/VBx), sortformer, eller nemotron3
--nemotron3-backendcoremlNemotron 3 motor: coreml eller mlx
--nemotron3-directory Valgfri lokal Nemotron 3 modellpakke
--nemotron3-compute-unitsaneCoreML beregningsenheter: ane, cpu, gpu, eller all
--community1-compute-unitsaneCommunity-1 CoreML beregne enheter: ane, cpu, gpu, eller all
--num-speakers Kjent nøyaktig høyttalertall for Community-1
--min-speakers1Minimum høyttalertall for Community-1
--max-speakers Maksimal høyttalertall for Community-1
--target-speaker Innrullingslyd for målhøyttalerekstraksjon (bare pyannote)
--embedding-enginemlx Høyttalerinnbyggingsmotor: mlx eller coreml (kun pyannote)
--vad-filterPre-filter med Silero VAD (kun pyannote)
--rttm Utgang i RTTM-format
--json Utgang som JSON
--score-againstReferanse 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
--enginemlx (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
--engineInferensmotor: mlx eller coreml
--modelOverstyr 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]
MulighetStandard Beskrivelse
<file> Inndata lydfil
--output, -oinput_clean.wav Utfilsti
--model, -mHuggingFace 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]
MulighetStandard Beskrivelse
<prompt> Tekstprompt som beskriver musikken som skal genereres (f.eks. - lykkelig rock -)
--output, -omagnet.wav Utgang WAV bane (32 kHz mono)
--variantsmall-int4 Modellvariant: small-int4, small-int8, medium-int4, eller medium-int8. Løser å aufklarer/MAGNeT-{Small,Medium}-30secs-MLX-{4,8}bit.
--temperature3.0 Prøvetemperatur, annealed lineært per trinn.
--top-p0.9Nucleus prøvetaking terskel.
--cfg-max10.0Maks klasse-fri veiledning koeffisient.
--cfg-min1.0Min CFG-koeffisient (forseglet ved siden av maskeplanen).
--steps20,10,10,10Komma-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]
MulighetStandard Beskrivelse
<input-dir> Katalog av lydfiler som skal overføres (WAV, FLAC, etc.)
--output-dir Utgangskatalog for transkripsjonene
--engineqwen3ASR 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]
MulighetStandard Beskrivelse
--output, -oinput_restored.wav Utgang WAV filsti (48 kHz)
--variantfp16 Precision / bunt variant
--compute-unitsCore 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]
MulighetStandard Beskrivelse
--stemsvocals,drums,bass,otherStem å trekke ut: vokal, trommer, bass, andre
--engineumxMotor: 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]
MulighetStandard Beskrivelse
--output, -ohr.wav Utgang WAV filsti (48 kHz)
--variantint4 Precision / bunt variant
--seedSeed 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]
MulighetStandard Beskrivelse
--output, -ooutput.wav Utgang WAV filsti
--languageenglish Utgangsspråk
--modelHugging 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]
MulighetStandard Beskrivelse
--voice-cache, -vStemme cache fra vibevoice-encode-voice (krevet)
--stepsDPM-Solver inferenssteg (høyere = bedre kvalitet)
--cfg1.3 Klassifiseringsfri guidestyrke
--long-formChunked 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]
MulighetStandard 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]
MulighetStandard Beskrivelse
--to, -t Målspråkskode (ISO 639-1, f.eks. es, zh, ja)
--streamStream tokens mens de dekoder
--modelHugging 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 4096

Forespø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]
MulighetStandard Beskrivelse
--variantint8Publiserte vekter å laste ned: fp32, fp16 eller int8
--modelHugging Face lageroverstyre
--model-dir Lokal modellkatalog i stedet for nedlasting
--labelsKommadelte kandidatetiketter (1 til 255, adskilt)
--description Etikettbeskrivelse som etikett=tekst; repeterbar
--taskhandling Oppgavenavn i skjemaprompten (kun klassifiser)
--threshold0.5Minimumsspenningspoeng (bare ekstrahert)
--evaluate-layersEvaluer koder lag ett om gangen for å senke toppminnet
--jsonJSON 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]
MulighetStandard Beskrivelse
--output, -oavatar-motion.jsonl Utgangs JSONL- filsti
--model…James-MLXAvatar-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-unitscpucpu eller gpu
--moss-nano-max-frames300 Maksimalt 80 ms rammer; naturlig EOS kreves
--moss-nano-seed0Reproduserbar Swift prøvetakingsfrø

MOSS-TTS-Nano

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 8080

API detaljer

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

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

Les Voxtral TTS guide

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.wav
import 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))
MulighetStandard
--fish-drama3-model-idmlx-community/fish-audio-drama-3-4bit
--fish-drama3-bundle-dir—
--fish-drama3-reference-text—
--fish-drama3-max-frames2048
--fish-drama3-temperature1
--fish-drama3-top-k30
--fish-drama3-top-p0.9
--voice-sample—
--seed0
--streamfalse
--fish-drama3-chunk-frames3
--fish-drama3-memory-modebalanced

Bygget med Fish Audio. Bundles beholde fellesskapslisensen og NOTICE.

4-bits benchmark