หมากรุกเสียง 3 มิติ
เกมหมากรุก 3 มิติที่ขับเคลื่อนด้วยเสียงหลายภาษาสำหรับการเรียนรู้และการสอนเสียง AI โดยใช้ Coqui STT โดยใช้แบบจำลองภาษาคำศัพท์ที่ จำกัด
โปรดทราบ: repo นี้ยังไม่พร้อมผลิต มันอยู่ระหว่างรุ่นอัลฟ่าและเบต้า ณ วันที่ 1 เมษายน 2022
ความสามารถปัจจุบัน:
- เซิร์ฟเวอร์ผู้ใช้เดี่ยวสำหรับการพูดไปยังข้อความการอนุมาน STT (NODEJS) (เช่นมันทำงานบนโหนดฟรีหลักเดียว - แต่เรารองรับพูลเซิร์ฟเวอร์)
- 3D frontend (เสียงอินเทอร์เฟซแบบหลายภาษาเท่านั้นที่มีปุ่มและพื้นที่เอาต์พุตบางส่วน)
- ภาษาที่สนับสนุนในปัจจุบัน: de (เยอรมัน), en (ภาษาอังกฤษ), tr (ตุรกี)
- คุณเล่นกับตัวเอง :)

เราได้เปิดไซต์ทดสอบซึ่งสนับสนุนโดยพูลเซิร์ฟเวอร์สำหรับการทดสอบของเรา
สรุปเนื้อหา
- Acoustic-Model-Creation: ตัวอย่างโน้ตบุ๊กตัวอย่าง (TODO)
- การสร้างแบบจำลองภาษา: ไฟล์ทั้งหมดสำหรับการสร้างโมเดลภาษาเฉพาะโดเมนของคุณ
- Voice-Chess-React: Frontend-React & Three.js การใช้งาน
- Voice-Chess-Server: เซิร์ฟเวอร์-การเชื่อมต่อการเชื่อมต่อเดียวอย่างง่ายการใช้งาน NodeJS
วิธีการติดตั้ง
สิ่งที่ต้องทำ
วิธีการมีส่วนร่วม
- การสร้างโมเดลอะคูสติกและภาษาใหม่ในภาษาของคุณ
- ถ้อยคำที่เกี่ยวข้องกับหมากรุกที่ดีกว่าสำหรับภาษาที่มีอยู่หากจำเป็น
- แปลไฟล์ทรัพยากร (messages.json)
- การทดสอบ; แนวคิดข้อเสนอแนะในประเด็น; มุ่งมั่น & pr
ฉันจะเพิ่มภาษาของฉันได้อย่างไร?
- รับข้อมูลเกี่ยวกับคำศัพท์หมากรุกในภาษาของคุณ (ถ้าคุณยังไม่ทราบ - ช่วย Wikipedia และ YouTube)
- ตรวจสอบประโยค/การเขียนโปรแกรมที่มีอยู่ในเครื่องกำเนิดประโยคหมากรุก
- คัดลอกเครื่องกำเนิดประโยคที่เหมาะสมเปลี่ยนชื่อเป็นรหัสภาษาของคุณและแปล/ปรับตัว
- ค้นหาโมเดลอะคูสติก Coqui STT ที่เข้ากันได้ (. tflite ไฟล์) หรือฝึกอบรมจากชุดข้อมูลเสียง Mozilla Common
- แปลไฟล์ทรัพยากร (messages.json)
- ทดสอบผลลัพธ์ของคุณบนเซิร์ฟเวอร์/ไคลเอนต์ที่มีอยู่ในเครื่องและปรับปรุงโมเดลของคุณหากจำเป็น
- ทำคำขอดึง (PR) เพื่อเพิ่มโมเดลอะคูสติกของคุณ (.tflite), โมเดลภาษา (.Scorer) ในเสียง-เซิร์ฟเวอร์/เสียง DIR, เพิ่มไฟล์ภาษา JSON ที่สร้างขึ้นและข้อความที่แปลแล้ว. JSON ไฟล์ไปยังเสียง/locale/locale
หากคุณไม่สามารถทำสิ่งเหล่านี้ได้โปรดเปิดปัญหาเพื่อให้เราสามารถช่วยได้
ข้อมูลอื่น ๆ
โมเดลอะคูสติกและภาษาปัจจุบัน
ข้อมูลรายละเอียดสามารถดูได้ที่นี่
โครงการโอเพนซอร์สที่ใช้
- Voice: Coqui STT, ตัวอย่าง Coqui, Kenlm, ชุดข้อมูลเสียง Mozilla Common
- 3D UI: สาม.JS & React-Three-Fiber (กับ Drei และ Zustand)
- หมากรุก: หมากรุก. js สำหรับข้อมูลหมากรุกและการควบคุม (ไม่มี AI หรือ GUI)
รหัสที่เกี่ยวข้องกับไคลเอนต์และเซิร์ฟเวอร์ถูกดัดแปลงจากตัวอย่าง coqui web_microphone_websocket
ข้อมูลประวัติศาสตร์
รุ่นแรกของโครงการถูกสร้างขึ้นในช่วง "Hack the Planet" ของ Coqui.ai Hackathon ใน Mozilla Festival 2022 ระหว่าง 8-15 มีนาคม
แนวคิดหลักคือการใช้แอปพลิเคชันที่เปิดใช้งานคำพูดในหนึ่งสัปดาห์ กลุ่มคนโหวตให้ใช้งานเกมควบคุมเสียง (tic-tac-toe) แต่ความคิดดังกล่าวกลายเป็นหมากรุก 3 มิติที่ขับเคลื่อนด้วยเสียงหลายภาษา ทีมถูกสร้างขึ้นและการใช้แอปพลิเคชันหมากรุกกลายเป็นเป้าหมาย สมาชิกในทีมคือBö, JF, KM, MK
นี่คือแอปพลิเคชันสองส่วนในตอนแรก:
- ส่วนเซิร์ฟเวอร์คือแอปพลิเคชัน node.js ซึ่งทำ STT จริง
- ไคลเอนต์เป็นแอป React.js ซึ่งบันทึกประโยคและสื่อสารกับเซิร์ฟเวอร์สำหรับการถอดความผ่าน socket.io ตรวจสอบมันแสดงบนเบราว์เซอร์ด้วยสาม.jsและด้วยความช่วยเหลือของ Chess.js
เนื่องจากระยะเวลาที่ จำกัด และข้อ จำกัด ด้านเวลาของแต่ละบุคคลกลุ่มจึงรักษาความคาดหวังไว้อย่าง จำกัด
- ส่วน UI นั้นถูกเก็บไว้น้อยที่สุด แต่ใช้งานได้ เช่นไม่มีการเล่นด้วยตนเองคุณสมบัติ UI ที่ปรับปรุงแล้ว
- ตัวอย่างภาษาได้รับการคัดเลือก แต่สามารถขยายได้ด้วยภาษาอื่น ๆ
- มีรูปแบบการบังคับบัญชามากมายสำหรับหมากรุก เพื่อลดความซับซ้อนของเวิร์กโฟลว์ทั้งหมดผู้ใช้จะถูกบังคับให้ใช้รูปแบบเดียวในเวอร์ชันนี้:
"Move <piece> from <fromCell> to <targetCell>".
ที่นี่ "Piece" เป็นชื่อชิ้นหมากรุกเช่น King, Bishop ฯลฯ , "Cell" เป็นบอร์ดพิกัด Col-row (คอลัมน์: AZ, แถว: 1-8)
- หลังจากการทดลองหลายครั้งกับภาษาอังกฤษและตุรกีเราพบว่าการรับรู้ถึงตัวอักษรตัวอักษรเดี่ยวนั้นไม่แข็งแรงพอ (เกือบเป็นไปไม่ได้) ดังนั้นเราจึงใช้ตัวอักษรนาโต้: อัลฟ่า, ไชโย, ... โรงแรม ยกเว้นการตั้งชื่อนาโต้ข้อความอื่น ๆ ได้แปลเป็นภาษาที่เกี่ยวข้อง
- รวมการสนับสนุนภาษาต่อไปนี้: - เยอรมัน, อังกฤษ, ฝรั่งเศส, ภาษาฮินดี, รัสเซีย, ตุรกี
ในตอนท้ายของระยะเวลาโครงการซอฟต์แวร์กึ่งทำงานได้ถูกนำเสนอสำหรับภาษาอังกฤษและตุรกี
คุณสามารถดูวิดีโอการนำเสนอโครงการเริ่มต้นได้ที่นี่
และตามที่สัญญาไว้ในตอนท้ายของงานนำเสนอเรายังคงพัฒนาและทำให้มันโอเพ่นซอร์สที่นี่