Courses
เทคโนโลยีรู้จำเสียงอัตโนมัติมีพัฒนาการก้าวกระโดดในช่วงไม่กี่ปีที่ผ่านมา โมเดล speech-to-text ที่ครั้งหนึ่งต้องใช้ GPU ประสิทธิภาพสูงและให้ผลลัพธ์ไม่สม่ำเสมอ ปัจจุบันสามารถถอดเสียงได้อย่างแม่นยำบนคอมพิวเตอร์ทั่วไป
ในขณะเดียวกัน ขนาดโมเดลก็เล็กลง การอนุมานบน CPU เร็วขึ้น และการรองรับหลายภาษากว้างขึ้น ทำให้ผู้ใช้ได้สมดุลที่ดีกว่าในด้านคุณภาพการถอดเสียง ความเร็ว การเข้าถึง และความเป็นส่วนตัว
VibeVoice-ASR-BitNet ของ Microsoft เป็นตัวอย่างที่ดีของความก้าวหน้านี้
รันไทม์ VibeASR.cpp ที่ปรับแต่งแล้วทำให้สามารถรันระบบถอดเสียงหลายภาษาแบบโลคัลบนคอมพิวเตอร์ Windows, Linux หรือ macOS โดยไม่ต้องพึ่ง GPU เฉพาะทางหรือส่งเสียงขึ้นคลาวด์
ในคู่มือนี้ จะอธิบายวิธีติดตั้งและบิลด์ VibeASR.cpp ดาวน์โหลดโมเดลควอนไทซ์ ถอดเสียงไฟล์เสียงจากบรรทัดคำสั่ง รันเซิร์ฟเวอร์สตรีมมิงแบบคงอยู่ และใช้เว็บอินเทอร์เฟซ Gradio เพื่ออัปโหลดหรือบันทึกเสียงพูด
Microsoft VibeASR.cpp คืออะไร?
VibeASR.cpp คือรันไทม์อนุมาน C++ อย่างเป็นทางการของ Microsoft สำหรับ VibeVoice-ASR-BitNet ซึ่งเป็นโมเดลรู้จำเสียงอัตโนมัติแบบหลายภาษาที่ถูกบีบอัด ออกแบบมาสำหรับการอนุมานแบบโลคัลบน CPU อย่างมีประสิทธิภาพ
แทนที่จะเป็นโมเดลเสียงแยกต่างหาก VibeASR.cpp เป็นเอนจินที่ปรับแต่งเพื่อรันโมเดล ทำให้ถอดเสียงแบบเรียลไทม์ได้โดยไม่ต้องใช้ GPU เฉพาะทางหรือบริการเสียงบนคลาวด์
จึงเหมาะกับแล็ปท็อป เดสก์ท็อป อุปกรณ์เอดจ์ และระบบอื่น ๆ ที่มีทรัพยากรคอมพิวต์จำกัด

ที่มา: microsoft/VibeVoice-ASR-BitNet
เพื่อให้การใช้งานบน CPU ทำได้จริง Microsoft ได้แทนที่คอมโพเนนต์ภาษาของสถาปัตยกรรม VibeVoice-ASR เดิมจาก Qwen2.5-7B เป็น Qwen2.5-1.5B ที่เล็กกว่ามาก
พร้อมทั้งใช้วิธีควอนไทซ์ต่างกันกับสองคอมโพเนนต์หลัก:
I8_Sสำหรับตัวเข้ารหัสเสียง VAEI2_Sสำหรับโมเดลภาษา โดยใช้อินเบดดิงที่มีความละเอียดสูงกว่า
การปรับแต่งเหล่านี้ลดขนาดโมเดลรวมจากประมาณ 4.62 GB เหลือ 1.58 GB ทำให้รันบนแล็ปท็อปและเดสก์ท็อปได้อย่างเหมาะสม
แม้จะลดขนาดลงมาก โมเดลที่บีบอัดมีอัตราความผิดพลาดของคำ (WER) เพิ่มขึ้นเพียง ประมาณ 1–4 เปอร์เซ็นต์ เมื่อเทียบกับสถาปัตยกรรมที่ใหญ่กว่า
VibeASR.cpp ใช้เฟรมเวิร์ก ggml คำสั่ง CPU แบบกำหนดเอง และการหลอมรวมโอเปอเรเตอร์เพื่อเพิ่มความเร็วในการอนุมาน
ตามผลทดสอบของ Microsoft มันสามารถรันได้เร็วกว่า Whisper.cpp 1.6–2.3 เท่า เมื่อเทียบกับขนาดโมเดลใกล้เคียงกัน และทำความเร็วเกินเรียลไทม์ได้บน CPU ที่รองรับเมื่อใช้จำนวนเธรดเพียงพอ
ในการทดสอบบน CPU ของ Microsoft โมเดลทำค่า RTF ได้ 0.63 ด้วย 4 เธรด และ 0.42 ด้วย 8 เธรด เทียบเท่าความเร็วประมาณ 1.59× และ 2.38× ของเรียลไทม์
WER ที่รายงานประกอบด้วย 8.25% บน MLC English 21.36% บนเสียงจากเฮดเซ็ต AMI 25.87% บนเสียงไมค์ระยะไกล AMI และ 2.41% บน LibriSpeech clean แสดงสมดุลที่ดีระหว่างความแม่นยำในการถอดเสียง ขนาดโมเดล และประสิทธิภาพบน CPU
1. ติดตั้งเครื่องมือสำหรับบิลด์ที่จำเป็น
VibeASR.cpp รันทั้งหมดบน CPU จึงไม่ต้องใช้ GPU เฉพาะทาง ต้องมีเพียงคอมพิวเตอร์ Windows, Linux หรือ macOS ที่รองรับ, Python 3.9 ขึ้นไป, Git, คอมไพเลอร์ C++ และพื้นที่ดิสก์ว่างประมาณ 4 GB สำหรับซอร์สโค้ด ไฟล์บิลด์ และโมเดล
กระบวนการบิลด์ยังต้องใช้ CMake และ Ninja ด้วย
บน Windows วิธีที่ง่ายที่สุดคือใช้ w64devkit ซึ่งมีคอมไพเลอร์และเครื่องมือบิลด์พร้อมใช้งานในเทอร์มินัลที่ตั้งค่าไว้ล่วงหน้า
บน Linux สามารถติดตั้งแพ็กเกจที่ต้องการได้โดยตรงผ่านตัวจัดการแพ็กเกจของระบบ
Windows
ดาวน์โหลดไฟล์ .exe แบบ x64 เวอร์ชันล่าสุดจาก หน้ารายการออกเวอร์ชันของ w64devkit.

ไฟล์ที่ดาวน์โหลดเป็นแอรกไคฟแบบ self-extracting ให้รันและแตกไฟล์โฟลเดอร์ไปไว้ในที่ที่เรียบง่าย เช่น:
C:\w64devkit
จากนั้นเปิด:
C:\w64devkit\w64devkit.exe
จะเปิดเทอร์มินัลพร้อมใช้งานที่มี GCC, CMake, Make และ Ninja ให้พร้อม สามารถใช้เทอร์มินัลนี้สำหรับขั้นตอนที่เหลือบน Windows ได้โดยไม่ต้องตั้งค่า environment variables เอง
Linux
บน Ubuntu, Debian และดิสทริบิวชันที่เกี่ยวข้อง สามารถติดตั้งคอมไพเลอร์และเครื่องมือบิลด์ที่ต้องการด้วยคำสั่งเดียว:
sudo apt update
sudo apt install build-essential cmake ninja-build git python3 python3-venv
คำสั่งนี้จะติดตั้งคอมไพเลอร์ GCC, CMake, Ninja, Git, Python และแพ็กเกจที่ใช้สร้างสภาพแวดล้อมเสมือนของ Python
macOS
บน macOS ให้ติดตั้งเครื่องมือพัฒนาบรรทัดคำสั่งของ Apple:
xcode-select --install
จะต้องใช้ Git, Python 3.9 ขึ้นไป, CMake และ Ninja ด้วย วิธีที่ง่ายที่สุดในการติดตั้งเครื่องมือที่เหลือคือผ่าน Homebrew:
brew install git python cmake ninja
2. โคลน VibeASR.cpp และตั้งค่าสภาพแวดล้อม Python
กระบวนการตั้งค่าต่อไปนี้เหมือนกันสำหรับ Windows, Linux และ macOS
ขั้นตอนที่เฉพาะระบบปฏิบัติการมีเพียงคำสั่งสำหรับเปิดใช้งานสภาพแวดล้อมเสมือนของ Python เท่านั้น
เปิดเทอร์มินัล ไปยังโฟลเดอร์ที่จะเก็บโปรเจกต์ และโคลนรีโพ VibeASR.cpp:
git clone --recursive https://github.com/microsoft/VibeASR.cpp.git
cd VibeASR.cpp

ออปชัน --recursive จะดาวน์โหลดซับโมดูล llama.cpp ที่จำเป็นด้วย หากไม่มีไฟล์นี้ บางส่วนที่ต้องใช้ในการบิลด์รันไทม์อนุมานจะขาดไป
สร้างสภาพแวดล้อมเสมือนของ Python ภายในโฟลเดอร์โปรเจกต์
python -m venv .venv
เปิดใช้งานด้วยคำสั่งตามระบบปฏิบัติการของคุณ
Windows โดยใช้เทอร์มินัล w64devkit:
. .venv/Scripts/activate
Linux และ macOS:
source .venv/bin/activate
หลังเปิดใช้งาน เทอร์มินัลควรแสดง (.venv) ก่อนพรอมป์ตคำสั่ง ตรวจสอบว่า Python ใช้งานได้:
python --version
อัปเกรด pip และติดตั้ง dependencies ของโปรเจกต์:
python -m pip install --upgrade pip
pip install -r requirements.txt
แพ็กเกจเหล่านี้รวมถึงแพ็กเกจ Python ที่ใช้โดยสคริปต์ตั้งค่า กระบวนการดาวน์โหลดโมเดล และเว็บอินเทอร์เฟซ Gradio แบบโลคัล
3. บิลด์ VibeASR.cpp และดาวน์โหลดโมเดล
VibeASR.cpp มีสคริปต์ตั้งค่าที่จัดการทั้งกระบวนการบิลด์ C++ และการดาวน์โหลดโมเดล
สคริปต์จะคอมไพล์โปรแกรมสำหรับบรรทัดคำสั่งและสตรีมมิง ติดตั้งแพ็กเกจ GGUF ที่จำเป็น และดาวน์โหลดไฟล์โมเดลที่ควอนไทซ์ไว้ล่วงหน้ามายังไดเรกทอรีโปรเจกต์
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานสภาพแวดล้อมเสมือนของ Python ก่อนรันสคริปต์ตั้งค่า
บน Linux และ macOS ให้รัน:
python setup_env.py
บน Windows ให้รันคำสั่งต่อไปนี้ในเทอร์มินัล w64devkit:
CMAKE_GENERATOR=Ninja python setup_env.py
การกำหนด CMAKE_GENERATOR=Ninja ช่วยให้ CMake ใช้ระบบบิลด์ Ninja แทนการพยายามใช้ Microsoft Visual C++ ซึ่งไม่มีให้ใช้ในสภาพแวดล้อม w64devkit
สคริปต์ตั้งค่าจะ:
- ติดตั้งแพ็กเกจ Python
ggufที่จำเป็น - คอนฟิกและคอมไพล์ VibeASR.cpp
- บิลด์โปรแกรมสำหรับอนุมานและสตรีมมิง
- ดาวน์โหลดไฟล์โมเดล VibeASR ที่ควอนไทซ์ไว้ล่วงหน้า
- บันทึกโมเดลที่ดาวน์โหลดไว้ใน
models/vibeasr
หลังจากกระบวนการเสร็จสิ้น ไฟล์ปฏิบัติการหลักสำหรับอนุมานจะอยู่ที่ตำแหน่งต่อไปนี้
บน Windows:
build/bin/asr_infer.exe
บน Linux และ macOS:
build/bin/asr_infer
ตรวจสอบว่าไฟล์ปฏิบัติการถูกบิลด์สำเร็จโดยแสดงตัวเลือกบรรทัดคำสั่งที่มีให้
บน Windows:
./build/bin/asr_infer.exe --help
บน Linux และ macOS:
./build/bin/asr_infer --help

4. ทดสอบการถอดเสียงแบบไฟล์และแบบสตรีมมิง
เมื่อพร้อมทั้งรันไทม์และโมเดลแล้ว สามารถทดสอบการถอดเสียงได้สองวิธี
โปรแกรมอนุมานมาตรฐานจะประมวลผลไฟล์เสียงหนึ่งไฟล์และส่งคืนทรานสคริปต์ที่เสร็จสมบูรณ์ ขณะที่เซิร์ฟเวอร์สตรีมมิงจะคงโหลดโมเดลไว้และแสดงผลการถอดเสียงแบบค่อยเป็นค่อยไปตามโทเค็นที่ถูกสร้าง
เริ่มจากดาวน์โหลดตัวอย่างเสียงสั้น ๆ ภายในโฟลเดอร์โปรเจกต์ VibeASR.cpp:
curl -L "https://homepages.inf.ed.ac.uk/htang2/notes/speech-samples/103-1240-0000.wav" -o recording.wav
ไฟล์เสียงจะถูกบันทึกเป็น recording.wav ในไดเรกทอรีโปรเจกต์ปัจจุบัน
ถอดเสียงไฟล์เสียง
คำสั่งอนุมานมาตรฐานจะโหลดตัวเข้ารหัสเสียงและโมเดลภาษา ประมวลผลเสียงบันทึก และพิมพ์ผลถอดเสียงที่เสร็จสมบูรณ์
บน Windows ให้รัน:
./build/bin/asr_infer.exe \
--vae-model models/vibeasr/vibeasr-vae-encoder-i8_s.gguf \
--lm-model models/vibeasr/vibeasr-lm-i2_s-embed-q6_k.gguf \
--audio recording.wav \
-t 6 \
--greedy
บน Linux และ macOS ใช้คำสั่งเดียวกันแต่ไม่ต้องมีนามสกุล .exe:
./build/bin/asr_infer \
--vae-model models/vibeasr/vibeasr-vae-encoder-i8_s.gguf \
--lm-model models/vibeasr/vibeasr-lm-i2_s-embed-q6_k.gguf \
--audio recording.wav \
-t 6 \
--greedy

ออปชัน -t 6 กำหนดให้ใช้ 6 เธรดของ CPU สำหรับอนุมาน สามารถเพิ่มหรือลดตามซีพียูของคุณได้
ออปชัน --greedy จะเลือกโทเค็นที่มีความน่าจะเป็นสูงสุดในแต่ละขั้นตอนการถอดรหัส ช่วยให้ได้ผลการถอดเสียงที่สม่ำเสมอ
บนเครื่องของฉัน การประมวลผลเสียงยาว 14.085 วินาที ใช้เวลาประมาณ 13.7 วินาที:
RTF: 0.9726
Speed: approximately 1.03× real time
ค่า real-time factor หรือ RTF เปรียบเทียบเวลาประมวลผลกับความยาวของเสียง
RTF ต่ำกว่า 1.0 หมายความว่าถอดเสียงได้เร็วกว่าความยาวจริงของการเล่นเสียง ประสิทธิภาพจะแตกต่างกันตามซีพียู ระบบปฏิบัติการ จำนวนเธรด และความยาวของเสียง
ทดสอบการสตรีมโทเค็นต่อโทเค็น
VibeASR.cpp มีเซิร์ฟเวอร์สตรีมมิงแบบคงอยู่ด้วย โดยจะโหลดไฟล์โมเดลทั้งสองครั้งเดียวและทำงานต่อเนื่อง ทำให้ส่งงานถอดเสียงหลายไฟล์ได้โดยไม่ต้องรีสตาร์ตและรีโหลดโมเดลทุกครั้ง
ผลลัพธ์ทำงานคล้ายการสตรีมจากโมเดลภาษาขนาดใหญ่
แทนที่จะรอถอดเสียงทั้งชิ้นให้เสร็จ จะเริ่มเห็นข้อความทันทีที่ตัวถอดรหัสสร้างแต่ละโทเค็น
บางโทเค็นอาจเป็นคำเต็ม ขณะที่บางโทเค็นอาจเป็นส่วนของคำหรือเครื่องหมายวรรคตอน แต่จะแสดงไปเรื่อย ๆ จนกว่าทรานสคริปต์จะเสร็จ
บน Windows เริ่มเซิร์ฟเวอร์ด้วย:
./build/bin/asr_stream_server.exe \
--vae-model models/vibeasr/vibeasr-vae-encoder-i8_s.gguf \
--lm-model models/vibeasr/vibeasr-lm-i2_s-embed-q6_k.gguf \
-t 6 \
--greedy
บน Linux และ macOS ให้รัน:
./build/bin/asr_stream_server \
--vae-model models/vibeasr/vibeasr-vae-encoder-i8_s.gguf \
--lm-model models/vibeasr/vibeasr-lm-i2_s-embed-q6_k.gguf \
-t 6 \
--greedy

รอจนกว่าเซิร์ฟเวอร์โหลดโมเดลเสร็จและแสดง:
---READY---
ป้อนพาธของไฟล์เสียงแล้วกด Enter:
recording.wav
การถอดเสียงจะเริ่มปรากฏทีละโทเค็น เมื่อประมวลผลไฟล์ครบ เซิร์ฟเวอร์จะแสดง:
---END---

จากนั้นสามารถป้อนพาธไฟล์เสียงอื่นต่อได้โดยไม่ต้องรีโหลดโมเดล หากต้องการหยุดเซิร์ฟเวอร์ ให้พิมพ์:
exit
เวิร์กโฟลว์แบบคงอยู่นี้มีประโยชน์มากเมื่อถอดเสียงหลายไฟล์หรือเชื่อมต่อ VibeASR.cpp เข้ากับแอปพลิเคชันอื่นที่ต้องการผลลัพธ์การถอดเสียงแบบไล่ลำดับ
5. เปิดใช้งานและทดสอบเว็บอินเทอร์เฟซ
VibeASR.cpp มาพร้อมเว็บอินเทอร์เฟซ Gradio แบบโลคัลสำหรับอัปโหลดไฟล์เสียงหรือบันทึกเสียงผ่านไมโครโฟน กระบวนการเหมือนกันบน Windows, Linux และ macOS แต่บน Windows ใช้ไฟล์ปฏิบัติการที่ลงท้ายด้วย .exe
dependencies สำหรับอินเทอร์เฟซ รวมถึง Gradio, SoundFile และ NumPy ได้ติดตั้งผ่าน requirements.txt แล้ว
ก่อนอื่น ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานสภาพแวดล้อมเสมือน
Windows โดยใช้เทอร์มินัล w64devkit:
. .venv/Scripts/activate
Linux และ macOS:
source .venv/bin/activate
บน Windows เปิดอินเทอร์เฟซด้วย:
python demo/gradio_asr_demo.py \
--port 7860 \
--bin build/bin/asr_infer.exe \
--server-bin build/bin/asr_stream_server.exe
บน Linux และ macOS จะตรวจจับพาธไฟล์ปฏิบัติการดีฟอลต์โดยอัตโนมัติ:
python demo/gradio_asr_demo.py --port 7860
พาธโมเดลถูกกำหนดไว้ในสคริปต์ Gradio สำหรับทุกระบบปฏิบัติการแล้ว จึงไม่ต้องใส่ในคำสั่ง
สคริปต์รองรับการกำหนดพาธแยกกันสำหรับโปรแกรมอนุมานมาตรฐานและเซิร์ฟเวอร์สตรีมมิงด้วย
เปิดที่อยู่ต่อไปนี้ในเบราว์เซอร์:
http://127.0.0.1:7860
สำรวจอินเทอร์เฟซ
อินเทอร์เฟซช่วยให้คุณ:
- เลือกโมเดลสำหรับ CPU
- กำหนดจำนวนเธรดของ CPU
- สลับระหว่างการประมวลผลแบบ Online และ Offline
- เปิดใช้การถอดรหัสแบบ greedy หรือปรับอุณหภูมิและ Top-p
- อัปโหลดไฟล์เสียงหรือบันทึกจากไมโครโฟนโดยตรง
- เพิ่ม hotword ทางเลือก เช่น ชื่อบุคคลหรือศัพท์เทคนิค
- ดูทรานสคริปต์ ระยะเวลาของเสียง และค่า real-time factor
ที่นี่ โหมด Online ไม่ได้หมายความว่าเสียงของคุณถูกส่งไปยังบริการออนไลน์.
มันจะประมวลผลเสียงยาว ๆ แบบค่อยเป็นค่อยไปเป็นชิ้นย่อย และใช้ asr_stream_server เมื่อมีให้ใช้
โหมด Offline จะประมวลผลไฟล์เสียงทั้งหมดก่อนจึงจะแสดงผลลัพธ์

ทดสอบเสียงสั้น ๆ
สำหรับการทดสอบแรก ฉันบันทึกประโยคสั้น ๆ ผ่านไมโครโฟนโดยตรงและเลือกโหมด Offline ด้วย 4 เธรดของ CPU

RTF เท่ากับ 0.9584 หมายความว่าโมเดลใช้เวลาประมาณ 0.96 วินาทีต่อเสียง 1 วินาที
คิดเป็นความเร็วประมาณ 1.04× ของเรียลไทม์ ดังนั้นการถอดเสียงจึงเสร็จเร็วกว่าเวลาจริงของเสียงเล็กน้อย
ทดสอบเสียงที่ยาวขึ้น
ฉันทดสอบอินเทอร์เฟซกับเสียงที่ยาวขึ้นซึ่งมีคำพูดประมาณ 109.7 วินาที โมเดลสามารถถอดเสียงจนเสร็จสมบูรณ์และรายงานว่า:
RTF: 0.5305
Audio: 109.7s

แปลว่าโมเดลใช้เวลาประมาณ 0.53 วินาทีต่อเสียง 1 วินาที ไฟล์ทั้งชิ้นใช้เวลาถอดเสียงประมาณ 58 วินาที คิดเป็นความเร็วประมาณ 1.88× ของเรียลไทม์.
ข้อคิดส่งท้าย
ประทับใจกับความเป็นไปได้ของการรู้จำเสียงแบบโลคัลในปัจจุบัน
แม้บน CPU รุ่นเก่า VibeASR.cpp ก็ถอดเสียงได้ใกล้หรือเร็วกว่าความเร็วเรียลไทม์ โดยไม่ต้องใช้ GPU หน่วยความจำมาก หรือพื้นที่จัดเก็บมากนัก
ไฟล์ปฏิบัติการที่คอมไพล์แล้วสามารถผสานเข้ากับแอปพลิเคชัน Python หุ้มด้วยเอ็นด์พอยต์ FastAPI หรือใช้เป็นเอนจินถอดเสียงให้กับเครื่องมือโลคัลที่ใหญ่ขึ้นได้
การตั้งค่าหลักที่ควรพิจารณาคือจำนวนเธรดของ CPU ที่จัดสรรให้กับกระบวนการ
นอกจากนี้ต้องเลือกระหว่างโหมดออนไลน์ ซึ่งสตรีมทรานสคริปต์แบบค่อยเป็นค่อยไป กับโหมดออฟไลน์ ซึ่งส่งคืนผลถอดเสียงทั้งหมดหลังประมวลผลเสียงเสร็จ
ขั้นตอนการตั้งค่ายังสามารถทำให้ง่ายกว่านี้ได้ โดยเฉพาะบน Windows, Linux และ macOS
เนื่องจากโปรเจกต์ยังอยู่ระหว่างพัฒนา คาดว่าการติดตั้งและการรองรับไบนารีสำเร็จรูปจะดีขึ้นเรื่อย ๆ เมื่อมีไบนารีสแตนด์อโลนที่เสถียร ฉันเห็นภาพว่าจะได้นำโมเดลนี้ไปใช้ในโปรเจกต์ speech-to-text แบบโลคัลอีกมาก
ขอแนะนำให้ดู บทช่วยสอน GPT Live Transcribe APIของเราเพิ่มเติมด้วย
FAQs
โมเดล VibeASR รองรับภาษาใดบ้างจริง ๆ?
โมเดล VibeVoice-ASR รองรับภาษามากกว่า 50 ภาษาโดยเนื้อแท้ รวมถึงภาษาอังกฤษ จีน ฝรั่งเศส อิตาลี เกาหลี โปรตุเกส และเวียดนาม โดยไม่ต้องตั้งค่าภาษาอย่างชัดเจน และสามารถจัดการการ "สลับภาษา" อัตโนมัติได้ (เมื่อผู้พูดผสมหลายภาษาในประโยคเดียวตามธรรมชาติ)
จำเป็นต้องแปลงไฟล์ MP3 หรือวิดีโอก่อนถอดเสียงหรือไม่?
หากใช้โปรแกรมบรรทัดคำสั่ง asr_infer โดยตรง จะคาดหวังไฟล์ .wav (โดยทั่วไป 16kHz, 16-bit โมโน) หากมีเสียงในรูปแบบอื่น เช่น MP3, M4A หรือ FLAC จำเป็นต้องแปลงเป็น WAV ก่อนด้วยเครื่องมืออย่าง FFmpeg แล้วจึงส่งให้ CLI ประมวลผล
โมเดลสามารถระบุผู้พูดที่ต่างกันหรือให้ไทม์แสตมป์ระดับคำได้หรือไม่?
สถาปัตยกรรมพื้นฐานของ VibeVoice-ASR ถูกออกแบบมาให้สร้างผลลัพธ์แบบมีโครงสร้างที่ประกอบด้วย "ใคร" (การระบุผู้พูด), "เมื่อไหร่" (ไทม์แสตมป์) และ "อะไร" (เนื้อหา) ได้ในครั้งเดียว อย่างไรก็ตาม ไฟล์ปฏิบัติการอนุมาน C++ แบบเบา (VibeASR.cpp) ในปัจจุบันมุ่งเน้นที่การถอดเสียงข้อความดิบแบบค่อยเป็นค่อยไป หากต้องการผลลัพธ์ JSON แบบมีโครงสร้างเต็มรูปแบบพร้อมรหัสผู้พูดและไทม์แสตมป์ โดยทั่วไปจำเป็นต้องรันโมเดลผ่านไลบรารี Python อย่าง transformers