นักพัฒนาแบ่งปันโปรเจกต์ดนตรี Conway's Game of Life และถกเถียงเรื่อง Fitness Functions ในการแต่งเพลงด้วยอัลกอริทึม

ทีมชุมชน BigGo
นักพัฒนาแบ่งปันโปรเจกต์ดนตรี Conway's Game of Life และถกเถียงเรื่อง Fitness Functions ในการแต่งเพลงด้วยอัลกอริทึม

บล็อกโพสต์เมื่อเร็ว ๆ นี้เกี่ยวกับการสร้าง Conway's Game of Life เวอร์ชันดนตรีได้จุดประกายการอภิปรายที่คึกคักในหมู่นักพัฒนาที่เคยสร้างโปรเจกต์คล้าย ๆ กัน ชุมชนกำลังแบ่งปันการพัฒนาของตนเองพร้อมกับถกเถียงเกี่ยวกับความท้าทายในการสร้างดนตรีอัลกอริทึมที่น่าสนใจอย่างแท้จริง

ภาพประกอบที่แปลกตาของนกที่มีปฏิสัมพันธ์กับโน้ตดนตรีสะท้อนถึงจิตวิญญาณที่สนุกสนานของการสร้างดนตรีอัลกอริทึมที่กล่าวถึงในบทความ
ภาพประกอบที่แปลกตาของนกที่มีปฏิสัมพันธ์กับโน้ตดนตรีสะท้อนถึงจิตวิญญาณที่สนุกสนานของการสร้างดนตรีอัลกอริทึมที่กล่าวถึงในบทความ

ความท้าทายของ Musical Fitness Functions

อุปสรรคที่ใหญ่ที่สุดที่นักพัฒนาที่ทำงานเกี่ยวกับระบบดนตรีวิวัฒนาการต้องเผชิญคือการสร้าง fitness function ที่เหมาะสม ซึ่งเป็นวิธีให้คอมพิวเตอร์ตัดสินว่าทำนองใดดีจริง ๆ หากไม่มีองค์ประกอบสำคัญนี้ ดนตรีที่วิวัฒนาการมามักจะฟังดูสุ่มมากกว่าจะไพเราะ นักพัฒนาคนหนึ่งชี้ให้เห็นว่ารสนิยมมีความเป็นอัตวิสัยสูง และการฟังรูปแบบต่าง ๆ ให้มากพอที่จะวิวัฒนาการไปสู่สิ่งที่ดีนั้นใช้เวลามาก

วิธีแก้ปัญหาที่น่าสนใจที่มีคนเสนอคือการไลฟ์สตรีมกระบวนการวิวัฒนาการบนแพลตฟอร์มอย่าง Twitch ที่ผู้ชมสามารถโหวตความเหมาะสมของทำนองได้คล้ายกับที่ Twitch Plays Pokemon ทำงาน วิธีการแบบ crowdsourced นี้อาจแก้ปัญหาเรื่องเวลาและความเป็นอัตวิสัยที่รบกวนระบบอัตโนมัติได้

อย่างไรก็ตาม ไม่ใช่ทุกคนที่มองผลลัพธ์แบบสุ่มเป็นปัญหา นักพัฒนาบางคนยอมรับความไม่แน่นอนเป็นฟีเจอร์มากกว่าจะเป็นข้อบกพร่อง โดยมองเครื่องมือเหล่านี้เป็นวิธีสำรวจรูปแบบดนตรีที่แปลกใหม่มากกว่าการสร้างแพทเทิร์นที่คุ้นเคย

ระบบนิเวศของ Musical Automata ที่เติบโต

การอภิปรายเผยให้เห็นจำนวนโปรเจกต์ที่มีอยู่ในพื้นที่นี้อย่างน่าประหลาด นักพัฒนาแบ่งปันลิงก์ไปยังการพัฒนาของตนเอง รวมถึง Game of Life เวอร์ชันดนตรีบนเว็บ, โมดูลซินธิไซเซอร์ฮาร์ดแวร์ Eurorack ที่มี sequencer 16 เซลล์ และแม้แต่คอนโทรลเลอร์ Launchpad ที่ดัดแปลงเพื่อแปลงแพทเทิร์น cellular automata เป็นเอาต์พุต MIDI

มีการกล่าวถึงเครื่องมือที่จัดตั้งขึ้นแล้วหลายตัว รวมถึง Wolfram Tones ที่ใช้ cellular automata หนึ่งมิติในการสร้างดนตรี และแอปมือถือต่าง ๆ อย่าง ZOA สำหรับอุปกรณ์ Apple ชุมชนยังเน้นย้ำโปรเจกต์ในอดีตอย่าง Electroplankton ซึ่งเป็นเกม Nintendo DS ที่มีเครื่องดนตรีออร์แกนิก

เครื่องมือ Musical Cellular Automata ยอดนิยม:

  • Wolfram Tones: เครื่องมือสร้างดนตรีด้วย cellular automata แบบ 1 มิติ
  • ZOA: โปรแกรม MIDI sequencer สำหรับอุปกรณ์ Apple ที่ใช้ Game of Life
  • Electroplankton: เครื่องดนตรีออร์แกนิกสำหรับ Nintendo DS
  • NLC 16-cell sequencer: โมดูลซินธิไซเซอร์ Eurorack
  • การพัฒนาเว็บแอปพลิเคชันต่างๆ ที่แชร์โดยนักพัฒนาในชุมชน

รายละเอียดการพัฒนาเชิงเทคนิค

นักพัฒนาอภิปรายวิธีการต่าง ๆ ในการแมป cellular automata กับโน้ตดนตรี วิธีที่พบบ่อยที่สุดคือการใช้ตำแหน่งในกริดเพื่อกำหนดระดับเสียง โดยคอลัมน์แทนโน้ตและแถวกำหนดออคเทฟ บางคนแนะนำว่ากริดหกเหลี่ยมอาจทำงานได้ดีกว่ากริดสี่เหลี่ยมสำหรับดนตรีที่มี 12 โน้ตต่อออคเทฟ

การสนทนายังสัมผัสถึงฟีเจอร์ขั้นสูงมากขึ้น เช่น การใช้จำนวนเซลล์ที่มีชีวิตเพื่อควบคุมความยาวของโน้ต การสร้างจังหวะแบบไดนามิกที่เปลี่ยนแปลงตามสถานะปัจจุบันของ automata

แนวทางเทคนิคทั่วไป:

  • การแมปแบบตาราง: คอลัมน์ = โน้ต, แถว = ออกเทฟ
  • ตัวกระตุ้นเหตุการณ์: การเกิดของเซลล์ = โน้ตฮาร์โมนิก, การตายของเซลล์ = โทนเสียงที่เสริมกัน
  • องค์ประกอบไดนามิก: จำนวนเซลล์ที่มีชีวิตควบคุมระยะเวลาของโน้ต
  • ตารางทางเลือก: เลย์เอาต์แบบหกเหลี่ยมสำหรับระบบดนตรี 12 โทน
  • เอาต์พุต MIDI: แปลงรูปแบบออโตมาตาเป็นการควบคุมซินธิไซเซอร์

เกินกว่าการแมปโน้ตธรรมดา

ความกระตือรือร้นของชุมชนขยายเกินกว่าการพัฒนาพื้นฐาน นักพัฒนากำลังสำรวจวิธีทำให้ระบบเหล่านี้มีความซับซ้อนทางดนตรีมากขึ้น โดยรวมองค์ประกอบอย่างความสัมพันธ์ฮาร์โมนิกระหว่างเหตุการณ์การเกิดและการตาย และการสร้างแพทเทิร์นจังหวะที่ซับซ้อนจากโครงสร้าง cellular ที่แกว่งไปมา

นวัตกรรมแบบรากหญ้านี้ในการแต่งเพลงอัลกอริทึมแสดงให้เห็นว่ากฎทางคณิตศาสตร์ที่เรียบง่ายสามารถสร้างประสบการณ์ทางดนตรีที่ซับซ้อนและน่าสนใจอย่างน่าประหลาด แม้จะไม่ได้แก้ความท้าทายพื้นฐานของรสนิยมดนตรีอัตโนมัติ

อ้างอิง: A Digital Darwin Adventure with Mating Melodies