Terjemahan mesin · Versi asli bahasa Inggris
Referensi CLI
Breeze TTS 2 Breeze TS
Inggris / Cina TTS dengan desain suara, referensi kloning dan arah, dan streaming audio (MLX BF16/8-bit, 24 kHz; penelitian / non-komersial lisensi).
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: Proses opsional-luas dapat digunakan kembali anggaran cache MLX di MiB; 0 menonaktifkan cache.--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
Asli Apple waktu jalan
PocketTTS menambahkan asli CoreML speech synthesis to speech-swift. Semua tahap baku ke CPU hanya eksekusi. Aliran Alba Inggris preset 1,920-sampel frame di 24 kHz (80 ms per frame).
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-speakersThe speech perintah adalah titik masukan untuk pemrosesan bicara lokal.
Pasang dengan Homebrew
Pada Apple Silicon dengan macOS 15 atau yang lebih baru, instal CLI menggunakan Homebrew:
brew install speech
speech --help
Untuk memperbarui instalasi yang telah ada, jalankan brew upgrade speech.
Alternatif: bangun dari sumber
Dalam speech-swift checkout, jalankan make build, lalu gunakan .build/release/speechLihat Sedang Memulai panduan untuk prasyarat dan petunjuk pembangunan.
translate
Terjemahkan berkas audio ke teks.
speech transcribe <file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<file> | Berkas audio untuk di-translate (WAV, M4A, MP3, CAF) | |
--engine | qwen3 | Mesin ASR: qwen3, qwen3-coreml, parakeet, nemotron, omnilingual, cohere, voxtral, moss, whisper |
--model, -m | 0.6B | Varian model: 0.6B, 1.7B, atau ID model HuggingFace penuh (hanya qwen3) [whisper]: default, turbo, atau penuh CoreML HuggingFace Repo ID.[cohere/voxtral]: INT5 (bawaan), INT8, FP16, a Hugging Face ID model, atau direktori lokal. [moss coreml]: int8 (bawaan) atau fp16; [moss mlx]: int5 (bawaan) atau int8MOSS juga menerima sebuah ID repositori Hugging Face yang kompatibel atau direktori lokal. |
--max-tokens | CoreML: 512MLX: 5120 | [moss] Token transkrip maksimum yang dihasilkan. |
--kv-cache | fp16 | [moss mlx] Presisi KV-cache dinamis: fp16 atau int8. |
--language | Petunjuk bahasa (opsional, diabaikan oleh omnibahasa) | |
--window | 10 | [omnilingual] CoreML ukuran jendela dalam detik: 5 atau 10 |
--backend | coreml | [omnilingual/moss] Backend: coreml (Neural Engine) atau mlx (Metal GPU). MOSS MLX menyediakan dinamis 131,072-token konteks; MOSS CoreML menggunakan tetap 1,024-Token negara. |
--variant | 300M | [omnilingual mlx] Ukuran: 300M, 1B, 3B, atau 7B |
--bits | 4 | [omnilingual mlx] Bagian Kuantisasi: 4 atau 8 |
--stream | Aktifkan transkripsi streaming dengan VAD | |
--max-segment | 10 | Durasi segmen maksimum dalam detik (streaming) |
--partial | Keluarkan hasil parsial selama pidato (streaming) |
Contoh:
# 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
align
Perataan tingkat dipaksa - mendapatkan penanda waktu yang tepat untuk setiap kata.
speech align <file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<file> | Berkas audio | |
--text, -t | Teks yang akan dialign (jika diabaikan, transmitter pertama) | |
--model, -m | 0.6B | ASR model untuk transkripsi: 0.6B, 1.7B, atau ID penuh |
--aligner-model | ID model aligner yang dipaksakan | |
--language | Petunjuk bahasa |
Contoh:
# 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?"
bicara
SMS-to-speech sintesis.
speech speak "<text>" [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<text> | Teks yang akan disintesis (opsional jika memakai --batch-file) | |
--engine | qwen3 | Mesin TTS: qwen3, cosyvoice, voxcpm2, indextts2, f5, higgs, breeze, indic-mio, magpie, atau magpie-coreml, moss-nano, fireredtts3, moss-voicegenerator |
--output, -o | output.wav | Path berkas keluaran WAV |
--language | english | Bahasa. Abaikan untuk menggunakan logat pembicara ketika --speaker Sudah diatur. |
--stream | Aktifkan synthesis streaming | |
--voice-sample | Referensi audio untuk kloning suara (bekerja dengan qwen3, cosyvoice, voxcpm2, f5, higgs, dan indextts2) | |
--verbose | Tampilkan info waktu rinci |
Opsi Qwen3-TTS
| Opsi | Baku | Deskripsi |
|---|---|---|
--model | base | Varian model: base, customVoice, atau ID model HF penuh |
--speaker | Suara Speaker (memerlukan --model customVoice) | |
--instruct | Instruksi gaya (model CustomVoice) | |
--list-speakers | Daftar pembicara yang tersedia dan keluar | |
--temperature | 0.3 | Suhu Sampling |
--top-k | 50 | Contoh Top- k |
--max-tokens | 500 | Token maksimum (500 = ~ 40-an audio) |
--batch-file | Berkas dengan satu teks per baris untuk batch synthesis | |
--batch-size | 4 | Ukuran batch Max untuk pembuatan paralel |
--first-chunk-frames | 3 | Frame codec dalam potongan streamed pertama |
--chunk-frames | 25 | Frame codec per potongan streamed |
Opsi CosyVoice3
| Opsi | Baku | Deskripsi |
|---|---|---|
--speakers | Pemetaan suara untuk dialog multi- speaker: s1=alice.wav,s2=bob.wav | |
--cosy-instruct | Instruksi gaya (overrides baku). Kontrol gaya suara untuk CosyVoice3. | |
--turn-gap | 0.2 | Keheningan jeda antara dialog berubah dalam detik |
--crossfade | 0.0 | Crossfade tumpang tindih antara belokan dalam detik |
--model-id | ID model HuggingFace |
Opsi VoxCPM2
| Opsi | Baku | Deskripsi |
|---|---|---|
--voxcpm2-variant | bf16 | Varian kuantisasi: bf16, int8, atau int4. Dipecahkan untuk aufklarer/VoxCPM2-MLX-<variant>. |
--voxcpm2-instruct | Deskripsi suara alfaul- bahasa (desain suara), misalnya "Seorang wanita muda, hangat dan lembut". | |
--voxcpm2-ref-audio | Referensi berkas audio untuk kloning (16 kHz mono, resabled internal). | |
--voxcpm2-prompt-audio / --voxcpm2-prompt-text | Pasangan "Ultimate cloning" - klip referensi + transkrip untuk prosodling-preserving kloning. | |
--voxcpm2-cfg-value | 2.0 | Skala panduan klasik gratis untuk sampel difusi. |
--voxcpm2-timesteps | 10 | Langkah pemecah Euler per patch audio yang dihasilkan. |
--voxcpm2-max-tokens | 2000 | Max dihasilkan patch sebelum dipaksa berhenti. |
--voxcpm2-min-tokens | 2 | Min patch sebelum berhenti kepala diizinkan untuk menembak. |
--seed | Benih MLX RNG sebelum sintesis (deterministik di jalankan). |
Opsi IndexTTS2
IndexTTS2 adalah suara zero- tembakan - mesin kloning didukung oleh senyawa diperluas MLX. Ini membutuhkan --voice-sample dan saat ini menjalankan batch synthesis saja.
| Opsi | Baku | Deskripsi |
|---|---|---|
--indextts2-model-id | aufklarer/IndexTTS2-MLX-fp16 | ID model HuggingFace. Default untuk aufklarer/IndexTTS2-MLX-fp16. |
--indextts2-bundle-dir | Muat suatu local expanded bundle daripada mengunduh dari Hugging Face. | |
--indextts2-emotion-audio | Audio referensi emosi / gaya opsional. Default terhadap acuan speaker. | |
--indextts2-emotion | Preset opsional atau 8-value vektor emosi. Presets dimasukan eager, happy, excited, dan calm. | |
--indextts2-emotion-weight | 1.0 | Skala --indextts2-emotion; tetaplah sederhana ketika identitas speaker penting. |
--indextts2-speaking-rate | 1.0 | Penguatan tingkat bicara -rate 0.5 ke 1.5; nilai di atas 1.0 lebih cepat. |
--indextts2-max-pause | Penutup opsional untuk jeda energi internal dalam hitungan detik. | |
--indextts2-s2mel-steps | 15 | S2Mel langkah arus (baku 15, ear- validasi; 25 cocok dengan upstream persis) |
Opsi F5-TTS
| Opsi | Baku | Deskripsi |
|---|---|---|
--f5-reference-text | Transkrip referensi: isi teks --voice-sample (dibutuhkan) | |
--f5-steps | 16 | Langkah-langkah yang cocok dengan lantai (baku 16; 32 untuk kesetiaan maksimum) |
--f5-cfg-strength | 2.0 | Kekuatan panduan khusus-bebas |
--f5-sway | -1.0 | Sway sampling koefisien |
--f5-speed | 1.0 | Pengganda tingkat bicara |
--f5-seed | 0 | Benih untuk keluaran deterministik |
--f5-target-rms | 0.1 | Referensi target normalisasi RMS |
--f5-model-id | ID model Hugging Face | |
--f5-bundle-dir | Muat suatu bundle dari direktori lokal ini |
Higgs TTS pilihan 3
| Opsi | Baku | Deskripsi |
|---|---|---|
--higgs-ref-text | Transkrip referensi: isi teks --voice-sample (improvisasi kloning) | |
--higgs-temperature | 0.8 | Temperatur Sampling (baku 0.8) |
--higgs-top-p | Ambang sampling Nucleus (mati secara baku) | |
--higgs-top-k | Top-k sampling cutoff (mati secara baku) | |
--higgs-max-new-tokens | 2048 | Maksimum frame audio yang dihasilkan (25 per detik) |
--higgs-seed | 0 | Benih untuk keluaran deterministik |
--higgs-model-id | ID model Hugging Face | |
--higgs-bundle-dir | Muat suatu bundle dari direktori lokal ini |
Opsi Magpie
NVIDIA Magpie- TTS Multibahasa 357M, 9 bahasa dengan 5 Pembicara panggang, pilih backend dengan --engine magpie (MLX, baku) atau --engine magpie-coreml (CoreML untuk model besar dengan MLX mengendarai LocalTransformer + audio penggelapan). Lihat Panduan Magpie untuk bahasa G2P yang lengkap. Kloning suara tidak didukung: --voice-sample, --speaker, dan --instruct (Di hari kiamat) dinamakan Al-Qaari 'ah karena kengerian-kengerian yang terjadi di dalamnya sangat menggentarkan kalbu. --magpie-speaker sebagai gantinya.
| Opsi | Baku | Deskripsi |
|---|---|---|
--magpie-variant | int4 | Hanya MLX- Quantisasi: int4 (247 MB) atau int8 (411 MB). Resolves to aufklarer/Magpie-TTS-Multilingual-357M-MLX-<variant>CoreML mesin menggunakan INT8 CoreML bundle dan mengabaikan bendera ini. |
--magpie-speaker | sofia | Speaker panggang: sofia, aria, jason, leo, atau johnIdentitas konsisten di semua bahasa 9 dan kedua backends. |
--magpie-temperature | 0.6 | Temperatur Sampling (0 = serakah). Gunakan 0.6 untuk Jepang - serakah terjebak pada frase pertama. |
--magpie-top-k | 80 | Filter Top- k untuk sampling. |
--magpie-max-frames | 500 | Tutup keras pada frame codec (~ 23 s). |
--magpie-min-frames | 4 | Frame minimum sebelum EOS diperbolehkan. |
--magpie-prephonemized | Perlakukan masukan sebagai aliran IPA / foneme; lewati bahasa G2P. | |
--list-speakers | Cetak 5 speaker panggang dan keluar. |
magpie- coreml caveats: NanoCodec bundled ditelusuri pada jendela frame 64, jadi --stream ditolak. --language ja rute otomatis ke MLX backend dengan sebuah stderr catatan ( CoreML bundel belum mengirimkan aset tokenizer JA). CoreML mesin lazy- loads MLX bundel pada sintesis pertama untuk mendorong LocalTransformer dan penggelapan audio rata-rata; penyebaran Pure- CoreML dilacak sebagai berikut-up.
Contoh:
# 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
Instruksi opsi TTS
Percobaan: Build native SDK dukungan dari sumber utama. Homebrew dan lain prebuilt CLI rilis mungkin tidak termasuk mesin ini belum.
Bundel MLX yang diterbitkan: aufklarer/FireRedTTS3-Instruct-MLX-fp32 · aufklarer/MOSS-VoiceGenerator-MLX-bf16
Menyediakan satu argumen teks, --instruct, dan tepat satu direktori paket atau ID model yang kompatibel. Referensi audio, speaker tetap dan masukan batch tidak didukung.
Setiap teks dan daerah instruksi dibatasi 32,768 UTF-8 bytes. Inserm masukan yang telah diberikan lengkap, termasuk template, harus cocok dalam 4,096 Token. "Input" melebihi batas ditolak.
FireRedTTS3-Instruct ditahan Float32 Model dan bobot decoder. Ini mengembalikan audio yang dibanjiri: abaikan --stream. Inggris dan Cina --language Sebuah batas generasi menimbulkan kesalahan bukannya kembali terpotong sukses.
MoSS- Pembuat Suara mempertahankan BF16 bobot bahasa dan FP32 codec sintesis. Gunakan --stream untuk incremental PCM. Abaikan --language dan menempatkan persyaratan bahasa dalam --instructPenyelesaian menguras semua buku kode enam belas.
Instruktuasi - berikut kualitas tidak mencetak. Ukuran skrg-script menggambarkan setup teruji; ada - model sertifikasi latensi tetap tidak meyakinkan.
| Opsi | Baku | Deskripsi |
|---|---|---|
--fireredtts3-bundle-dir | — | Bundel lokal yang diekspor; pilih ini atau opsi model- ID. |
--fireredtts3-model-id | — | Identifikasi bundel MLX yang kompatibel diterbitkan; pilih ini atau direktori lokal. |
--fireredtts3-flow-steps | 10 | Flow langkah per akustik patch. |
--fireredtts3-max-patches | 400 | Generation cap; mencapai itu sebelum penyelesaian menimbulkan kesalahan. |
--moss-voicegenerator-bundle-dir | — | Bundel lokal yang diekspor; pilih ini atau opsi model- ID. |
--moss-voicegenerator-model-id | — | Identifikasi bundel MLX yang kompatibel diterbitkan; pilih ini atau direktori lokal. |
--moss-voicegenerator-max-frames | 750 | Generation cap; mencapai itu sebelum penyelesaian menimbulkan kesalahan. |
--moss-voicegenerator-chunk-frames | 3 | Komplete codec frames per pCM chunk (1-32). |
--seed | 2 / 42 | Meminta benih: FireRedTTS3 default ke 2; MOSS- Pembuat Suara ke 42. |
FireRedTTS3-Instruct · MoSS- Pembuat Suara
Kokoro
Teks ringan - to- pidato menggunakan Kokoro-82M pada Neural Engine (CoreML). Non-autoregresif - single forward pass, ~ 45ms latency.
speech kokoro "<text>" [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<text> | Teks yang akan disintesis | |
--voice | af_heart | Preset suara (50 tersedia di seluruh 10 bahasa) |
--language | en | Kode bahasa: en, es, fr, hi, it, ja, pt, zh, ko, de |
--output, -o | kokoro_output.wav | Path berkas keluaran WAV |
--list-voices | Daftar semua suara yang tersedia dan keluar | |
--model, -m | ID model HuggingFace |
Contoh:
# 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
respon
Dialog pidato penuh dengan PersonaPlex 7B.
speech respond [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--input, -i | Berkas audio masukan WAV (24kHz mono) (Diperlukan) | |
--output, -o | response.wav | Berkas respon keluaran WAV |
--voice | NATM0 | Pengaturan suara (mis. NATM0, NATF1, VARF0) |
--system-prompt | assistant | Preset: assistant, focused, customer-service, teacher |
--system-prompt-text | Teks prompt sistem gubahan (menimpa preset) | |
--max-steps | 200 | Generasi Max langkah di 12.5Hz (~ 16s) |
--stream | Keluarkan potongan audio selama generasi | |
--compile | Aktifkan transformer terkompile (warmup + kernel fusion) | |
--list-voices | Daftar presets suara yang tersedia | |
--list-prompts | Daftar presets sistem yang tersedia | |
--transcript | Cetak teks monolog model | |
--json | Keluaran sebagai JSON (transkrip, latensi, jalur audio) | |
--verbose | Tampilkan info waktu rinci |
Sampling Overrides
| Opsi | Baku | Deskripsi |
|---|---|---|
--audio-temp | 0.8 | Suhu sampling audio |
--text-temp | 0.7 | Temperatur sampling teks |
--audio-top-k | 250 | Kandidat audio top-k |
--repetition-penalty | 1.2 | Penalti pengulangan audio (1.0 = dinonaktifkan) |
--text-repetition-penalty | 1.2 | Penalti pengulangan teks (1.0 = dinonaktifkan) |
--repetition-window | 30 | Penalti jendela pengulangan dalam bingkai |
--silence-early-stop | 15 | frame Silence sebelum awal stop (0 = dimatikan) |
--entropy-threshold | 0 | Ambang entropi teks bagi stop awal (0 = dimatikan) |
--entropy-window | 10 | Konsevatif langkah low-entropi sebelum awal berhenti |
Contoh:
# 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
Voice-chat
Live full--duplex conversation with Soniqo, powered by NVIDIA Nemotron VoiceChat 11mode B. Mikrofon memungkinkan Apple AEC, streaming RNNT captions, human- menghadapi real time metrics, adaptif 8→2→1-step pemurnian suara, dan terikat input resinkronisasi bukan catch-up diam panjang.
speech voice-chat [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--model, -m | aufklarer/VoiceChat-11B-Perception-MLX-int5 | ID model Hugging Face atau bundel lokal lengkap. |
--revision | main | Revisi Hub. |
--system-prompt | Timpa sistem cepat. | |
--mcp-config | Menyediakan konfigurasi JSON netral untuk server perkakas MCP. | |
--mcp-server | semua dikonfigurasi | Pilih salah satu server yang dikonfigurasi; ulangi untuk memilih lebih. |
--mcp-write-policy | allow | Kebijakan tulis: langsung allow, model-sedang confirm, atau deny. |
--mcp-timeout-seconds | 15 | MCP tool- call timeout; server startup memungkinkan setidaknya 60 detik. |
--greet | Minta model untuk menyapa dulu. | |
--no-aec | Matikan pembatalan echo akustik Apple. | |
--no-transcript | Nonaktifkan terjemahan pengguna RNN-T yang hidup. | |
--no-rnnt-turn-taking | Matikan NVIDIA RNNT, berbalik mengambil pengaman. | |
--prebuffer-frames | 3 | 80 m frame keluaran dibintangi sebelum diputar. |
--max-buffered-frames | 8 | Maksimum antrian 80 ms microphone frames sebelum audio basi dijatuhkan. |
--max-seconds | Berhenti menangkap hidup setelah sekian detik. | |
--input | Baca file audio bukan mikrofon. | |
--output, -o | Tulis konteks penuh 22.05 kHz WAV. | |
--tail-seconds | 6 | Silence ditambah setelah file input. |
--force-turn-at-end | Paksa BOS pada berkas EOF; tes regresi saja. | |
--plain | Gunakan tambahan - hanya keluaran daripada menggambar ulang dasbor tetap. | |
--debug-timeline | Tampilkan frasa relatif dan pengucapan-akhir timestamp-akhir plus alat yang didekode-sebut acara lifecycle. | |
--terminal-width | 120 | Lebar tampilan terminal. |
--temperature | 0 | Suhu teks; 0 adalah serakah. |
--text-top-p | 1 | Teks top-p. |
--guidance | 0.2 | Kekuatan bimbingan. |
--speech-top-p | 0.95 | EAR- TTS top- p. |
--speech-noise | 0.001 | EAR- TTS sampling noise. |
--speech-iterations | 8 | EAR- TTS Maskgit iterasi per frame. |
--realtime-speech-iterations | 2 | Anggaran perbaikan suara sementara yang digunakan untuk melindungi kecepatan real time; kelebihan berat menggunakan satu langkah. |
--live-speech-context-seconds | 20 | Sejarah EAR- TTS terbaru ditahan dalam mode hidup; 0 terus sejarah penuh. |
Contoh:
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
Dengan MCP diaktifkan, model -native call JSON dan mengembalikan token tool- response NVIDIAPath fungsi asinkron tahap dua pada keheningan yang diemban. Tidak ada router transkrip, matcher ekspresi, pengingat keadaan, perbaikan argumen, atau catatan asisten jawaban: pos pemeriksaan hanya memilih sebuah alat dan argumennya. Koordinator hanya memvalidasi asli JSON, berlaku dalam kebijakan baca / tulis, mengeksekusi yang dipilih MCP operasi, dan mengembalikan hasil terstruktur melalui saluran fungsi terlatih. Penulis mengeksekusi segera di bawah baku allow kebijakan, menghapus konfirmasi kedua mengubah dari demo pengingat; sebuah penulisan lengkap identik masih ditekan sampai pidato pengguna segar. Gunakan confirm hanya ketika mode- konfirmasi mediasi secara eksplisit diinginkan, atau deny untuk menolak menulis. Perintah MCP dijalankan secara lokal dengan sistem berkas dan ijin aplikasi pengguna saat ini, jadi gunakan hanya berkas konfigurasi terpercaya dan paket server.
Persepsi Mikrofon dan RNN-T berlanjut di antara langkah-langkah model, ketika eksternal MCP I / O berjalan dalam tugas terpisah. Speech-bearing daerah mikrofon ditangkap sementara berbagi cache fungsi sibuk adalah tetap sebagai diduduki dan dimainkan causally setelah hasil, sehingga captioned follow- up tidak lagi dibuang. Replay terbatas untuk satu frame semantic tua per live callback; frame baru tetap mengantri, replay teks dipaksa ke PAD, dan alreadin-aid audio tidak pernah queed ke chaunding-chainching. MCP round trip, and tool-results cache sinkronisasi. Decode dan hasil baris menunjukkan model / cache cache cate plus live interleave, residu yang digunakan oleh hasil aktor, pembukuan, dan konposisi sistem; audio latar depan RTF tidak ada yang bekerja di latar belakang itu. Setelah panggilan terbuka, gardu teks paksa-PAD melewati proyeksi kosakata penuh yang tidak digunakan. Setelah EOTC, jalur dua-fase membeku bahasa yang sama dan EAR- TTS ketika hasil eksternal tertunda; bingkai mikropon tetap hidup untuk persepsi dan RN-T tetapi tidak menjadi posisi sintetis PAD sebelum hasil. Hasil yang diketahui diputar dalam bounded 16-token causal- prefill potongan. Loop langsung membaca satu fungsi koheren snapshot dan satu MCP snapshot setiap 160 ms bukannya membuat beberapa aktor panggilan setelah setiap bingkai mikrofon. percakapan biasa mempertahankan 40-frame RNN-T safety fallback, sedangkan sebuah already-diusulkan kandidat alat asli dapat melakukan setelah delapan frame kosong. Teks dan saluran fungsi masih berbagi satu singgahan Nmotron-H, sehingga koherent result -conditioned pidato hanya dimulai setelah respon fungsi menutup; percakapan asisten sewenang-wenang tidak dapat secara aman berjalan sebagai causal kedua masa depan dalam paralel.
A bersih M5 Pro 48 Profil rilis GB diukur 3.56–4.00 detik dari akhir dari pidato ke model pertama - pidato posting - alat untuk tiga pengingat-daftar frase dengan tetap 200 ms provider. Native JSON decoding digunakan 27–31 langkah-langkah 1.15–1.28 detik, dan 67-token hasil disinkronkan dalam 0.58–0.72 Dengan sengaja lambat dua detik penyedia, mikrofon bekerja selama menunggu tetap 19.6 ms p95 dan 19.8 ms maksimum a final clean run diukur 118 ms layanan mikrofon- p95 dan 139 ms p95 latiness luar 80 ms menangkap tenggat waktu. Penyedia sehingga menambah jawaban tanpa penangkapan titik beku; batas perhitungan yang tersisa adalah native call decoding ditambah shared- cache hasil replay.
Demo bundled hanya mengekspos list_reminders, create_reminder, dan update_reminder; daftar penemuan tetap adapter- private. Satu pengingat datar membaca mencakup setiap daftar EventKit dan menggantikan UUID penyedia panjang dengan stabil, sesi-scoped referensi seperti r1Pemutakhiran mengembalikan salah satu referensi model- terlihat, dan adaptor memperbaikinya tepat sebelum eksekusi; itu tidak pernah cocok dengan nama yang diucapkan atau teks transkrip. Update dan prioritas fractional Noop ditolak daripada dilaporkan sebagai perubahan sukses. Pemutakhiran terkendali jatuh dari 67 langkah asli / 5.25 detik dengan UUID realistis ke 37 langkah / tentang 2.29 detik dengan r1. Membuat hanya membutuhkan sebuah nama sementara baku penyedia opsional tetap opsional. Antar streaming RNNT memakai padding refleksi NMo-compatible di tepi jendela bergulir daripada nol padding.
Modus berkas adalah jalur yang dapat direproduksi secara hardware- bebas. --force-turn-at-end hanya untuk tes regresi yang dikendalikan dan tidak boleh dilaporkan sebagai perubahan natural.
audio- terjemahkan
Streaming speech- to-speech translation menggunakan Kyutai Hibiki Zero-3B. FR / ES / PT / DE AND, binari tunggal, tanpa awan. Pemandu penuh.
speech audio-translate <input.wav> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<input> | Berkas audio sumber WAV (mono, diresabled ke 24 kHz internal) (Diperlukan) | |
--output, -o | translated.wav | Keluaran 24 kHz English WAV berkas |
--source-lang | fr | Petunjuk bahasa sumber (fr, es, pt, de). Autodeteksi; hanya metadata. FR + ES adalah ketat kanal E2E; PT + DE adalah usaha terbaik. |
--quantization | 4bit | Variabel: 4bit (~2.7 GB) atau 8bit (~ 3.9 GB) |
--model-id | HuggingFace model id override (mengambil predidence atas --quantization) | |
--compile | Jalankan sementara transformator warm-up lulus sebelum menerjemahkan | |
--verbose | Cetak pemintalan fase per (Mimi encode, generasi, Mimi decode) | |
--transcript | Cetak model 's infer- monolog raw SPM token ID (kabel decode SPM adalah follow- up) |
Variabel Lingkungan
| Variabel | Efek |
|---|---|
HIBIKI_GREEDY=1 | Paksa decoding argmax untuk audio text + target. Reproduksi - digunakan oleh canary CI ketat. |
HIBIKI_MODEL_ID | Timpa default aufklarer/Hibiki-Zero-3B-MLX-4bit repo at runtime. |
Contoh:
# 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
Deteksi aktivitas suara offline menggunakan Pyannote Segmentasi.
speech vad <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio untuk dianalisa |
--model, -m | ID model HuggingFace |
--onset | Ambang onset (awal pidato) |
--offset | Ambang offset (akhir pidato) |
--min-speech | Durasi bicara minimum dalam detik |
--min-silence | Durasi keheningan minimum dalam detik |
--json | Keluaran sebagai JSON |
vad-stream
Streaming deteksi aktivitas suara menggunakan Silero VAD v5Proses pidato di 32Ny.
speech vad-stream <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio untuk dianalisa |
--engine | Mesin VAD: mlx (bawaan) atau coreml |
--model, -m | HuggingFace ID model (auto- dipilih oleh mesin) |
--onset | Ambang onset |
--offset | Ambang offset |
--min-speech | Durasi bicara minimum dalam detik |
--min-silence | Durasi keheningan minimum dalam detik |
--json | Keluaran sebagai JSON |
--smart-turn | Konfirmasi setiap jeda dengan Smart Turn sebelum mengakhiri sebuah segmen; jeda mid- kalimat bergabung ke dalam satu segmen |
--turn-threshold | Smart Turn threshold pelengkapan (baku 0.5) |
--turn-max-silence | Detik keheningan setelah jeda vetoed yang mengakhiri segmen pula (baku 2.0) |
putar
End-of -turn deteksi dengan Smart Turn v3.2 (8M params, CoreML, 23 Bahasa). Skor terakhir 8 s dari ucapan direkam dan mencetak probabilitas bahwa pembicara telah selesai, lengkap / lengkap vonis, dan waktu inferensi.
speech turn <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio dengan satu putar pengguna (sembarang sampel); 8 terakhir digunakan |
--threshold | Probabilitas di atau di atas yang dihitung sebagai lengkap (baku 0.5) |
--model, -m | ID model HuggingFace. Default untuk aufklarer/Smart-Turn-v3.2-CoreML |
--model-dir | Direktori lokal memuat smart_turn.mlmodelc dan config.json; melewati pengunduhan |
--json | Keluaran sebagai 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
bangun
On- perangkat wake- word / keyword melihat menggunakan KWS Zipformer (3.49M params, CoreML INT8, 26× real-time, English only).
speech wake <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio untuk dianalisa |
--keywords | Satu atau lebih kata kunci. "hey soniqo" (PEREMPUAN GEMAH) "hey soniqo:0.15:0.5" (dengan threshold / bounce) atau "LIGHT UP|▁ L IGHT ▁UP:0.25:2.0" (sherpa- onnx-style eksplisit potongan BPE) |
--keywords-file | Berkas kata kunci, satu entri per baris (sintaks sama dengan --keywords); # untuk komentar |
--model, -m | ID model HuggingFace. Default untuk aufklarer/KWS-Zipformer-3M-CoreML-INT8 |
--json | Keluaran sebagai 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
Speaker diarization - mengidentifikasi siapa yang berbicara ketika.
speech diarize <file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<file> | Berkas audio untuk dianalisa | |
--engine | pyannote | Mesin diarisasi: pyannote, community1 (CoreML + PLDA asli / VBx), sortformer, atau nemotron3 |
--nemotron3-backend | coreml | Nemotron 3 backend: coreml atau mlx |
--nemotron3-directory | Digabung model Nemotron 3 lokal | |
--nemotron3-compute-units | ane | CoreML unit kompute: ane, cpu, gpu, atau all |
--community1-compute-units | ane | Community-1 CoreML unit kompute: ane, cpu, gpu, atau all |
--num-speakers | Jumlah pembicara yang dikenal untuk Community-1 | |
--min-speakers | 1 | Jumlah pembicara minimum untuk Community-1 |
--max-speakers | Jumlah pembicara maksimum untuk Community-1 | |
--target-speaker | Audio pendaftaran untuk ekstraksi speaker target (hanya pyannote) | |
--embedding-engine | mlx | Speaker embedding engine: mlx atau coreml (hanya plannote) |
--vad-filter | Penyaring awal dengan Silero VAD (hanya plannote) | |
--rttm | Keluaran dalam format RTTM | |
--json | Keluaran sebagai JSON | |
--score-against | Referensi berkas RTTM untuk menghitung DER |
Contoh:
# 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
Ekstrak speaker yang embedding vektor dari audio.
speech embed-speaker <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio berisi suara speaker |
--engine | mlx (bawaan) atau coreml untuk WeSpeaker 256- dim; redimnet2 untuk identitas gigih CoreML 192-dim; camplusplus untuk CAM + + CoreML 192- dim |
--json | Keluaran sebagai JSON |
language- id
Identifikasi bahasa yang diucapkan dalam berkas audio.
speech language-id <file> [options]
| Opsi | Deskripsi |
|---|---|
<file> | Berkas audio untuk mengklasifikasikan |
--engine | Inferensi mesin: mlx atau coreml |
--model | Timpa ID model Hugging Face |
--top | Jumlah kandidat bahasa peringkat |
--json | Keluaran hasil sebagai JSON |
speech language-id recording.wav --top 5
speech language-id recording.wav --engine coreml --json
denoise
Hapus kebisingan latar belakang menggunakan DeepFilterNet3 pada Neural Engine.
speech denoise <file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<file> | Berkas audio masukan | |
--output, -o | input_clean.wav | Path berkas keluaran |
--model, -m | ID model HuggingFace |
Contoh:
speech denoise noisy-recording.wav -o clean.wav
compose
Hasilkan 30 s dari sebuah prompt teks menggunakan MAGNeT pada MLX.
speech compose <prompt> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<prompt> | Pesan teks menjelaskan musik untuk dihasilkan (mis. "happy rock") | |
--output, -o | magnet.wav | Keluaran WAV path (32 kHz mono) |
--variant | small-int4 | Varian model: small-int4, small-int8, medium-int4, atau medium-int8. Dipecahkan untuk aufklarer/MAGNeT-{Small,Medium}-30secs-MLX-{4,8}bit. |
--temperature | 3.0 | Temperatur Sampling, annearled linearly per tahap. |
--top-p | 0.9 | Nucleus sampling threshold. |
--cfg-max | 10.0 | Max klasifikasi koefisien panduan gratis. |
--cfg-min | 1.0 | Koefisien Min CFG (annearled bersama jadwal topeng). |
--steps | 20,10,10,10 | Dipisah dengan pengkodean iterasi per buku kode (4 nilai). |
--seed | Benih acak untuk keluaran reproduksi. |
Contoh:
# 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
Terjemahkan direktori berkas audio; model dimuat sekali.
speech transcribe-batch <input-dir> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<input-dir> | Direktori berkas audio untuk ditulis (WAV, FLAC, dsb.) | |
--output-dir | Direktori keluaran bagi transkrip | |
--engine | qwen3 | ASR mesin (nilai sama sebagai translate) |
--jsonl | Hasil keluaran sebagai baris JSON, satu per berkas |
restore
Kembalikan pidato (denoise + dereverb) dengan keluaran Sidon - CoreML, 48 kHz.
speech restore <audio-file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--output, -o | input_restored.wav | Path berkas WAV keluaran (48 kHz) |
--variant | fp16 | Varian presisi / bundle |
--compute-units | Core ML penempatan untuk kedua tahap: ane, gpu, cpu, semua (baku: vocoder gpu, preciktor auto) |
terpisah
Pisahkan trek musik ke dalam batang (vokal, drum, bass, lain).
speech separate <input> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--stems | vocals,drums,bass,other | Stems to extract: vokal, drums, bass, other |
--engine | umx | Mesin: umx (baku) atau htdemucs (kualitas lebih tinggi) |
--output-dir | Direktori keluaran bagi transkrip |
contoh-contoh
Resolusi super- audio dengan FlashSR - satu langkah disaring AudioSR, keluaran 48 kHz.
speech upsample <audio-file> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--output, -o | hr.wav | Path berkas WAV keluaran (48 kHz) |
--variant | int4 | Varian presisi / bundle |
--seed | Benih untuk keluaran deterministik |
qwen3-tts-coreml
Swift dukungan 0.6B /256 dan 1.7B /1024 bundles; 0.6B tetap yang default. 1.7B bundle default ke CPU dan membutuhkan persiapan 2048-channel Float32 .npy Pembicara embedding via --speaker-embeddingGPU / ANE dan iOS validasi tetap terpisah.
speech qwen3-tts-coreml "<text>" [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--output, -o | output.wav | Path berkas keluaran WAV |
--language | english | Bahasa keluaran |
--model | ID model Hugging Face | |
--model-directory | — | Local compired model bundle; dibutuhkan predidence atas pengunduhan --model. |
--speaker-embedding | — | Bersiap Float32 .npy Pembicara embedding cocok dengan lebar model (1024 atau 2048). |
vibevoice
SMS-to- speech dengan Microsoft VibeVoice (MLX).
speech vibevoice "<text>" --voice-cache <cache> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--voice-cache, -v | Penyimpanan suara dari suara vibevoice -encode-voice (dibutuhkan) | |
--steps | Langkah inferensi DPM-Solver (lebih tinggi = kualitas yang lebih baik) | |
--cfg | 1.3 | Kekuatan panduan khusus-bebas |
--long-form | Sintesis lama bentuk untuk teks panjang |
vibevoices-encode-voice
Mint sebuah singgahan suara VibeVoice dari sebuah rekaman referensi ditambah transkrip.
speech vibevoice-encode-voice <input> "<transcript>" [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
<input> | Referensi berkas audio | |
<transcript> | Transkrip dari referensi audio (hanya Inggris) | |
--output, -o | Cache suara keluaran (.safetensors) |
Terjemahkan
Terjemahkan teks ke dalam bahasa target dengan MADLAD-400 (MLX).
speech translate "<text>" --to <lang> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--to, -t | Kode bahasa target (ISO 639-1, mis. es, zh, ja) | |
--stream | Token stream saat mereka decode | |
--model | ID model Hugging Face |
clef
Pilih dari jawaban yang diperbolehkan menggunakan Clef-flash lokal di Apple Silicon. Pratilik pembangunan.
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 4096Permintaan berisi teks dalam state dan demi (rombongan) yang melarang dengan sebenar-benarnya (dari perbuatan-perbuatan maksiat), questions Setiap bidang memiliki id dan type: choice dengan choices peta, noul untuk benar / salah, atau score dengan perintah levelsKeluaran adalah JSON dengan probabilitas, jawaban yang dipilih, jumlah token, waktu model-beban, dan waktu keputusan.
Secara baku, perintah mengunduh aufklarer/Clef-flash-9B-MLX-4bitGunakan --model-dir untuk berkas yang ada atau --offline untuk cache. Token membatasi defaults untuk 4096 dan menerima 1- 16384. Lihat Panduan Clef untuk permintaan lengkap dan diukur penggunaan memori.
gliner
Skema klasifikasi teks dan entitas spam dengan GLiNER2.5-Decide (MLX). Pembuatan: belum dalam rilis. Abaikan teks untuk membaca stdin.
speech gliner classify "<text>" --labels <a,b,c> [options]
speech gliner extract "<text>" --labels <a,b,c> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--variant | int8 | Penerbitan beban untuk diunduh: fp32, fp16 atau int8 |
--model | Hugging Face override repositori | |
--model-dir | Direktori model lokal ketimbang mengunduh | |
--labels | Label kandidat yang dipisah sama (1 sampai 255, berbeda) | |
--description | Deskripsi label sebagai label = teks; diulangi | |
--task | aksi | Nama tugas dalam prompt skema (hanya mengklasifikasikan) |
--threshold | 0.5 | Nilai minimum span (hanya ekstrak) |
--evaluate-layers | Evaluasi lapisan enkoder satu pada satu waktu untuk menurunkan puncak memori | |
--json | JSON dengan setiap probabilitas, atau spans dengan UTF-16 offset, ditambah waktu |
avatar-motion
Hasilkan NVIDIA Audio2Face-3D avatar-motion koefisien frame dari audio bicara.
speech avatar-motion <input> [options]
| Opsi | Baku | Deskripsi |
|---|---|---|
--output, -o | avatar-motion.jsonl | Path berkas JSONL keluaran |
--model | …James-MLX | Identitas Avatar bundle (James default; Claire dan Mark tersedia) |
--verbose | Waktu cetak dan jumlah frame |
MOSS- TTS- Nano
Gunakan --voice-sample untuk pengkloning suara; tidak ada transkrip referensi dibutuhkan. Referensi Mono diduplikasi ke stereo, diresepkan ke 48 kHz dan padded ke 80 ms. kode referensi sekali dan gunakan kembali kode melalui permintaan.
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 | Repositori model atau direktori lokal |
--moss-nano-compute-units | cpu | cpu atau gpu |
--moss-nano-max-frames | 300 | Maksimum 80 ms frame; EOS alami dibutuhkan |
--moss-nano-seed | 0 | Bibit yang diambil ulang Swift |
Inferensi lokal lokal
Untuk 12B, diulang di samping tool- call penutup penanda segera setelah panggilan lengkap, tervalidasi dikonsumsi dengan panggilan tersebut. Mereka tidak membuat panggilan lain atau mengubah argumen. Standally penanda dan argumen tetap salah tetap error; E4B mempertahankan penanganan ketat.
Untuk mempertahankan permintaan obrolan yang gagal, ditata failureCaptureDirectory dalam daftar muatan. Penangkapan tidak aktif secara baku. Direktori harus menolak grup dan akses lain; direktori baru pakai 0700 dan berkas kegagalan digunakan 0600Berkas termasuk tubuh permintaan yang tepat, permintaan ID dan error. Selesai 12B generasi juga mempertahankan prompt yang dirender, ID token, keluaran mentah dan stop alasan sebelum parsing. Kegagalan E4B tidak memiliki catatan pembuatan mentah. Berkas lokal ini berisi percakapan dan konten alat; Galat HTTP dan permintaan sukses tidak termasuk mereka.
Direktori agentDirektori opsional memuat suatu ter-stage Gemma 4 12B Disatukan INT4 model teks di samping E4B Gunakan model: "gemma4-12b-it"untuk chatting dengan alat-alat asli, hasil sejarah, dan pembatalan. E4B tetap tersedia untuk permintaan lain. Gemma4UnifiedChat gunakan jepped MLX implementasi teks dan rilis setiap cache KV permintaan. Menanggapi parsing penghapus saluran dari teks kembali. Orfaned tool- call terminator ditolak sebagai respon salah bentuk.
Sumber membangun menerima --inference-manifest model. json untuk dipentaskan Gemma 4 E4B INT4, VoxCPM2, penuh Whisper Large-v3, dan Silero VADLayanan ini mulai offline dan menolak identitas model yang tidak kompatibel.
speech-server --inference-manifest models.json --port 8080Voxtral TTS
Voxtral 4B TTS 2603 berjalan lokal pada Apple Silicon melalui modul Voxtral TTS: 20 preset suara, sembilan bahasa, dan 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.wavHanya preset suara; reference-audio cloning tidak tersedia. Keluaran stream audio melalui SDK, CLI, WebSocket dan HTTP PCM. Pasokan teks masukan lengkap di depan. Model bobot menggunakan CC BY- NC 4.0.
Fish Audio Drama 3
Support asli MLX untuk Drama 3 tersedia melalui FishAudioDrama3ModelA 35B hibrid- perhatian tulang punggung MoE, menara audio temporal dan produksi codec Fish DAC 44.1 KHz mono audio. 4-bit titik pemeriksaan melewati bentuk gelombang dan independen ASR cek untuk teks- hanya generasi, referensi kloning dan CLI keluaran di Apple M5 Pro. 8-bit dan BF16 tetap tak validasi.
Mode memori balanced adalah bakunya. MLX buffer dipangkas di atas 512 MiB pada batas tahap; ini bukan batas total- memori. Batas allocator global tetap tidak berubah. Pilih --fish-drama3-memory-mode unrestricted atau memoryOptions: .unrestricted untuk keinginan memuat dan perilaku caching sebelumnya.
Teks - hanya generasi desers 794.4 MiB referensi beban encoder. Referensi pertama pengkodean beban dan mempertahankan mereka, jadi keep codec.safetensors tersedia sampai saat itu. Kode referensi yang telah dihitung sebelumnya tidak perlu penyandi.
Menyediakan teks masukan lengkap. Kloning suara memerlukan sebuah klip referensi dan transkrip yang tepat. Tag suara 0–15 dan emosi inline didukung. PCM streaming tersedia melalui generateStreaming, generateStream dan --stream. Potongan bawaan berisi 3 bingkai codec, tentang 139 ms dari audio. Teks panjang otomatis chunking dan teks streaming masukan tetap tidak tersedia. Mencapai batas frame melempar kesalahan.
speech speak "Hello from Drama 3." --engine fish-drama3 --fish-drama3-bundle-dir /path/to/bundle -o hello.wav
speech speak "Hello from Drama 3." --engine fish-drama3 --stream --fish-drama3-chunk-frames 3 -o streamed.wav
speech speak "Hello in the reference voice." --engine fish-drama3 --voice-sample reference.wav --fish-drama3-reference-text "The exact reference transcript." --seed 42 -o cloned.wavimport FishAudioTTS
let model = try await FishAudioDrama3Model.fromBundle(bundleURL, memoryOptions: .balanced)
let pcm = try await model.generate(text: "Hello from Drama 3.", options: .init(seed: 42))| Opsi | Baku |
|---|---|
--fish-drama3-model-id | mlx-community/fish-audio-drama-3-4bit |
--fish-drama3-bundle-dir | — |
--fish-drama3-reference-text | — |
--fish-drama3-max-frames | 2048 |
--fish-drama3-temperature | 1 |
--fish-drama3-top-k | 30 |
--fish-drama3-top-p | 0.9 |
--voice-sample | — |
--seed | 0 |
--stream | false |
--fish-drama3-chunk-frames | 3 |
--fish-drama3-memory-mode | balanced |
Dibangun dengan Fish Audio Bundles mempertahankan Lisensi komunitas dan NOTICE.