ค้นหาเว็บไซต์

วิธีใช้ 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 และเพิ่มประสิทธิภาพระบบของคุณสําหรับการประมวลผลแบบเรียลไทม์