คุณเคยอยากเล่นเพลงที่ไม่มีในเกมจังหวะที่คุณชื่นชอบหรือไม่? คุณเคยอยากเล่นเพลงนั้นในรูปแบบที่ไม่มีที่สิ้นสุดหรือไม่?
โครงการวิจัยโอเพ่นซอร์สนี้มีจุดมุ่งหมายเพื่อทำให้กระบวนการสร้างบีทแมปอัตโนมัติเป็นประชาธิปไตย โดยนำเสนอเครื่องมือที่สามารถเข้าถึงได้และโมเดลพื้นฐานสำหรับนักพัฒนาเกม ผู้เล่น และผู้ที่ชื่นชอบ ซึ่งปูทางไปสู่ยุคใหม่ของความคิดสร้างสรรค์และนวัตกรรมในการเล่นเกมตามจังหวะ
ตัวอย่าง (เพิ่มเติมเร็ว ๆ นี้):
ก่อนอื่นคุณจะต้องติดตั้ง Python 3.12 ไปที่ไดเร็กทอรีของพื้นที่เก็บข้อมูลและสร้างสภาพแวดล้อมเสมือนผ่าน:
python3 -m venv venv
จากนั้นโทรหา source venv/bin/activate
หรือ venvScriptsactivate
หากคุณใช้เครื่อง Windows หลังจากเปิดใช้งานสภาพแวดล้อมเสมือนแล้ว คุณสามารถติดตั้งไลบรารีที่จำเป็นได้ทาง:
pip3 install -r requirements.txt
คุณสามารถใช้ Jupyter เพื่อเข้าถึงตัวอย่าง notebooks/
:
jupyter notebook
คุณสามารถลองใช้เวอร์ชัน Google Collab ได้เช่นกัน ตราบใดที่คุณมีอินสแตนซ์ GPU ที่ใช้งานได้ (CPU เริ่มต้นจะใช้เวลาตลอดไปในการแปลงเพลง)
ไปป์ไลน์รองรับเฉพาะบีทแมป OSU ในขณะนี้
พื้นที่เก็บข้อมูลนี้ยังคงเป็น งานที่อยู่ระหว่างดำเนินการ เป้าหมายคือการพัฒนาโมเดลเชิงกำเนิดที่สามารถสร้างบีทแมปโดยอัตโนมัติสำหรับเกมเข้าจังหวะที่หลากหลาย โดยไม่คำนึงถึงเพลง การวิจัยนี้ยังคงดำเนินอยู่ แต่มีเป้าหมายเพื่อให้ MVP ออกมาโดยเร็วที่สุด
การสนับสนุนทั้งหมดมีคุณค่า โดยเฉพาะอย่างยิ่งในรูปแบบของการบริจาคคอมพิวเตอร์สำหรับโมเดลพื้นฐานการฝึกอบรม ดังนั้น หากคุณสนใจ สามารถเสนอราคาได้เลย!
เข้าร่วมกับเราในการสำรวจความเป็นไปได้ไม่รู้จบของการสร้างบีทแมปที่ขับเคลื่อนด้วย AI และสร้างอนาคตของเกมจังหวะ!
มีโมเดลอยู่ใน HuggingFace
บีทแมปของเกม Rhythm จะถูกแปลงเป็นรูปแบบไฟล์ระดับกลาง ซึ่งจากนั้นจะถูกแปลงเป็นโทเค็นเป็นชิ้นขนาด 100 มิลลิวินาที โทเค็นแต่ละอันสามารถเข้ารหัสเหตุการณ์ที่แตกต่างกันได้สูงสุดสองเหตุการณ์ภายในช่วงเวลานี้ (การพักและ/หรือการเข้าชม) โดยวัดด้วยความแม่นยำ 10 มิลลิวินาที คำศัพท์ของโทเค็นไนเซอร์ได้รับการคำนวณล่วงหน้าแทนที่จะเรียนรู้จากข้อมูลเพื่อให้เป็นไปตามเกณฑ์นี้ ความยาวบริบทและขนาดคำศัพท์ถูกตั้งใจให้มีขนาดเล็กเนื่องจากขาดแคลนตัวอย่างการฝึกอบรมที่มีคุณภาพในสาขานี้
โทเค็นเหล่านี้ พร้อมด้วยส่วนของข้อมูลเสียง (Mel Spectogram ที่ฉายไว้ซึ่งสอดคล้องกับโทเค็น) ทำหน้าที่เป็นอินพุตสำหรับโมเดลตัวเข้ารหัสที่สวมหน้ากาก เช่นเดียวกับ BeRT โมเดลตัวเข้ารหัสมีวัตถุประสงค์สองประการระหว่างการฝึก: การประมาณจังหวะผ่านงานการถดถอย และการทำนายโทเค็นที่สวมหน้ากาก (ถัดไป) ผ่านฟังก์ชัน การสูญเสียการได้ยิน รองรับบีทแมปที่มี 1, 2 และ 4 แทร็ก โทเค็นแต่ละรายการจะถูกทำนายจากซ้ายไปขวา โดยสะท้อนกระบวนการสร้างสถาปัตยกรรมตัวถอดรหัส อย่างไรก็ตาม โทเค็นที่สวมหน้ากากยังสามารถเข้าถึงข้อมูลเสียงเพิ่มเติมจากอนาคต ซึ่งแสดงเป็นโทเค็นการมองการณ์ไกลจากด้านขวา
จุดประสงค์ของโมเดล AI ไม่ใช่การลดคุณค่าของบีทแมปที่สร้างขึ้นทีละรายการ แต่เป็น:
เนื้อหาที่สร้างขึ้นทั้งหมด จะต้องเป็นไปตามกฎระเบียบของสหภาพยุโรป และติดป้ายกำกับอย่างเหมาะสม รวมถึงข้อมูลเมตาที่บ่งชี้ถึงความเกี่ยวข้องของโมเดล AI
การสร้าง BEATMAPS สำหรับเนื้อหาที่มีลิขสิทธิ์เป็นสิ่งต้องห้ามโดยเด็ดขาด! ใช้เฉพาะเพลงที่คุณมีสิทธิ์เท่านั้น!
เสียงที่แสดงในตัวอย่างไฟล์ OSU มาจากศิลปินที่มีรายชื่ออยู่ในเว็บไซต์ OSU ภายใต้หัวข้อศิลปินเด่น และได้รับอนุญาตให้ใช้เฉพาะในเนื้อหาที่เกี่ยวข้องกับ osu!
เพื่อป้องกันไม่ให้บีทแมปของคุณถูกใช้เป็นข้อมูลการฝึกในอนาคต ให้รวมข้อมูลเมตาต่อไปนี้ในไฟล์บีทแมปของคุณ:
robots: disallow
โครงการนี้ได้รับแรงบันดาลใจจากความพยายามครั้งก่อนที่เรียกว่า AIOSU
นอกเหนือจากการอาศัยวิกิของ OSU แล้ว osu-parser ยังมีประโยชน์ในการชี้แจงการประกาศบีทแมป (โดยเฉพาะแถบเลื่อน) แบบจำลองหม้อแปลงได้รับอิทธิพลจาก NanoGPT และจากการใช้ไพทอร์ชของ BeRT