Nov 7, 2006

[Reaktor] Game of Life: ซีเควนเซอร์ที่ใช้แนวคิด Cellular Automata

มีมนุษย์บางกลุ่ม ที่ (น่าจะ) “ขี้เบื่อ” และ “ขี้เกียจ” เป็นอย่างมาก ได้คิดทำซีเควนเซอร์แนวใหม่ โดยจับเอา Cellular Automata (CA) มาใช้เป็นหัวรถจักรคอยขับเคลื่อนเสียง โดยที่นักดนตรีไม่ต้องทำอะไรมาก แค่กำหนดเงื่อนไขเริ่มต้น แล้วCA จะดำเนินไปเรื่อยๆ นานแค่ไหนนั้น ขึ้นอยู่กับการกำหนดโดยนักดนตรี แต่ที่สำคัญคือรูปแบบของแพทเทิร์นนั้น มีความหลากหลายมากจนคาดไม่ถึง เมื่อนำมาเล่นกับเสียง เราก็จะได้ผลลัพธ์อันคาดไม่ถึงเช่นกัน

คำนิยามและคำอธิบายของ CA นั้น กว้างและลึกซึ้งมาก หากท่านผู้อ่านสนใจ ก็ลองอ่านจากเวป wikipedia หรือเวปวิชาการอื่นๆได้ครับ ผู้เขียนขอยกตัวอย่างรูปแบบที่นิยมที่สุดรูปแบบหนึ่งของ CA ก็แล้วกัน นั่นคือ “Game of Life” คิดค้นโดย John Horton Conway นักคณิตศาสตร์ชาวอังกฤษในปี 1970 ครับ

ขออธิบาย Game of Life อย่างง่ายๆ ขอให้นึกถึงตารางหมากรุกที่สามารถขยายขอบเขตได้อย่างไม่จำกัด แต่ละช่องของตารางจะเรียก ‘เซลล์’ แต่ละเซลล์จะมีโอกาสเป็นได้ 2 สถานะคือ ‘เป็น’ กับ ‘ตาย’ ไม่อันใดก็อันหนึ่ง Game of Life จะรันไปทีละสเตป โดยมีเงื่อนไขดังนี้ครับ

1.เซลล์เป็นที่มีเพื่อนบ้านน้อยกว่า 2 เซลล์ จะตายในสเตปถัดไปอันเนื่องมาจากความเหงา

2.เซลล์เป็นที่มีเพื่อนบ้านมากกว่า 3 เซลล์ จะเป็นตายในสเตปถัดไปอันเนื่องมาจากความแออัด

3.เซลล์ตายที่มีเพื่อนบ้าน 3 เซลล์พอดี จะเกิดในสเตปถัดไป

4.เซลล์เป็นที่มีเพื่อนบ้าน 2 หรือ 3 เซลล์ จะมีชีวิตอยู่ต่อไป

เงื่อนไข 4 ข้อนี่เองครับ ที่ทำให้เสียงมีความหลากหลาย เหมือนกับการมีชิวิตของสิ่งมีชีวิตทั่วๆไป เรื่องของ CA มีการศึกษากันกว้าง ตั้งแต่นักคณิตศาสตร์ไปจนถึงนักชีววิทยา นักปรัชญาไปจนถึงนักดนตรีเลยล่ะครับ การนำไปใช้กับดนตรี มันก็เหมือนเป็น Algorithmic Music อีกรูปแบบหนึ่งนั่นเอง

Game of Life บน Reaktor 5

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

เปิด Reaktor 5 ขึ้นมาได้เลยครับ จากนั้นก็ไปที่เมนู File->New Ensemble (หรือกด Ctrl+N)

ให้ลบ Instrument ที่มีอยู่อย่างโดดเดี่ยวทิ้งไปครับ เพราะเราจะใช้อันใหม่ จากนั้นก็คลิกขวาตรงที่ว่างๆครับ เลือก Insert Instrument->Sequencers->Life แล้วก็ทำขั้นตอนเดิมอีกครั้ง แต่เลือก Insert Instrument->Grooveboxes->Newscool Engine แล้วก็จัดแจงต่อเอาท์พุทของ Newscool Engine (NWSCL) เข้าเอาท์พุทของซาวน์การ์ดให้เรียบร้อย

ยังเล่นไม่ได้นะครับ ต้องจัดการต่อเอาท์พุทของ Life ไปเข้า NWSCL เสียก่อน เพียงแต่ในหน้า Structure เราจะไม่เห็นเอาท์พุทที่จะโยงเส้น เพราะมันจะใช้กับสัญญาณ Audio เท่านั้น หากต้องการจะต่อ MIDI ให้ไปต่อที่หน้าพาเนลครับ

ที่หน้าพาเนลของ Life มองหา Out ครับ แล้วเลือก Int. MIDI->NWSCL ก็เป็นอันเรียบร้อย

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

วาดเสร็จแล้ว ก็กดปุ่ม Copy เพื่อ ส่งรูปที่เราวาดไปทางฝั่งขวา ซึ่งเป็นตารางที่เราจะใช้งานจริง เพียงแต่เราไม่สามารถวาดรูปลงไปที่ฝั่งนี้ได้ตรงๆเท่านั้นเองครับ

ลองสังเกตตารางทางฝั่งขวาให้ดีนิดนึง เราจะเห็นจุดๆหลากสี รวมทั้งหมด 8 สี ซึ่งทั้งหมดจะใช้ทริกเกอร์ Tone Generator ทั้ง 8 สี ในส่วนของ Newscool Engine ลองเทียบสีดูได้ครับ โดยพื้นฐานแล้ว Life จะส่ง MIDI Note ออกไปได้ 8 โน้ตแตกต่างกัน (C48-C60-C major Scale) เราสามารถนำไปใช้กับ Synthesizer ตัวอื่นๆได้เช่นกันครับ

กล่าวโดยรวมก็คือ เราใช้ Life เป็นซีเควนเซอร์ที่จะรันตัวมันเอง ตามเงื่อนไขที่กล่าวมาในตอนต้น เซลล์แต่ละเซลล์จะเป็นตัวแทนโน้ต ซึ่งมีอยู่ทั้งหมด 8 โน้ต ใน C major Scale (C48-C60) วิธีนี้ ทำให้เราได้รู้จักกับแนวทางใหม่ๆ ในการสร้างเสียงครับ ลองนำ Life ไปดัดแปลง หรือนำไปใช้กับสิ่งต่างๆดูครับ การใช้มันเป็น Control Module สำหรับควบคุมพารามิเตอร์ต่างๆของ Synthesizer ก็สนุกไม่น้อย

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

No comments: