ویدئوهای آموزشی رایگانورود

دسترسی کامل و رایگان · بدون نیاز به کارت بانکی

زیرنویس فارسی با faster-whisper: از فایل صدا تا SRT قابل‌ویرایش

یک بخش کوتاه از ویدئوی خودتان را پیاده کنید و پیش از پردازش کل فایل، نام‌ها، اعداد و زمان‌بندی را کنترل کنید.

قرقره صدا با نوار موج‌دار که به سه نوار خالی زیرنویس باز می‌شود.

خلاصه: faster-whisper برای تبدیل گفتار به متن با زمان شروع و پایان جمله‌ها به کار می‌رود. با یک اسکریپت کوتاه می‌توان این زمان‌ها را به فایل SRT تبدیل کرد. از یک نمونه یک‌دقیقه‌ای فارسی شروع کنید؛ خروجی خودکار باید از نظر نام‌ها، اعداد، سکوت و هماهنگی با تصویر بازبینی شود.

پیش‌نیاز: Python 3.9 یا بالاترِ سازگار با وابستگی‌ها، فایل صوتی مجاز و ادیتور پشتیبان SRT.
سطح: متوسط

آن یک دقیقه‌ای که مسیر را مشخص می‌کند

یک ویدئوی ده‌دقیقه‌ای آموزش نورپردازی دارید و می‌خواهید زیرنویسش کنید. شروع از کل ویدئو ممکن است نیم ساعت بعد نشان دهد نام یک ابزار در همه جمله‌ها اشتباه نوشته شده. پیشنهاد عملی این است که ابتدا بخشی شامل نام ابزار، یک عدد و چند ثانیه سکوت را انتخاب کنید. این سه مورد، آزمون بهتری از یک جمله کوتاه و آسان می‌سازند.

faster-whisper بازپیاده‌سازی Whisper با CTranslate2 است و نمونه رسمی اجرای CPU با int8 دارد. عملکرد دقیق به دستگاه و تنظیمات وابسته است؛ اعداد بنچمارک مخزن را وعده سرعت برای همه سیستم‌ها حساب نکنید. README رسمی

مسیر شروع روی ویندوز

در یک پوشه آزمایشی، Python سازگار با README نصب کنید، محیط جدا بسازید و بسته را نصب کنید:

py -m venv .venv
.\.venv\Scripts\python.exe -m pip install faster-whisper

اسکریپت زیر نمونه پیشنهادی است؛ مسیر مستندات بررسی شده، اما کد روی دستگاه شما اجرا نشده است. اولین اجرا مدل را دانلود می‌کند.

from faster_whisper import WhisperModel

def stamp(t):
    ms = round(t * 1000)
    h, ms = divmod(ms, 3600000)
    m, ms = divmod(ms, 60000)
    s, ms = divmod(ms, 1000)
    return f"{h:02}:{m:02}:{s:02},{ms:03}"

model = WhisperModel("small", device="cpu", compute_type="int8")
segments, _ = model.transcribe("sample.mp3", language="fa", vad_filter=True)
with open("sample.srt", "w", encoding="utf-8") as out:
    for i, seg in enumerate(segments, 1):
        out.write(f"{i}\n{stamp(seg.start)} --> {stamp(seg.end)}\n{seg.text.strip()}\n\n")

نام فایل را با فایل خودتان جایگزین کنید؛ اگر Python را از داخل محیط جدا اجرا کنید، بسته همان محیط استفاده می‌شود. برای شروع، تنظیم GPU و کتابخانه‌های CUDA را وارد مسیر نکنید.

کنترل نتیجه در ادیتور

SRT را وارد ادیتور ویدئو کنید. آیا «سافت‌باکس» درست نوشته شده؟ آیا «۴۵ درجه» به عدد دیگری تبدیل نشده؟ آیا روی سکوت، جمله اضافه دیده می‌شود؟ متن و زمان‌بندی را اصلاح کنید و جمله‌های خیلی بلند را برای خوانایی بشکنید. سپس همان تنظیم را روی کل فایل امتحان کنید.

محدودیت و هزینه

مدل بزرگ‌تر به دانلود، حافظه و زمان بیشتری نیاز دارد و لزوماً همه اصطلاحات فارسی را درست نمی‌نویسد. int8 یک انتخاب شروع برای CPU است، نه تضمین کیفیت نهایی. فایل را تنها با اجازه صاحب آن پیاده کنید. پردازش محلی پیشنهادی API پولی نمی‌خواهد، اما مصرف منابع و زمان بازبینی دارد. مجوز MIT

وضعیت پروژه و منابع

در بررسی ۸ اکتبر ۲۰۲۶، مخزن 25,746 ستاره داشت و بایگانی نبود. آخرین push ثبت‌شده: 2026-10-06. این اعداد نشانه توجه و فعالیت پروژه‌اند؛ نتیجه، امنیت یا سازگاری با دستگاه شما را تضمین نمی‌کنند. مخزن و README · مجوز · فعالیت

مشخصات مخزن

  • مخزن: SYSTRAN/faster-whisper
  • ستاره‌ها هنگام بررسی: ۲۵٬۷۴۶ (۱۶ مهر ۱۴۰۵)
  • مجوز: MIT

سؤالات متداول

آیا برای شروع کارت گرافیک لازم است؟

نمونه CPU در مستندات وجود دارد. سرعت به دستگاه و مدل بستگی دارد؛ ابتدا یک نمونه کوتاه را پردازش کنید.

آیا این خروجی زیرنویس نهایی است؟

خیر. اسکریپت SRT اولیه می‌سازد؛ املای فارسی، طول جمله و زمان‌بندی باید در ادیتور کنترل شوند.

محدودیت‌ها

دانلود مدل در اجرای اول؛ احتمال خطا در نام، عدد و سکوت؛ مسیر GPU نیازمند وابستگی‌های جداست.

منابع

بیشتر بخوانید

مطالب مرتبط

ویدئوی آموزشی رایگان