MOSS-VoiceGenerator
เผยแพร่บันเดิล MLX แล้ว SDK ต้องใช้สาขาตรวจทานด้านล่าง (ร่าง PR #541)
ออกแบบเสียงด้วย MLX แบบเนทีฟจากบทพูดตรงตามต้นฉบับและคำสั่งเสียง ส่งออก PCM โมโน 24 kHz โดยไม่ต้องใช้เสียงอ้างอิง
MOSS-VoiceGenerator คงน้ำหนักภาษา BF16 และโคเดกสังเคราะห์ FP32 ใช้ --stream สำหรับ PCM ทีละส่วน ไม่ต้องระบุ --language แต่ให้ใส่ภาษาใน --instruct การจบงานจะระบายข้อมูลครบทั้งสิบหกโค้ดบุ๊ก
สาขาตรวจทาน SDK
สาขาตรวจทาน SDK (PR #541): feat/instructtts-candidates-20261029
git clone --single-branch --branch feat/instructtts-candidates-20261029 https://github.com/soniqo/speech-swift.git
cd speech-swift
make buildบันเดิล MLX ที่เผยแพร่แล้ว: aufklarer/MOSS-VoiceGenerator-MLX-bf16
บรรทัดคำสั่ง
.build/release/speech speak "The little boat crossed the quiet lake before sunset." \
--engine moss-voicegenerator \
--moss-voicegenerator-model-id aufklarer/MOSS-VoiceGenerator-MLX-bf16 \
--instruct "A warm adult female voice, speaking English slowly." \
--stream --seed 42 --output moss.wavระบุข้อความหนึ่งรายการ --instruct และเลือกไดเรกทอรีบันเดิลหรือ ID โมเดลที่เข้ากันได้อย่างใดอย่างหนึ่ง ไม่รองรับเสียงอ้างอิง ผู้พูดคงที่ หรือข้อมูลแบบแบตช์
Swift API
import MossVoiceGeneratorTTS
let model = try await MossVoiceGeneratorModel.fromPretrained(
modelId: "aufklarer/MOSS-VoiceGenerator-MLX-bf16")
let output = try await model.generate(
text: "The little boat crossed the quiet lake before sunset.",
instruction: "A warm adult female voice, speaking English slowly.",
options: .init(maxFrames: 150, seed: 42))
let pcm = output.samples
model.unload()ผลวัดรันไทม์จากข้อความสั้น
M5 Pro, 48 GiB, Release ใช้ข้อความสั้นที่เป็นกลางหนึ่งข้อความต่อภาษา รายงานมัธยฐานของคำขอหลังวอร์มสามครั้งหลังคำขอแรก ไม่รวมการโหลดและตรวจสอบน้ำหนัก แคชไฟล์ถูกวอร์มแล้ว RTF = เวลาทำงาน / ความยาวเสียง ค่ายิ่งต่ำยิ่งเร็ว หน่วยความจำกายภาพคือค่าสูงสุดของกระบวนการขณะโหลดและคำขอทั้งสี่ ในหน่วย GB ฐานสิบ
| ข้อความ | เสียง (s) | PCM แรกหลังวอร์ม (s) | RTF | หน่วยความจำกายภาพสูงสุด (GB) |
|---|---|---|---|---|
| ภาษาอังกฤษ | 3.44 | 0.470 | 0.610 | 8.448 |
| ภาษาจีนกลาง | 4.88 | 0.457 | 0.572 | 8.619 |
เสียงภาษาอังกฤษที่จับเวลายังมีผลถอดเสียงไม่ตรงกัน โดย Parakeet เพิ่ม “and” ท้ายประโยค ส่วน Qwen3-ASR ตรงกับต้นฉบับทั้งหมด เก็บผลทั้งสองไว้
ขอบเขตการตรวจสอบ
ยังไม่ได้ให้คะแนนคุณภาพการทำตามคำสั่ง ผลวัดข้อความสั้นอธิบายเฉพาะชุดทดสอบนี้ การรับรองการถดถอยด้านเวลาแฝงยังสรุปไม่ได้