- GPT Subtitler เป็นเว็บแอปพลิเคชันที่ได้รับแรงบันดาลใจจากโปรเจ็กต์นี้ พร้อมด้วยฟีเจอร์อันทรงพลังมากมาย:
รองรับการแปลคำบรรยายคุณภาพสูงโดยใช้โมเดลต่างๆ เช่น Anthropic Claude, GPT-3.5 และ GPT-4 ปัจจุบันแนะนำให้ใช้โมเดล Claude-Haiku
นอกจากนี้ รุ่น Gemini-1.5-flash และ Gemini-1.5-pro ยังมีให้ผู้ใช้ทดลองใช้ฟรี แม้ว่าอาจไม่แม่นยำเท่ากับรุ่น Claude-Haiku ก็ตาม
- ผู้ใช้ใหม่จะได้รับโทเค็นฟรี 100,000 เหรียญเมื่อลงทะเบียน ซึ่งเพียงพอที่จะแปลคำบรรยายวิดีโอฟรี 20 นาที
- สามารถรับโทเค็นฟรีได้ทุกวัน และสามารถซื้อโทเค็นได้ในราคาต่ำ ไม่จำเป็นต้องมีคีย์ API เพื่อใช้การแปล AI
- ดูตัวอย่างผลลัพธ์การแปลแบบเรียลไทม์ รองรับพร้อมท์การแก้ไข ตัวอย่างสั้นๆ และความสามารถในการหยุดการแปลได้ตลอดเวลาและรีสตาร์ทจากตำแหน่งใดก็ได้ หลังการแปล สามารถส่งออกไฟล์คำบรรยาย SRT ได้หลายรูปแบบ (การแปล + ต้นฉบับหรือต้นฉบับ + คำบรรยายสองภาษาการแปล)
ขณะนี้เว็บไซต์อยู่ในขั้นเริ่มต้นของการพัฒนาและต้องการการสนับสนุนและข้อเสนอแนะจากคุณ! คุณสามารถทดลองใช้และให้คำแนะนำอันมีค่าได้
หากคุณพบข้อบกพร่องหรือมีข้อเสนอแนะระหว่างการใช้งาน โปรดแจ้งปัญหาเกี่ยวกับโครงการ GitHub หรือส่งข้อเสนอแนะผ่านทางอีเมล
ลิงค์เว็บ https://gptsubtitler.com/en
ขอบคุณสำหรับการสนับสนุนของคุณและสำหรับการอ่านมาไกลขนาดนี้!
นี่คือรหัสแลกสำหรับ 100,000 โทเค็น: GPTSubtitler_github_repo
คุณสามารถใช้งานได้ที่การตั้งค่า
下载 YouTube 视频(或提供您自己的视频)并使用 Whisper 和翻译API生成双语字幕,中文文档请见 中文
โปรเจ็กต์นี้เป็นสคริปต์ Python ที่ดาวน์โหลดวิดีโอ YouTube (หรือใช้ไฟล์วิดีโอในเครื่อง) ถอดเสียง แปลบทบรรยายเป็นภาษาเป้าหมาย และสร้างวิดีโอที่มีคำบรรยายคู่ (ต้นฉบับและแปล) การถอดเสียงและการแปลขับเคลื่อนโดยโมเดล Whisper และ API การแปล (M2M100, google, GPT3.5) ตามลำดับ
การแปล GPT-3.5 เทียบกับ Google แปลภาษา
ข้อโต้แย้ง:
นอกจากนี้ เมื่อรันสคริปต์เป็นครั้งแรก สคริปต์จะดาวน์โหลดโมเดลที่ได้รับการฝึกล่วงหน้าต่อไปนี้:
pip install -r requirements.txt
คุณสามารถระบุ URL ของ YouTube หรือไฟล์วิดีโอในเครื่องเพื่อการประมวลผลได้ สคริปต์จะถอดเสียงวิดีโอ แปลข้อความถอดเสียง และสร้างคำบรรยายคู่ในรูปแบบของไฟล์ SRT
python main.py --youtube_url [YOUTUBE_URL] --target_language [TARGET_LANGUAGE] --model [WHISPER_MODEL] --translation_method [TRANSLATION_METHOD]
--youtube_url: URL ของวิดีโอ YouTube
--local_video: เส้นทางไปยังไฟล์วิดีโอในเครื่อง
--target_language: ภาษาเป้าหมายสำหรับการแปล (ค่าเริ่มต้น: 'zh')
--model: เลือกหนึ่งในรุ่น Whisper (ค่าเริ่มต้น: 'เล็ก' ตัวเลือก: ['เล็ก', 'ฐาน', 'เล็ก', 'กลาง', 'ใหญ่'])
--translation_method: วิธีการใช้สำหรับการแปล (ค่าเริ่มต้น: 'google' ตัวเลือก: ['m2m100', 'google', 'whisper', 'gpt', 'no_translate'])
--no_transcribe: ข้ามขั้นตอนการถอดเสียง สมมติว่ามีไฟล์ SRT ที่มีชื่อเดียวกับไฟล์วิดีโอ
หมายเหตุ: คุณต้องระบุ --youtube_url หรือ --local_video อย่างใดอย่างหนึ่ง แต่ไม่ใช่ทั้งสองอย่าง
หากต้องการดาวน์โหลดวิดีโอ YouTube ให้ถอดเสียงและสร้างคำบรรยายในภาษาเป้าหมายโดยใช้ Google API เพื่อแปล:
python main.py --youtube_url [YOUTUBE_URL] --target_language 'zh' --model 'small' --translation_method 'google'
หากต้องการประมวลผลไฟล์วิดีโอในเครื่อง ให้ถอดเสียงและสร้างคำบรรยายในภาษาเป้าหมายโดยใช้ gpt3.5-16k (คุณจะต้องระบุคีย์ OpenAI API)):
python main.py --local_video [VIDEO_FILE_PATH] --target_language 'zh' --model 'medium' --translation_method 'gpt'
สคริปต์จะสร้างไฟล์เอาต์พุตต่อไปนี้ในไดเร็กทอรีเดียวกันกับวิดีโออินพุต:
สคริปต์นี้แปลคำบรรยายโดยใช้โมเดลภาษา GPT-3.5 ของ OpenAI ต้องใช้ คีย์ OpenAI API จึงจะทำงานได้ ในกรณีส่วนใหญ่ การแปลแบบ GPT จะให้ผลลัพธ์ที่ดีกว่ามากเมื่อเทียบกับ Google แปลภาษา โดยเฉพาะอย่างยิ่งเมื่อต้องรับมือกับการแปลเฉพาะบริบทหรือสำนวนสำนวน สคริปต์นี้มีจุดมุ่งหมายเพื่อให้เป็นทางเลือกในการแปลคำบรรยายเมื่อบริการแปลแบบเดิมๆ เช่น Google Translate ไม่ได้ผลลัพธ์ที่น่าพอใจ
OPENAI_API_KEY=your_api_key_here
แทนที่ your_api_key_here ด้วยคีย์ API ที่คุณได้รับจาก OpenAI
python translate_gpt.py --input_file INPUT_FILE_PATH [--batch_size BATCH_SIZE] [--target_language TARGET_LANGUAGE] [--source_language SOURCE_LANGUAGE] [--video_info VIDEO_INFO] [--model MODEL_NAME] [--no_mapping] [--load_tmp_file]
คุณสามารถตรวจสอบไฟล์ response.log
ในโฟลเดอร์ที่มีไฟล์วิดีโออินพุตสำหรับการอัปเดตแบบเรียลไทม์ได้ ซึ่งคล้ายกับประสบการณ์การใช้งาน ChatGPT
บันทึก:
ข้อมูลวิดีโอ: อาร์กิวเมนต์ --video_info
ยอมรับรายละเอียดในภาษาใดก็ได้ สามารถใช้เพื่อแจ้งโมเดล GPT เกี่ยวกับเนื้อหาของวิดีโอ และปรับปรุงการแปลคำศัพท์เฉพาะบริบท เช่น คำนามเฉพาะภายในเกม ตัวอย่างเช่น หากแปลวิดีโอที่เกี่ยวข้องกับการเล่นเกม คุณอาจสั่งให้ GPT ใช้คำแปลที่แม่นยำสำหรับคำศัพท์ในเกม
การแมปการแปล: ฟังก์ชันนี้รักษาความสอดคล้องสำหรับคำที่ใช้บ่อยโดยจัดเก็บคู่การแปลเป้าหมายต้นทาง เมื่อเปิดใช้งาน จะป้องกันไม่ให้คำแปลต่างๆ เช่น คำนามเฉพาะและศัพท์เฉพาะทางเทคนิคในวิดีโอเปลี่ยนไป ปิดการใช้งานนี้ด้วยแฟล็ก --no_mapping
หากต้องการ
ดำเนินการแปลต่อ: ใช้แฟล็ก --load_tmp_file
เพื่อดำเนินการแปลต่อจากที่ที่ถูกขัดจังหวะก่อนหน้านี้ สคริปต์จะบันทึกความคืบหน้าใน tmp_subtitles.json
ทำให้สามารถเริ่มต้นใหม่ได้อย่างราบรื่นโดยไม่ต้องทำงานก่อนหน้าซ้ำ
การรองรับภาษา: แม้ว่าสคริปต์จะทำงานได้ดีกับการแปลภาษาอังกฤษเป็นภาษาจีนตัวย่อ แต่ก็สามารถรองรับคู่ภาษาอื่นได้ ปรับปรุงความแม่นยำสำหรับภาษาอื่นๆ ด้วยการเพิ่มตัวอย่างไม่กี่ช็อตที่ปรับแต่งแล้วลงใน few_shot_examples.json
โปรดทราบว่าประสิทธิภาพของโมเดล GPT อาจแตกต่างกันไปตามอินพุตหลายภาษา และอาจจำเป็นต้องทำการปรับเปลี่ยนทันทีใน translate_gpt.py
ผลงานมีมากกว่าการต้อนรับ!
คุณยังสามารถลองใช้สคริปต์นี้โดยใช้สมุดบันทึก Google Colab คลิกลิงก์ด้านล่างเพื่อเข้าถึงตัวอย่าง:
ทำตามคำแนะนำในสมุดบันทึกเพื่อดาวน์โหลดแพ็คเกจและรุ่นที่จำเป็น และเรียกใช้สคริปต์บนวิดีโอ YouTube หรือไฟล์วิดีโอในเครื่องที่คุณต้องการ