Traducere automată · Originalul în engleză

Referință CLI

Breeze TTS 2 · Breeze TTTS

Engleză/Chineză TTS cu design vocal, clonare de referință și direcție și audio transmis (MLX BF16/8-bit, 24 kHz; licență de cercetare/necomercială).

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: opțional proces-la nivel reutilizabil MLX buget cache în MiB; 0 dezactivează caching.
  • --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

Nativ Apple runtime · PocketTTS

PocketTTS adaugă sinteze native CoreML sinteze de vorbire la speech-swift. Toate etapele sunt implicite pentru executarea exclusivă a procesorului. Fluxurile de prefixe engleze Alba sunt 1,920-frame de probe la 24 kHz (80 ms per cadru).

Swift și utilizarea CLI

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

Comanda speech

Instalați cu Homebrew

La Apple Silicon cu macOS 15 sau mai nou, instalaţi CLI utilizând Homebrew:

brew install speech
speech --help

Pentru a actualiza o instalație existentă, executați un discurs de actualizare brew upgrade speech.

Alternativă: construirea din sursă

În speech-swift checkout, run make build, apoi utilizaţi .build/release/speech Vezi... Noțiuni de bază ghid de pornire pentru condițiile prealabile și instrucțiunile de construire a sursei.

transcriere

Transcrie fișierele audio în text.

speech transcribe <file> [options]
OpțiuneImplicit Descriere
<file> Fișier audio de transcris (WAV, M4A. MP3 și CAF)
--engineqwen3Motor ASR: qwen3, qwen3-coreml, parakeet, nemotron, omnilingual, cohere, voxtral, moss, whisper
--model, -m0.6B Variantă model: 0.6B, 1.7B, sau modelul complet HuggingFace ID (numai qwen3) [whisper]: default, turbo, sau complet CoreML HuggingFace repo ID.
[cohere/voxtral]: INT5 (default), INT8, FP16 , un model Hugging Face ID sau un director local. [moss coreml]: int8 (default) sau fp16; [moss mlx]: int5 (default) sau int8. MOSS acceptă, de asemenea, un cod de depozit Hugging Face compatibil sau director local.
--max-tokensCoreML: 512
MLX: 5120
[moss] Jetoane de transcriere generate maxim.
--kv-cachefp16[moss mlx] Precizie dinamică KV-cache: fp16 sau int8.
--languageIndicii lingvistice (opțional, ignorate de omnilingv)
--window10[omnilingual] CoreML dimensiunea ferestrei în secunde: 5 sau 10
--backendcoreml[omnilingual/moss] Platformă: coreml (Neural Engine) sau mlx (Metal GPU). MOSS MLX oferă o dinamică 131,072-context simbolic; MOSS CoreML folosește un fix 1,024- Un semn de stare.
--variant300M[omnilingual mlx] Dimensiune: 300M, 1B, 3B, sau 7B
--bits4[omnilingual mlx] biți de cuantificare: 4 sau 8
--streamActivează transcrierea streamingului cu VAD
--max-segment10 Durata maximă a segmentului în secunde (streaming)
--partialEmit rezultate parțiale în timpul vorbirii (streaming)

Example:

# 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

aliniament

Aliniare forţată la nivelul cuvintelor. Obţineţi ştampile precise de timp pentru fiecare cuvânt.

speech align <file> [options]
OpțiuneImplicit Descriere
<file> Fișier audio
--text, -tText de aliniat (dacă este omis, transcrie mai întâi)
--model, -m0.6BASR model de transcriere: 0.6B, 1.7B sau ID complet
--aligner-modelModel de identificare a aliniatorului forțat
--languageIndicii lingvistice

Example:

# 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?"

Vorbeşte.

Sinteza textului în vorbire.

speech speak "<text>" [options]
OpțiuneImplicit Descriere
<text>Text de sintetizat (opțional, dacă se utilizează --batch-file)
--engineqwen3Motor TTS: qwen3, cosyvoice, voxcpm2, indextts2, f5, higgs, breeze, indic-mio, magpie, sau magpie-coreml, moss-nano, fireredtts3, moss-voicegenerator
--output, -ooutput.wavIeșire WAV calea fișierului
--languageenglish Limba. Omit pentru a utiliza dialectul nativ difuzor atunci când --speaker este setat.
--streamActivează sinteza de streaming
--voice-sampleReference audio pentru clonarea vocii (lucrari cu qwen3, cosyvoice, voxcpm2, f5, higgs, și indextts2)
--verboseAfișează informații detaliate despre sincronizare

Qwen3-TTS Opțiuni

OpțiuneImplicit Descriere
--modelbaseModel de variantă: base, customVoice sau model HF complet ID
--speakerVoce difuzor (necesită --model customVoice)
--instructInstruire stil (model personal)
--list-speakers Lista difuzoarelor disponibile și a ieșirii
--temperature0.3 Temperatura eșantionului
--top-k50 Eșantionare Top-K
--max-tokens500Jetoane maxime (500 = ~40s audio)
--batch-file Fișier cu un text pe linie pentru sinteza lotului
--batch-size4 Dimensiunea maximă a lotului pentru generarea paralelă
--first-chunk-frames3Rame de cod în prima bucată de flux
--chunk-frames25Cadre de cod pe bucată de flux

CosyVoice3 Opțiuni

OpțiuneImplicit Descriere
--speakersMaparea speakerului pentru dialog multi-speaker: s1=alice.wav,s2=bob.wav
--cosy-instruct Stil de instruire (coveride implicit). Controlează stilul vocal pentru CosyVoice3.
--turn-gap0.2Liniştea dintre dialog se schimbă în câteva secunde
--crossfade0.0Crossfade se suprapune între viraje în câteva secunde
--model-idHuggingFace model ID

VoxCPM2 Opțiuni

OpțiuneImplicit Descriere
--voxcpm2-variantbf16 Varianta de cuantificare: bf16, int8, sau int4. Rezoluții la aufklarer/VoxCPM2-MLX-<variant>.
--voxcpm2-instruct Descriere vocală naturală (design vocal), de exemplu "o tânără, caldă și blândă".
--voxcpm2-ref-audio Fișier audio de referință pentru clonare (16 kHz mono, reintrodus intern).
--voxcpm2-prompt-audio / --voxcpm2-prompt-text"Ultimate cloning" pair (clipul de referință) + transcrierea sa pentru clonarea prosodie-conservare.
--voxcpm2-cfg-value2.0Scara de ghidare fără classifier pentru probatorul de difuzie.
--voxcpm2-timesteps10Etapele solutorului Euler per petic audio generat.
--voxcpm2-max-tokens2000Max a generat patch-uri înainte de oprire forţată.
--voxcpm2-min-tokens2Patch-uri min înainte de cap de oprire este permis să tragă.
--seedSeminţe MLX RNG înainte de sinteză (deterministice de-a lungul rulărilor).

IndexTTS2 Opțiuni

IndexTTS2 este un motor cu clonare vocală cu foc zero, susținut de un pachet extins MLX. Este necesar --voice-sample și rulează în prezent numai sinteza seriei.

OpțiuneImplicit Descriere
--indextts2-model-idaufklarer/IndexTTS2-MLX-fp16HuggingFace model ID. Implicit la aufklarer/IndexTTS2-MLX-fp16.
--indextts2-bundle-dir Încarcă un pachet extins local în loc să descarci de la Hugging Face.
--indextts2-emotion-audioaudio de referință opțional emoție/stil. Implicații pentru trimiterea difuzorului.
--indextts2-emotionPreset opţional sau Vector emoţional 8-valoare. eager, happy, excited, și calm.
--indextts2-emotion-weight1.0Scales --indextts2-emotion; păstra modest atunci când difuzor de identitate contează.
--indextts2-speaking-rate1.0 Multiplicatorul ratei de vorbire de la 0.5 la 1.5; valorile peste 1.0 sunt mai rapide.
--indextts2-max-pauseCapac opţional pentru pauze interne lungi de energie scăzută, în câteva secunde.
--indextts2-s2mel-steps15S2Mel trepte de debit (default 15, cu o evaluare a urechii; 25 meciuri în amonte exact)

F5-TTS Opțiuni

OpțiuneImplicit Descriere
--f5-reference-text Transcrierea de referință: conținutul textului de --voice-sample (necesar)
--f5-steps16Etape de măsurare a debitului (default 16; 32 pentru fidelitate maximă)
--f5-cfg-strength2.0 Rezistența de ghidare fără classifier
--f5-sway-1.0 Coeficientul de prelevare a probelor de cale
--f5-speed1.0 Multiplicatorul ratei de vorbire
--f5-seed0 Semințe pentru rezultate deterministe
--f5-target-rms0.1 Obiectivul de normalizare RMS de referință
--f5-model-idHugging Face model ID
--f5-bundle-dir Încarcă un pachet din acest director local

Higgs TTS 3 Opțiuni

OpțiuneImplicit Descriere
--higgs-ref-text Transcrierea de referință: conținutul textului de --voice-sample (îmbunătățește clonarea)
--higgs-temperature0.8 Temperatura eșantionului (default 0,8)
--higgs-top-pPrag de eșantionare Nucleus (în mod implicit)
--higgs-top-k Limita de eșantionare Top-k (în mod implicit)
--higgs-max-new-tokens2048Rame audio maxime generate (25 pe secundă)
--higgs-seed0 Semințe pentru rezultate deterministe
--higgs-model-idHugging Face model ID
--higgs-bundle-dir Încarcă un pachet din acest director local

Opțiuni Magpie

NVIDIA Magpie-TTS Multilingv 357M, 9 limbi cu difuzoare coapte 5. Alegeți backend-ul cu --engine magpie (MLX, implicit) sau --engine magpie-coreml (CoreML pentru modelele mari cu MLX de conducere localTransformer + tabloadings audio). Ghid Magpie pentru defalcarea completă pe limbaj G2P. Clonarea vocală nu este suportată: --voice-sample, --speaker, și --instruct sunt respinse cu o eroare utilă care indică --magpie-speaker În schimb.

OpțiuneImplicit Descriere
--magpie-variantint4 Numai MLX. Cuantificare: int4 (247 MB) sau int8 (411 MB). Rezolvă la aufklarer/Magpie-TTS-Multilingual-357M-MLX-<variant>. Motorul CoreML utilizează pachetul INT8 CoreML și ignoră acest steag.
--magpie-speakersofia Vorbitor coapte: sofia, aria, jason, leo, sau john Identitatea este consistentă în toate limbile 9 și ambele backend-uri.
--magpie-temperature0.6 Temperatura de prelevare a probelor (0 = lacom). Utilizarea 0.6 pentru japoneză se blochează lacom pe prima frază.
--magpie-top-k80 Filtru Top-K pentru eșantionare.
--magpie-max-frames500Capac tare pe rame codec (~23 s).
--magpie-min-frames4Rame minime înainte de EOS permis.
--magpie-prephonemizedTratează intrarea ca IPA / phoneme stream; săriți peste per-limbă G2P.
--list-speakers Printați 5 difuzoare coapte și ieșire.

caveats magpie-coreml: NanoCodec este marcat la o fereastră fixă 64-frame, așa --stream este respinsă. --language ja Autorute către MLX suport cu o notă stderr ( CoreML pachet nu nava active tokenizer JA încă). CoreML motorul leneș-sarcină MLX pachet pe prima sinteză pentru a conduce local Transformer și media de incorporații audio; implementarea pur-CoreML este urmărită ca un follow-up.

Example:

# 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

Instrucțiune TTS opțiuni

Experimental: Construiește nativ SDK suport din sursa principală. Homebrew și alte prebuilt CLI nu pot include încă aceste motoare.

Implementation (PR #541): main

Publicat MLX pachete: aufklarer/FireRedTTS3-Instruct-MLX-fp32 · aufklarer/MOSS-VoiceGenerator-MLX-bf16

Oferă un argument text, --instruct, și exact un director pachet sau model compatibil ID. audio de referință, boxe fixe și intrare lot sunt nesuportate.

Fiecare câmp de text și de instruire este limitat la octeți 32,768 UTF-8. Impexul complet de intrare, inclusiv șablonul său, trebuie să se potrivească în jetoane 4,096 . Intrările care depășesc oricare dintre limite sunt respinse.

FireRedTTS3-Instruct reţine Float32 model şi greutăţi de decodor. Returnează audio tamponat: omite --stream. Engleză şi chineză --language pseudonime sunt acceptate. O limită de generaţie ridică o eroare în loc de a returna succesul trunchiat.

MOSS-VoiceGenerator păstrează BF16 greutăți lingvistice și FP32 codec sinteze. Utilizare --stream pentru PCM incremental. Omit --language și cerințe lingvistice de pus în --instruct.Electrizează toate șaisprezece registre de coduri.

Calitatea de instruire-urmărire este nemarcată. Măsurătorile pe scurt descrie configurarea testată; certificarea latență model existent rămâne neconcludentă.

OpțiuneImplicit Descriere
--fireredtts3-bundle-dir—Gama locală de produse exportate; alege această opțiune sau modelul de ID.
--fireredtts3-model-id— Publicat compatibil MLX pachet ID; alege acest lucru sau un director local.
--fireredtts3-flow-steps10Etapele de curgere per plasture acustic.
--fireredtts3-max-patches400Capac de generaţie; atingerea acestuia înainte de finalizare ridică o eroare.
--moss-voicegenerator-bundle-dir—Gama locală de produse exportate; alege această opțiune sau modelul de ID.
--moss-voicegenerator-model-id— Publicat compatibil MLX pachet ID; alege acest lucru sau un director local.
--moss-voicegenerator-max-frames750Capac de generaţie; atingerea acestuia înainte de finalizare ridică o eroare.
--moss-voicegenerator-chunk-frames3Rame de codec complete per bucată PCM (1–32).
--seed2 / 42Seminţe solicitate: FireRedTTS3 implicit până la 2; MOSS-VoiceGenerator la 42.

FireRedTTS3-Instruct · MOSS-VoiceGenerator

kokoro

Ușor text-to-speech folosind Kokoro-82M pe Neural Engine (CoreML). Non-autoregresiv pass, ~45ms latență.

speech kokoro "<text>" [options]
OpțiuneImplicit Descriere
<text>Text de sintetizat
--voiceaf_heartPreset vocal (50 disponibil în 10 limbi)
--languageen Codul lingvistic: en, es, fr, hi, it, ja, pt, zh, ko, de
--output, -okokoro_output.wavIeșire WAV calea fișierului
--list-voicesEnumeră toate vocile disponibile și ieșirea
--model, -mHuggingFace model ID

Example:

# 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

răspunde

Dialog complet-duplex-vorbire-la-discurs folosind PersonaPlex 7B.

speech respond [options]
OpțiuneImplicit Descriere
--input, -iaudio de intrare WAV fișier (24kHz mono) (necesar)
--output, -oresponse.wav Răspuns la ieșire WAV fișier
--voiceNATM0Preset vocal (de exemplu NATM0, NATF1 și VARF0)
--system-promptassistantPresetat: assistant, focused, customer-service, teacher
--system-prompt-text Textul prompt al sistemului personalizat (presetate suprascrieri)
--max-steps200Pași de generare Max la 12,5Hz (~16s)
--streamEmit bucăți audio în timpul generației
--compileActivează transformatorul compilat (caldmup + fuziunea nucleului)
--list-voicesListă presetări vocale disponibile
--list-promptsListă presetări prompte ale sistemului disponibil
--transcript Tipărește textul monologului interior al modelului
--jsonIeșire ca JSON (transscriere, latență, cale audio)
--verboseAfișează informații detaliate despre sincronizare

Suprascrieri de eșantionare

OpțiuneImplicit Descriere
--audio-temp0.8 Temperatura de prelevare a probelor audio
--text-temp0.7 Temperatura eșantionului text
--audio-top-k250Candidații de top-k audio
--repetition-penalty1.2Pedeapsa pentru repetarea audio (1.0 = dezactivat)
--text-repetition-penalty1.2Pedeapsa de repetiție text (1.0 = dezactivat)
--repetition-window30Fereastra de penalizare a repetițiilor în cadre
--silence-early-stop15Rame de tăcere înainte de oprire timpurie (0 = dezactivat)
--entropy-threshold0Prag de entropie text pentru oprire timpurie (0 = dezactivat)
--entropy-window10Pasi de entropie redusi înainte de oprirea timpurie

Example:

# 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

Voce-chat

Conversație full-duplex live cu Soniqo, alimentată cu NVIDIA Nemotron VoiceChat 11B. Modul microfon permite Apple AEC, streaming RNN-T subtitrări, măsurări în timp real cu care se confruntă oamenii, adaptative 8→2→1 rafinament vocal în trepte și resincronizare de intrare delimitată în loc de o captură lungă silențioasă.

speech voice-chat [options]
OpțiuneImplicit Descriere
--model, -maufklarer/VoiceChat-11B-Perception-MLX-int5Hugging Face model ID sau pachet local complet.
--revisionmainRevizuire Hub.
--system-prompt Suprascrie prompt sistemul.
--mcp-configConfigurație JSON neutru furnizor pentru servere de instrumente MCP.
--mcp-server toate configurate Selectaţi un server configurat; repetaţi pentru a selecta mai mult.
--mcp-write-policyallow Politica de scriere: imediat allow, model-mediate confirm, sau deny.
--mcp-timeout-seconds15MCP timeout instrument-call; pornirea serverului permite cel puțin 60 de secunde.
--greetCere-i modelului să-l întâmpine primul.
--no-aecDezactivează anularea ecoului acustic Apple.
--no-transcriptDezactivează subtitrarea în direct a utilizatorului RNN-T.
--no-rnnt-turn-takingDezactivează NVIDIA RNN-T retractări de siguranță.
--prebuffer-frames3Ramele de ieșire 80 ms tamponate înainte de redare.
--max-buffered-frames8Rame de microfon de 80 ms până când se scade sunetul vechi.
--max-seconds Opriţi capturarea în direct după atâtea secunde.
--input Citiţi un fişier audio în loc de microfon.
--output, -o Scrieţi textul complet 22.05 kHz WAV.
--tail-seconds6Tăcere anexată după intrarea fișierului.
--force-turn-at-endForce BOS la dosar EOF; numai teste de regresie.
--plain Utilizați ieșire numai pentru apendice în locul tabloului de bord fixat pentru redraw.
--debug-timelineAfișează fraze relative și marcaje de timp generate-end-pronunciation plus evenimente decodate ale ciclului de viață al apelului instrumental.
--terminal-width120Lăţimea ecranului terminal.
--temperature0 Temperatura textului; 0 este lacom.
--text-top-p1Text de top-p.
--guidance0.2 Puterea de ghidare AER-TTS.
--speech-top-p0.95EAR-TTS top-p.
--speech-noise0.001 Zgomotul de eşantionare a TTS-UAR.
--speech-iterations8URS-TTS Maskgit iterații per cadru.
--realtime-speech-iterations2 Bugetul intermediar de perfecţionare vocală folosit pentru a proteja viteza în timp real; supraîncărcarea severă foloseşte un pas.
--live-speech-context-seconds20 Istoricul EAR-TTS recent păstrat în modul live; 0 păstrează întreaga istorie.

Example:

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

Cu MCP activat, model-nativ apel JSON și jetoane de instrument-răspuns returnat utiliza NVIDIA bifazice cale funcție asincronă pe o tacere cache încorporare. Nu există nici un router transcriere, regulat-expresie meci, memento proiect de stat, argument repararea, sau răspuns asistent scriptat: punctul de control alege numai un instrument și argumentele sale. Coordonatorul validează JSON nativ, se aplică / scrie politica, execută MCP selectat operațiune, și returnează rezultate structurate prin intermediul canalului de funcție instruit. Scrie executa imediat sub planul implicit allow politica, eliminarea a doua schimbare de confirmare de la demo memento-uri; un scrie identic completat este încă suprimat până la discursul de utilizator proaspăt. confirm numai atunci când confirmarea mediată de model este dorită în mod explicit; sau deny să refuze scrierile. Comenzile MCP rulează la nivel local cu sistemul de fișiere al utilizatorului curent și permisiunile de aplicare, astfel încât să utilizați doar fișiere de configurare de încredere și pachete de server.

Percepția microfonului și legendele RNN-T continuă între pașii de model, în timp ce MCP I/O externă rulează într-o sarcină separată. Regiunile microfonului purtatoare de vorbire capturate în timp ce cache-ul funcției partajate este păstrat ocupat sunt păstrate ca înglobări evaluate și rejucat cauzal după rezultat, astfel încât o urmărire captivată nu mai este aruncată. Replay-ul este limitat la un cadru semantic vechi per callback live; noul cadru corespunzător rămâne la coadă, textul replay este forțat să PAD, și audio deja elapsed nu este niciodată în coada la difuzor. Potrivirea poziție cache-uri Lance-TTS sincronizeaza mai târziu în bucăți de 8 cadre. Tabloul de bord separă apel nativ decodare, tur MCP, și instrument-efecte Cache sincronizare. Decode și liniile de rezultat arată model/cache calcul plus live interleave, rezidualul utilizat de randamentele actorului, evidenţa contabilă şi disputa sistemului; audio pre-ground RTF masoara nici unul dintre aceste lucrări de fundal. Odată ce un apel este deschis, canalul de text fortat-PAD sare peste proiecția sa complet neutilizate-vocabular. După EOTC, calea bifazică îngheță limba comună și TTS EAR în timp ce rezultatul extern este în așteptare; ramele de microfon rămân în direct pentru percepție și RNN-T, dar nu devin poziții PAD sintetice înainte de rezultat. Rezultate cunoscute reluați în limitat 16Bucla live citeşte o imagine coerentă a funcţiei şi una MCP imagine fiecare 160 ms în loc de a face mai multe apeluri actor după fiecare cadru microfon. Conversație obișnuită păstrează 40-cadrul de siguranță RNN-T, în timp ce un candidat deja propus la instrumente native se poate angaja după opt cadre oarbe. Canalele de text și de funcție încă împărtășesc un cache Nemotron-H, astfel încât discursul coerent condiționat de rezultate începe numai după ce răspunsul funcției se închide; discursul asistent arbitrar nu poate rula în siguranță ca un al doilea viitor cauzal în paralel.

Un curat. M5 Pro 48 Profil de eliberare GB măsurat 3.56–4.00 secunde de la sfârșitul discursului la primul model-autored discurs post-instrument pentru trei fraze de memento-list cu un fix 200 ms furnizor. Nativ JSON decodare utilizate 27–31 pași în 1.15–1.28 secunde și 67-rezultat sincronizat în 0.58–0.72 Cu un furnizor lent în mod deliberat de două secunde, funcţionează microfonul în timpul aşteptarea a rămas 19.6 ms p95 şi 19.8 Ms maxim. O ultimă cursă curată măsurată 118 Serviciul-microfon ms p95 şi 139 ms p95 întârziere dincolo de 80 Ms Captura termenele. Prin urmare, furnizorul adaugă răspuns latență fără captură înghețată; limita de calcul rămasă este decodarea apel nativ plus rejudecat-cache rezultat reluare.

Demo-ul grupat se expune doar list_reminders, create_reminder și update_reminder; descoperirea listei rămâne adaptor-privat.Un memento aplatizat acoperă fiecare listă EventKit și înlocuiește IUID-urile cu referințe stabile, cu telescopice, cum ar fi r1.Updatele returnează una dintre aceste referințe vizibile model, iar adaptorul rezolvă exact înainte de execuție; nu se potrivește niciodată numelor vorbite sau textului de transcriere. Actualizările și prioritățile fracționale nu sunt respinse decât dacă furnizorii opţionali rămân nesoluționaționali.Reducția actualizată controlată a scăzut de la 67 de pași nativi / 5.25 secunde cu un UUID realist la 37 de pași/aproximativ 2,29 secunde cu r1

Modul de fișier este calea reproductibilă fără hardware. --force-turn-at-end este doar pentru testele de regresie controlate și nu trebuie să fie raportate ca latență naturală de turn-taking.

audio-translate

Streaming speech-to- speech translation using Kyutai Hibiki Zero-3B. FR / ES / PT / DE → EN, single binar, no cloud. Ghid Full →

speech audio-translate <input.wav> [options]
OpțiuneImplicit Descriere
<input> Sursă audio WAV fișier (mono, reinclus la 24 kHz intern) (necesar)
--output, -otranslated.wavIeșire 24 kHz English WAV fișier
--source-langfrIndicii privind limba sursă (fr, es, pt, de) Autodetectate; numai metadate. FR + ES sunt strict E2E canarii; PT + DE sunt cele mai bune-efort.
--quantization4bit Variantă: 4bit (~2.7 GB) sau 8bit (~3.9 GB)
--model-idHuggingFace model id suprascrie (are prioritate peste --quantization)
--compileRulați trecerea de încălzire transformator temporal înainte de traducerea
--verbose Tipărește calendarul pe fază (Mimi cod, generare, Mimi decodează)
--transcript Imprimă ID-urile SPM brute ale monologului interior al modelului (decodarea cablurilor SPM este o continuare)

Variabile de mediu

Variabilă Efect
HIBIKI_GREEDY=1Force argmax decodare pentru text + tinta audio. Reproducibil
HIBIKI_MODEL_IDDepășire implicit aufklarer/Hibiki-Zero-3B-MLX-4bit repo la termen.

Example:

# 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

Detectarea activităţii vocale offline utilizând segmentarea Pyannote.

speech vad <file> [options]
Opțiune Descriere
<file> Fișier audio de analizat
--model, -mHuggingFace model ID
--onsetPrag de pornire (pornire de vorbire)
--offsetPrag de dezaburire (sfârșit de vorbire)
--min-speech Durata minimă a vorbirii în secunde
--min-silence Durata minimă a tăcerii în secunde
--jsonIeșire ca JSON

vad-stream

Detectarea activității vocale prin streaming folosind Silero VAD v5. Procese speech în bucăți de 32ms.

speech vad-stream <file> [options]
Opțiune Descriere
<file> Fișier audio de analizat
--engineVAD motor: mlx (default) sau coreml
--model, -mHuggingFace model ID (auto-selectat de motor)
--onsetPrag de pornire
--offsetPrag de dezagregare
--min-speech Durata minimă a vorbirii în secunde
--min-silence Durata minimă a tăcerii în secunde
--jsonIeșire ca JSON
--smart-turnConfirmă fiecare pauză cu Smart Turn înainte de a încheia un segment; pauzele de sentinţă medie se îmbină într-un singur segment
--turn-thresholdSmart Turn pragul de finalizare (default 0.5)
--turn-max-silenceSecunde de tăcere după o pauză vetoed care se încheie segmentul oricum (default 2.0)

Întoarce-te.

Detectare finală a turnului cu Smart Turn v3.2 (8M params, CoreML, 23 de limbi). înscrie ultimele 8 s ale unei declaraţii înregistrate şi imprimă probabilitatea ca vorbitorul să fi terminat, verdictul complet/incomplet şi timpul de deducţie.

speech turn <file> [options]
Opțiune Descriere
<file> Fișier audio cu un singur rotire utilizator (orice rată de eșantionare); ultimele 8 s sunt utilizate
--threshold Probabilitate la sau peste care rândul se bazează ca fiind complet (default 0.5)
--model, -mHuggingFace model ID. Implicit la aufklarer/Smart-Turn-v3.2-CoreML
--model-dirDirector local holding smart_turn.mlmodelc și config.json; sare peste descărcare
--jsonIeșire ca 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

trezire.

On-dispecer wake-word / keyword spotting using the KWS Zipformer (3.49M params, CoreML INT8, 26× numai în timp real, numai în limba engleză).

speech wake <file> [options]
Opțiune Descriere
<file> Fișier audio de analizat
--keywords Unul sau mai multe cuvinte cheie. Formate: "hey soniqo" (Greedy BPE), "hey soniqo:0.15:0.5" (cu prag/boost) sau "LIGHT UP|▁ L IGHT ▁UP:0.25:2.0" (sherpa-onnx-stil explicit BPE)
--keywords-fileCuvinte cheie, o intrare pe linie (aceeași sintaxă ca --keywords); # pentru comentarii
--model, -mHuggingFace model ID. Implicit la aufklarer/KWS-Zipformer-3M-CoreML-INT8
--jsonIeșire ca 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

diarizează

Diarizare speaker-ul ? Identifica cine a vorbit când.

speech diarize <file> [options]
OpțiuneImplicit Descriere
<file> Fișier audio de analizat
--enginepyannoteMotor de diarizare: pyannote, community1 (CoreML + PLDA/VBx nativ), sortformer, sau nemotron3
--nemotron3-backendcoremlNemotron 3 backend: coreml sau mlx
--nemotron3-directoryLocală opțională Nemotron 3 pachet model
--nemotron3-compute-unitsane Unități de calcul CoreML: ane, cpu, gpu, sau all
--community1-compute-unitsaneUnităţi de calcul Community-1 CoreML: ane, cpu, gpu, sau all
--num-speakers Vorbitorul exact cunoscut numără pentru Community-1
--min-speakers1 Numărul minim de vorbitori pentru Community-1
--max-speakers Numărul maxim de vorbitori pentru Community-1
--target-speaker Înregistrare audio pentru extragerea difuzorului țintă (numai pyannote)
--embedding-enginemlxMotor de încorporare a boxelor: mlx sau coreml (numai pyannote)
--vad-filterPrefiltru cu Silero VAD (numai pyannote)
--rttmIeșire în format RTTM
--jsonIeșire ca JSON
--score-against Fișier RTTM de referință pentru a calcula DER

Example:

# 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

vorbitor de înglobare

Extragerea unui vector difuzor înglobare din audio.

speech embed-speaker <file> [options]
Opțiune Descriere
<file> Fișier audio care conține voce difuzor
--enginemlx (default) sau coreml pentru WeSpeaker 256-dim; redimnet2 pentru identitatea persistentă CoreML 192-dim. camplusplus pentru CAM++ CoreML 192- dim
--jsonIeșire ca JSON

limba-id

Identificați limba vorbită într-un fișier audio.

speech language-id <file> [options]
Opțiune Descriere
<file> Fișier audio de clasificat
--engineMotor de inferență: mlx sau coreml
--model Suprascrieți ID-ul modelului Hugging Face
--top Numărul de candidați la limbi clasificate
--jsonIeșirea rezultatului ca JSON
speech language-id recording.wav --top 5
speech language-id recording.wav --engine coreml --json

denoise

Se elimină zgomotul de fond care utilizează DeepFilterNet3 la Neural Engine.

speech denoise <file> [options]
OpțiuneImplicit Descriere
<file> Fișier audio de intrare
--output, -oinput_clean.wav Calea fișierului de ieșire
--model, -mHuggingFace model ID

Example:

speech denoise noisy-recording.wav -o clean.wav

compune

Generează 30 de s de muzică dintr-un text prompt folosind MAGNET pe MLX.

speech compose <prompt> [options]
OpțiuneImplicit Descriere
<prompt>Text care descrie cu promptitudine muzica de generat (de exemplu "Happy rock")
--output, -omagnet.wavIeșire WAV cale (32 kHz mono)
--variantsmall-int4Model de variantă: small-int4, small-int8, medium-int4, sau medium-int8. Rezolvații la aufklarer/MAGNeT-{Small,Medium}-30secs-MLX-{4,8}bit.
--temperature3.0 Temperatura de prelevare a probelor, anunată liniar pe etapă.
--top-p0.9Prag de eșantionare Nucleus.
--cfg-max10.0 Coeficientul maxim de ghidare fără clasificare.
--cfg-min1.0Coeficientul CFG min (atins în paralel cu programul de masca).
--steps20,10,10,10Iterații de decodare separate de comă pe codebook (4 valori).
--seed Semințe aleatoare pentru producția reproductibilă.

Example:

# 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

transcriere-batch

Transcrieți un director de fișiere audio; modelul este încărcat o dată.

speech transcribe-batch <input-dir> [options]
OpțiuneImplicit Descriere
<input-dir> Dosarul fișierelor audio de transcris (WAV, FLAC, etc.)
--output-dir Dosarul de ieșire pentru transcrieri
--engineqwen3ASR motor (aceleaşi valori ca transcris)
--jsonl Rezultate de ieșire ca linii JSON, unul per fișier

restabilește

Restaurarea discursului (denoise + dereverb) cu Sidon CoreML, 48 kHz ieșire.

speech restore <audio-file> [options]
OpțiuneImplicit Descriere
--output, -oinput_restored.wavIeșire WAV calea fișierelor (48 kHz)
--variantfp16 Varianta preciziei/pachetului
--compute-unitsCore ML pentru ambele etape: ane, gpu, cpu, toate (default: vocoder gpu, predictor auto)

separate

Separați o piesă muzicală în tulpini (vocale, tobe, bas, altele).

speech separate <input> [options]
OpțiuneImplicit Descriere
--stemsvocals,drums,bass,otherTulpini de extras: vocal, tobe, bas, altele
--engineumxMotor: umx (default) sau htdemucs (calitate superioară)
--output-dir Dosarul de ieșire pentru transcrieri

Eșantionul de creștere

Super-rezoluție audio cu FlashSR bază distilată audioSR, ieșire 48 kHz.

speech upsample <audio-file> [options]
OpțiuneImplicit Descriere
--output, -ohr.wavIeșire WAV calea fișierelor (48 kHz)
--variantint4 Varianta preciziei/pachetului
--seed Semințe pentru rezultate deterministe

qwen3-tts-coreml

Swift suportă 0.6B/256 și 1.7B/1024 pachete; 0.6B rămâne implicit.Experimental 1.7B pachet implicit la CPU și necesită un 2048-canal pregătit Float32 .npy difuzor înglobare prin --speaker-embedding. GPU/ANE și iOS validare rămâne separată.

speech qwen3-tts-coreml "<text>" [options]
OpțiuneImplicit Descriere
--output, -ooutput.wavIeșire WAV calea fișierului
--languageenglish Limba de ieșire
--modelHugging Face model ID
--model-directory—Model local compilat; are prioritate față de descărcarea --model.
--speaker-embedding— Preparate Float32 .npy difuzor care se potrivesc cu lățimea modelului (1024 sau 2048).

vibevoice

Text-to-speech with Microsoft VibeVoice (MLX).

speech vibevoice "<text>" --voice-cache <cache> [options]
OpțiuneImplicit Descriere
--voice-cache, -vCache vocal de la Vibevoice-code-voce (necesar)
--stepsEtapele de deducție DPM-Solver (mai ridicate = o calitate mai bună)
--cfg1.3 Rezistența de ghidare fără classifier
--long-form Sinteza cu formă lungă pentru texte lungi

Vibevoice-code-voice

Ment un Cache voce VibeVoice de la o înregistrare de referință plus transcriere.

speech vibevoice-encode-voice <input> "<transcript>" [options]
OpțiuneImplicit Descriere
<input> Fișier audio de referință
<transcript>Transcriptul audio de referință (numai în limba engleză)
--output, -oCache-ul vocal de ieșire (.securizare)

traduce

Tradu textul într-o limbă țintă cu MADLAD-400 (MLX).

speech translate "<text>" --to <lang> [options]
OpțiuneImplicit Descriere
--to, -t Codul lingvistic al țintei (ISO 639-1, de exemplu es, zh, ja)
--streamJetoane Stream ca acestea decodează
--modelHugging Face model ID

clef

Alegeți din răspunsurile permise folosind Clef-flash local pe Apple Silicon. Previzualizare de dezvoltare.

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

Cererea conține text în state și un array comandat questions. Fiecare câmp are o hartă id și type: choice cu un choices hartă, noul pentru adevărat/fals, sau score cu nivele ordonate levels.Ieșirea este JSON cu probabilități, răspunsuri selectate, număr de token, timp de încărcare model și timp de decizie.

În mod implicit, comanda descărcări aufklarer/Clef-flash-9B-MLX-4bit. Utilizați --model-dir pentru fișierele existente sau --offline pentru cache. Limita de token se aplică la 4096 și acceptă 1izare16384. A se vedea ghidul Clef pentru o cerere completă și utilizarea de memorie măsurată.

planor

Clasificarea de text cu condiţie schematică şi entitatea se întinde pe GLiNER2.5-Decide (MLX). Previzualizare de dezvoltare: nu încă într-o versiune. Setează textul pentru a citi stdin.

speech gliner classify "<text>" --labels <a,b,c> [options]
speech gliner extract "<text>" --labels <a,b,c> [options]
OpțiuneImplicit Descriere
--variantint8Greutăți publicate pentru descărcare: fp32, fp16 sau int8
--modelHugging Face suprascrierea depozitului
--model-dir Dosar model local în loc de descărcare
--labels Etichete candidate separate de comă (1 - 255, distincte)
--description Descrierea etichetei ca etichetă=text; repetabil
--task acţiune Numele de sarcină în schema promptă (numai clasă)
--threshold0.5Scor minim de interval (numai extras)
--evaluate-layersEvaluează straturile de codor unu la un moment dat pentru a reduce memoria vârfului
--jsonJSON cu fiecare probabilitate, sau se întinde cu UTF-16 offset-uri, plus calendarul

avatar-motion

Generează NVIDIA Audio2Face-3D avatar-motion coeficient rames from speech audio.

speech avatar-motion <input> [options]
OpțiuneImplicit Descriere
--output, -oavatar-motion.jsonl Calea fișierului JSONL de ieșire
--model…James-MLX Pachetul de identitate Avatar (James implicit; Claire și Mark disponibile)
--verbose Print time and frame count

MOSS-TTS-Nano

Utilizarea --voice-sample pentru clonarea vocii; nu este necesară transcrierea de referință. Referințele mono sunt duplicate la stereo, reincluse la 48 kHz și căptușite la o limită de 80 ms. Codați o dată și refolosiți codurile sale la toate cererile.

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-modelaufklare/MOSS-TTS-Nano-100M-CoreML Dosarul de depozit model sau dosarul local
--moss-nano-compute-unitscpucpu sau gpu
--moss-nano-max-frames300Rame maxime de 80 ms; EOS naturale necesare
--moss-nano-seed0Seminţe reproducabile Swift

MOSS-TTS-Nano

Inference locală nativă

Pentru 12B, markerii de închidere a apelului de instrument adiacenti repetati imediat dupa un apel complet, validat sunt consumati cu acel apel. Ei nu creeaza un alt apel sau isi schimba argumentele. Markerii si argumentele malformate raman erori; E4B retine manipularea stricta.

Pentru a păstra cereri de chat native eșuate, set failureCaptureDirectory în manifestul de inferență. Capture este oprit în mod implicit. Directorul trebuie să refuze grupul și alte acces; noi directoare folosesc 0700 și utilizarea de fișiere de eșec 0600. Fișierele includ organismul de cerere exactă, ID-ul cererii și eroarea. Generațiile de 12B finalizate păstrează, de asemenea, prompte, ID-uri token, producția brută și motiv de oprire înainte de parsare. E4B eșecurile nu au înregistrări de generație brută. Aceste fișiere locale conțin conținut conversație și instrumente; erorile HTTP și cererile de succes nu le includ.

Agent opţionalÎncarcă un model de text în etape Gemma 4 12B Unificat INT4 alături de E4B. Utilizaţi modelul: "gemma4-12b-it" pentru chat cu instrumente native, istorie a rezultatelor şi anulare. E4B rămâne disponibil pentru alte cereri. Gemma4UnifiedChat utilizează termenul de apelare cu ajutorul unui dispozitiv cu clapetă MLX text implementat şi eliberat fiecare cerere de tip KV cache.Răspunsul elimină delimitatorii canalului de la textul returnat.

Sursa construiește acceptă --inference-manifest modele.json pentru a încărca înscenat Gemma 4 E4B INT4, VoxCPM2, plin Whisper Large-v3, și Silero VAD. Acest serviciu începe offline și respinge identitățile de model incompatibile.

speech-server --inference-manifest models.json --port 8080

API detalii

Voxtral TTS

Voxtral 4B TTS 2603 ruleaza local pe Apple Silicon prin modulul VotralTTSS: 20 voci prestabilite, nouă limbi, și 24 kHz mono speech.

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

Doar vocile presetate; clonarea de referință-audio nu este disponibilă. Fluxuri de ieșire audio prin SDK, CLI, WebSocket și HTTP PCM. Furnizarea textului complet de intrare în față. Greutate model de utilizare CC BY-NC 4.0.

Citeşte ghidul Voxtral TTS

Fish Audio Drama 3

Suport experimental nativ MLX pentru Drama 3 este disponibil prin FishAudioDrama3Model. A 35B hibrid-attention MoE coloana vertebrală, turn audio temporal și codec DAC de pește produce 44.1 kHz mono audio. Punctul de control 4-bit a trecut forma de undă și controale independente ASR pentru generarea numai text, clonarea de referință și CLI pe M5 Pro. 8 și BF16 rămân nevalidate.

Modul de memorie balanced este implicit. Lidle MLX tampoanele sunt degresate peste 512 MiB la limitele de etapă; aceasta nu este o limită totală-memorie. Limitele de alocator global rămân neschimbate. Selectați --fish-drama3-memory-mode unrestricted sau memoryOptions: .unrestricted pentru încărcarea dornică și comportamentul anterior de caching.

Generaţia unică de text amână 794.4 MiB de greutăţi de codor de referinţă. Primele sarcini de codare de referinţă şi le păstrează, astfel încât să păstreze codec.safetensors disponibile până atunci. Codurile de referinţă precomputate nu au nevoie de codor.

Furnizați text complet de intrare. Clonarea vocală necesită un clip de referință și transcrierea exactă a acestuia. Tag-uri difuzor 0–15 și emoțiile de linie sunt susținute. PCM streaming este disponibil prin generateStreaming, generateStream şi --stream. Bucata implicita contine rame de codec 3, despre 139 ms de audio. Intrarea automată de text de lungă durată și streamed ZX0. Atingerea limitei de cadru aruncă o eroare.

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))
OpțiuneImplicit
--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

Construit cu Fish Audio. Bundles păstrează licenţa comunitară şi NOTACE.

4-biți de referință