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 โมเดลที่เข้ากันได้อย่างใดอย่างหนึ่ง ไม่รองรับเสียงอ้างอิง ผู้พูดคงที่ หรือข้อมูลแบบแบตช์

ตัวเลือก TTS ตามคำสั่ง

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.440.4700.6108.448
ภาษาจีนกลาง4.880.4570.5728.619

เสียงภาษาอังกฤษที่จับเวลายังมีผลถอดเสียงไม่ตรงกัน โดย Parakeet เพิ่ม “and” ท้ายประโยค ส่วน Qwen3-ASR ตรงกับต้นฉบับทั้งหมด เก็บผลทั้งสองไว้

ขอบเขตการตรวจสอบ

ยังไม่ได้ให้คะแนนคุณภาพการทำตามคำสั่ง ผลวัดข้อความสั้นอธิบายเฉพาะชุดทดสอบนี้ การรับรองการถดถอยด้านเวลาแฝงยังสรุปไม่ได้

TTS ตามคำสั่งแบบเนทีฟ

แหล่งที่มา