Breeze TTS 2

audio_tokenizer/LICENSE · Apache-2.0 · Qwen/Qwen3-TTS-Tokenizer-12Hz

Apple M5 Pro · 48 GiB · TTFA / RTF / RSS

2026-10-30 · en · 8bit=3.20 s · bf16=3.20 s · seed=42 · CFG=4 · firstChunkFrames=3 · chunkFrames=25 · MLX cache=2 GiB · warm=3

MLXTTFA p50RTFRSS (GiB)หน่วยความจำกายภาพสูงสุด (GiB)
8bit178 ms0.5353.927.23
bf16272 ms0.8686.069.22

WAV=45 · distinct=11 · 8bit PCM SHA256=baseline · unit=1933 · skipped=42 · E2E=15 · Qwen3-ASR-0.6B-MLX-4bit

BF16 มี RTF 0.868 สำหรับประโยคสั้น (ค่าเดิม: 1.258) และ 0.853 สำหรับย่อหน้า 9.20 วินาที (ค่าเดิม: 1.280) เมื่อใช้เฟรมแรกหนึ่งเฟรม PCM แรกมาถึงใน 138 ms รูปคลื่นสุดท้ายที่แตกต่างทั้ง 11 แบบมี WER/CER หลังปรับรูปแบบเป็นศูนย์จาก ASR อิสระ และผล 8 บิตที่ใช้ชังก์เริ่มต้นเหมือนค่าเดิมทุกไบต์ การปัดเศษ BF16 อาจเปลี่ยนเสียงแม้ seed เดียวกัน ตั้ง SPEECH_SWIFT_BREEZE_GEMV=0 ก่อนโหลดเพื่อเทียบเส้นทางการฉายเดิม

เพื่อเริ่มเล่นเร็ว ใช้ชังก์แรกหนึ่งเฟรม ชังก์ถัดไปสองเฟรม และแคช MLX 1 GiB ย่อหน้า 8 บิตยาว 9.04 วินาทีมีบัฟเฟอร์ล่วงหน้า CLI พร้อมประมาณ 190 ms โดยไม่ต้องเพิ่มบัฟเฟอร์ตามเวลาที่บันทึก ค่านี้ไม่รวม render callback และความหน่วงอุปกรณ์เอาต์พุต

2026-10-30 · 8bit · 9.04 s · firstChunkFrames=1 · chunkFrames=2 · MLX cache=1 GiB · PCM=103 ms · buffer=190 ms · RTF=0.761 · peak=6.10 GiB

speech speak "The quick brown fox jumps over the lazy dog." --engine breeze \
  --instruct "A clear, calm English narrator." --first-chunk-frames 1 \
  --chunk-frames 2 --breeze-cache-limit-mib 1024 --stream -o fast-start.wav

TTFA ไม่รวมการโหลดโมเดลและเล่นผ่านลำโพง ผลขึ้นกับฮาร์ดแวร์ ข้อความ และการตั้งค่า นโยบายร่วมจำกัดแคช MLX ที่ใช้ซ้ำได้ไว้ที่ค่าน้อยกว่าระหว่าง 2 GiB กับหนึ่งในสี่ของหน่วยความจำจริง และเคารพงบแอปที่ต่ำกว่า --breeze-cache-limit-mib ลดเพดานกระบวนการได้ ค่า 0 ปิดแคชนี้ โดยไม่จำกัดเทนเซอร์ที่ใช้งานอยู่

สังเคราะห์เสียงภาษาอังกฤษและจีน พร้อมออกแบบเสียง โคลนและกำกับเสียงจากเสียงอ้างอิง และสตรีมเสียง (MLX BF16/8-bit, 24 kHz; สำหรับการวิจัยและการใช้งานที่ไม่ใช่เชิงพาณิชย์).

BreezeTTS · 24,000 Hz · 16 × 2,048 · 80 ms · MLX BF16 / 8-bit

การใช้งาน

speech speak "The quick brown fox jumps over the lazy dog." --engine breeze \
  --instruct "A clear, calm English narrator." --stream -o design.wav

speech speak "The weather is beautiful today." --engine breeze \
  --voice-sample reference.wav --breeze-reference-text "Exact transcript." \
  --breeze-seed 42 -o clone.wav

speech speak "We need to discuss what happened." --engine breeze \
  --voice-sample reference.wav --breeze-reference-text "Exact transcript." \
  --instruct "Speak slowly, with a serious tone." --stream -o directed.wav

Swift API

import BreezeTTS

let model = try await BreezeTTSModel.fromPretrained()
let samples = try await model.generate(
    text: "The quick brown fox jumps over the lazy dog.",
    instruction: "A clear, calm English narrator.")

try await model.generateStreaming(text: "Hello, world!", instruction: "A warm voice.") { chunk in
    print(chunk.sampleRate, chunk.samples.count, chunk.isFinal)
}

ตัวเลือก

ใบอนุญาต

Derived from Breeze TTS 2 by BreezeBlue and licensed for research and non-commercial use only.

BreezeBlue Research and Non-Commercial License · Breeze TTS 2 MLX 8-bit · Breeze TTS 2 MLX BF16

ซอร์สและการแปลง

speech-swift / BreezeTTS · export_breeze_mlx.py · WER / CER / RSS / TTFA / RTF