Telegram Bot ขึ้นอยู่กับ Python 3 สำหรับการใช้ คำพูดเป็นข้อความ (STT) และข้อความ ค้นหาแบบข้อความเป็นคำพูด (TTS) ภาษาที่รองรับ: รัสเซีย , อังกฤษ (คำถามและอินเทอร์เฟซ)

โมดูลสำหรับการทำงานกับ Telegram API: AIOGRAM
ซอฟต์แวร์สำหรับการแปลงไฟล์เสียงเป็นรูปแบบที่แตกต่างกัน: FFMPEG
แบบสอบถาม STT และ TTS ดำเนินการโดยใช้ไลบรารีต่อไปนี้:
Vosk (STT)
Pyttsx3 (TTS)
บอทรองรับสองเสียง (ชายและหญิง) ซึ่งมีการตั้งชื่อในไฟล์การกำหนดค่า
บอทมีฟังก์ชั่นพิเศษที่เรียกว่า extra_text_processing ซึ่งแนะนำวิธีการประมวลผลข้อความเพิ่มเติมที่ได้รับจาก VOSK โดยผ่านมันข้อความสามารถทำให้มนุษย์มากขึ้นและแก้ไขในแง่ของการเขียน วัสดุที่จำเป็นสำหรับฟังก์ชั่นนี้จะถูกเก็บไว้อย่างเคร่งครัดใน SRC/ETP
หมายเหตุ: สร้างและทดสอบบนแพลตฟอร์ม Windows, Python 3.11.4
ต้องใช้ขั้นตอนต่อไปนี้เพื่อให้ Rantovox ทำงานได้อย่างถูกต้อง:
โคลนที่เก็บ (ดาวน์โหลดซอร์สโค้ด)
สร้างสภาพแวดล้อมเสมือนจริงโดยใช้ python -m venv venv และเปิดใช้งาน
ติดตั้งการพึ่งพาโดยใช้ PIP พร้อมข้อกำหนด. txt
ดาวน์โหลดรุ่น Vosk Russian และภาษาอังกฤษล่าสุด (รุ่นขนาดเล็กดีกว่า) วางลงใน SRC/Lang (คุณสามารถใช้ make download เพื่อดาวน์โหลดและโพสต์โดยอัตโนมัติต้องใช้ Curl และ Tar)
สร้างไฟล์ . ENV ของคุณเองในโฟลเดอร์รูทพร้อมตัวแปรที่อธิบายไว้ในส่วน ไฟล์สภาพแวดล้อม
git clone https://github.com/Ggorets0dev/rantovox-telegram-bot.git
cd rantovox-telegram-bot
pip install -r requirements.txtคำสั่งต่อไปนี้มีอยู่ใน Rantovox:
เริ่ม - เปิดบอทสำหรับบัญชีของคุณ
ความช่วยเหลือ - รับข้อมูลสรุปของหลักการปฏิบัติการ
Setlocale - ตั้งค่าภาษาของอินเทอร์เฟซของบอท
SetVoice - ตั้งค่าเพศเสียงสำหรับคำขอ (TTS)
Setlang - ตั้งค่าภาษาสำหรับคำขอ (STT)
ไฟล์ . env ที่มีตัวแปรต่อไปนี้จะต้องสร้างก่อนที่จะเรียกใช้บอท:
| ชื่อ | ตัวอย่าง | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| Telegram_Token | 1234567890: ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHI | - | การเข้าถึงโทเค็นไปยังบอทโทรเลขที่สร้างขึ้น |
| male_voice_name | ชาวอัลสกนดร | - | ชื่อของเสียงที่จะใช้ในการพากย์เสียงชาย |
| female_voice_name | เอเลน่า | - | ชื่อของเสียงที่จะใช้ในการพากย์เสียงหญิง |
| ru_lang_model_dirname | Vosk-Model-Small-Ru-0.22 | - | ชื่อโฟลเดอร์ที่มีรูปแบบภาษารัสเซีย (ควรอยู่ใน SRC/Lang) |
| eng_lang_model_dirname | VOSK-MODEL-SMALL-EN-US-0.15 | - | ชื่อโฟลเดอร์ที่มีรูปแบบภาษารัสเซีย (ควรอยู่ใน SRC/Lang) |
| max_request_index | 100 | 1,000 | ค่าจากช่วง 0 - N จะถูกกำหนดให้กับไฟล์ที่สร้างขึ้นชั่วคราว (มีผลต่อจำนวนไคลเอนต์ที่ให้บริการพร้อมกัน) |
| etp_enabled | เท็จ | จริง | ไม่ว่าจะเป็นการประมวลผลโพสต์ของข้อความดิบจากการแปลงหรือไม่ |
หมายเหตุ: ค่าเริ่มต้น - ค่าที่บอทจะใช้เองหากค่าอยู่ในรูปแบบที่ไม่ถูกต้องในไฟล์สภาพแวดล้อม
หมายเหตุ: โทรหาบอทสำหรับรายการโหวตที่มีอยู่เติมในตัวแปรที่เหลือทั้งหมด มันจะแสดงรายการของค่าที่มีอยู่ (ระวัง: ไม่ใช่ทุกเสียงที่สนับสนุนรัสเซียและภาษาอังกฤษในเวลาเดียวกัน)
BOT ลบไฟล์ชั่วคราวทั้งหมดทันทีหลังจากคำขอ TTS หรือ STT การแปลงทั้งหมดทำบนโฮสต์ด้วยความช่วยเหลือของไลบรารีที่อธิบายไว้ข้างต้น เฉพาะ การเข้าสู่ระบบ และ ID ของผู้ใช้เท่านั้นที่บันทึกไว้ในบันทึกเมื่อร้องขอองค์ประกอบของคำขอยังคงซ่อนอยู่ในโฮสต์