วิธีใช้ Whisper AI สําหรับการถอดเสียงสดบน Linux
Whisper AI เป็นโมเดลการรู้จําเสียงอัตโนมัติ (ASR) ขั้นสูงที่พัฒนาโดย OpenAI ซึ่งสามารถถอดเสียงเป็นข้อความด้วยความแม่นยําที่น่าประทับใจและรองรับหลายภาษา แม้ว่า Whisper AI จะออกแบบมาสําหรับการประมวลผลแบบแบทช์เป็นหลัก แต่ก็สามารถกําหนดค่าสําหรับการถอดเสียงพูดเป็นข้อความแบบเรียลไทม์บน Linux
ในคู่มือนี้ เราจะดําเนินการตามขั้นตอนทีละขั้นตอนในการติดตั้ง กําหนดค่า และเรียกใช้ Whisper AI สําหรับการถอดเสียงสดบนระบบ Linux
Whisper AI คืออะไร?
Whisper AI เป็นโมเดลการรู้จําเสียงแบบโอเพ่นซอร์สที่ได้รับการฝึกฝนจากชุดข้อมูลการบันทึกเสียงจํานวนมาก และใช้สถาปัตยกรรมการเรียนรู้เชิงลึกที่ช่วยให้สามารถ:
- ถอดเสียงคําพูดในหลายภาษา
- จัดการกับสําเนียงและเสียงรบกวนรอบข้างได้อย่างมีประสิทธิภาพ
- ทําการแปลภาษาพูดเป็นภาษาอังกฤษ
เนื่องจากได้รับการออกแบบมาสําหรับการถอดความที่มีความแม่นยําสูง จึงใช้กันอย่างแพร่หลายใน:
- บริการถอดเสียงแบบสด (เช่น เพื่อการเข้าถึง)
- ผู้ช่วยเสียงและระบบอัตโนมัติ
- การถอดเสียงที่บันทึกไว้ file.
โดยค่าเริ่มต้น Whisper AI จะไม่ได้รับการปรับให้เหมาะสมสําหรับการประมวลผลแบบเรียลไทม์ อย่างไรก็ตาม ด้วยเครื่องมือเพิ่มเติมบางอย่าง มันสามารถประมวลผลสตรีมเสียงสดสําหรับการถอดเสียงได้ทันที
ความต้องการของระบบ Whisper AI
ก่อนเรียกใช้ Whisper AI บน Linux ตรวจสอบให้แน่ใจว่าระบบของคุณตรงตามข้อกําหนดต่อไปนี้:
ข้อกําหนดฮาร์ดแวร์:
- ซีพียู: โปรเซสเซอร์มัลติคอร์ (Intel/AMD)
- RAM: อย่างน้อย 8GB (แนะนําให้ใช้ 16GB ขึ้นไป)
- GPU: NVIDIA GPU พร้อม CUDA (ไม่บังคับ แต่เพิ่มความเร็วในการประมวลผลอย่างมาก)
- พื้นที่เก็บข้อมูล: พื้นที่ว่างในดิสก์ขั้นต่ํา 10GB สําหรับรุ่นและการพึ่งพา
ความต้องการของซอฟต์แวร์:
- การแจกจ่าย Linux เช่น Ubuntu, Debian, Arch, Fedora เป็นต้น
- Python เวอร์ชัน 3.8 หรือใหม่กว่า
- ตัวจัดการแพ็คเกจ Pip สําหรับติดตั้งแพ็คเกจ Python
- FFmpeg สําหรับจัดการไฟล์เสียงและสตรีม
ขั้นตอนที่ 1: การติดตั้งการพึ่งพาที่จําเป็น
ก่อนติดตั้ง Whisper AI ให้อัปเดตรายการแพ็คเกจของคุณและอัปเกรดแพ็คเกจที่มีอยู่
sudo apt update [On Ubuntu]
sudo dnf update -y [On Fedora]
sudo pacman -Syu [On Arch]
ถัดไป คุณต้องติดตั้ง Python 3.8 หรือสูงกว่าและตัวจัดการแพ็คเกจ Pip ตามที่แสดง
sudo apt install python3 python3-pip python3-venv -y [On Ubuntu]
sudo dnf install python3 python3-pip python3-virtualenv -y [On Fedora]
sudo pacman -S python python-pip python-virtualenv [On Arch]
สุดท้าย คุณต้องติดตั้ง FFmpeg ซึ่งเป็นเฟรมเวิร์กมัลติมีเดียที่ใช้ในการประมวลผลไฟล์เสียงและวิดีโอ
sudo apt install ffmpeg [On Ubuntu]
sudo dnf install ffmpeg [On Fedora]
sudo pacman -S ffmpeg [On Arch]
ขั้นตอนที่ 2: ติดตั้ง Whisper AI ใน Linux
เมื่อติดตั้งการพึ่งพาที่จําเป็นแล้ว คุณสามารถดําเนินการติดตั้ง Whisper AI ในสภาพแวดล้อมเสมือนจริงที่ให้คุณติดตั้งแพ็คเกจ Python ได้โดยไม่ส่งผลกระทบต่อแพ็คเกจระบบ
python3 -m venv whisper_env
source whisper_env/bin/activate
pip install openai-whisper
เมื่อการติดตั้งเสร็จสิ้น ให้ตรวจสอบว่าติดตั้ง Whisper AI อย่างถูกต้องหรือไม่โดยเรียกใช้
whisper --help
สิ่งนี้ควรแสดงเมนูวิธีใช้พร้อมคําสั่งและตัวเลือกที่มีอยู่ ซึ่งหมายความว่า Whisper AI ได้รับการติดตั้งและพร้อมใช้งาน
ขั้นตอนที่ 3: เรียกใช้ Whisper AI ใน Linux
เมื่อติดตั้ง Whisper AI แล้ว คุณสามารถเริ่มถอดเสียงไฟล์โดยใช้คําสั่งต่างๆ
การถอดเสียงไฟล์
หากต้องการถอดเสียงไฟล์เสียง (audio.mp3) ให้เรียกใช้:
whisper audio.mp3
Whisper จะประมวลผลไฟล์และสร้างการถอดเสียงในรูปแบบข้อความ
เมื่อติดตั้งทุกอย่างแล้ว มาสร้างสคริปต์ Python เพื่อบันทึกเสียงจากไมโครโฟนของคุณและถอดเสียงแบบเรียลไทม์
nano real_time_transcription.py
คัดลอกและวางรหัสต่อไปนี้ลงในไฟล์
import sounddevice as sd
import numpy as np
import whisper
import queue
import threading
Load the Whisper model
model = whisper.load_model("base")
Audio parameters
SAMPLE_RATE = 16000
BUFFER_SIZE = 1024
audio_queue = queue.Queue()
def audio_callback(indata, frames, time, status):
"""Callback function to capture audio data."""
if status:
print(status)
audio_queue.put(indata.copy())
def transcribe_audio():
"""Thread to transcribe audio in real time."""
while True:
audio_data = audio_queue.get()
audio_data = np.concatenate(list(audio_queue.queue)) # Combine buffered audio
audio_queue.queue.clear()
# Transcribe the audio
result = model.transcribe(audio_data.flatten(), language="en")
print(f"Transcription: {result['text']}")
Start the transcription thread
transcription_thread = threading.Thread(target=transcribe_audio, daemon=True)
transcription_thread.start()
Start capturing audio from the microphone
with sd.InputStream(callback=audio_callback, channels=1, samplerate=SAMPLE_RATE, blocksize=BUFFER_SIZE):
print("Listening... Press Ctrl+C to stop.")
try:
while True:
pass
except KeyboardInterrupt:
print("\nStopping...")
เรียกใช้สคริปต์โดยใช้ Python ซึ่งจะเริ่มฟังอินพุตไมโครโฟนของคุณและแสดงข้อความที่ถอดเสียงแบบเรียลไทม์ พูดใส่ไมโครโฟนของคุณอย่างชัดเจน และคุณจะเห็นผลลัพธ์ที่พิมพ์อยู่บนเทอร์มินัล
python3 real_time_transcription.py
บทสรุป
Whisper AI เป็นเครื่องมือแปลงคําพูดเป็นข้อความที่ทรงพลังซึ่งสามารถปรับให้เข้ากับการถอดความแบบเรียลไทม์บน Linux เพื่อผลลัพธ์ที่ดีที่สุด ให้ใช้ GPU และเพิ่มประสิทธิภาพระบบของคุณสําหรับการประมวลผลแบบเรียลไทม์