13 ตัวอย่างโค้ดอันน่าทึ่งที่ได้รับแรงบันดาลใจจากดนตรี

เผยแพร่แล้ว: 2020-11-14

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

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

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

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

เครื่องดนตรีดั้งเดิม

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

เปียโนโดย Chris Woelk

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

เล่นระนาด โดย Greg Hovanesyan

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

เสียงคริสต์มาส โดย WILDER TAYPE

ปากกานี้โดย Wilder Taype มีกลิ่นอายวัยเด็ก ดูเหมือนว่าเราทุกคนจะมีระนาดเล็กๆ สีสันสดใสที่บ้านสักแห่งในห้องใต้หลังคา และอันนี้เป็นแบบจำลองดิจิทัล ไม่เพียงแต่คุณสามารถเล่นได้ แต่เครื่องดนตรีสามารถเล่นเพลงได้ และในกรณีนี้ มันคือเพลงคริสต์มาสที่สนุกสนาน

คีย์โดย Romina

คีย์โดย Romina ไม่ได้ซับซ้อนเท่าสองก่อนหน้านี้ แต่ก็มีเสน่ห์ของมัน ความเรียบง่ายไม่เพียงแต่เกี่ยวกับการออกแบบและการใช้งานเท่านั้น แต่ยังรวมถึงประสบการณ์ของผู้ใช้ด้วย อย่างไรก็ตาม มันเป็นตัวอย่างที่สมบูรณ์แบบของเครื่องดนตรีง่ายๆ ที่มีโน้ตทั้งหมดอยู่

เวลาดนตรี! โดย LegoMushroom / The Bluesman – You Can Play The Blues โดย Greg Hovanesyan

เครื่องดนตรีที่ได้รับความนิยมอีกอย่างหนึ่งในหมู่นักพัฒนาคือกีตาร์ และเรามีปากกาที่น่าตื่นเต้นสองด้าม: Music Time! โดย LegoMushroom และ The Bluesman - คุณสามารถเล่น The Blues โดย Greg Hovanesyan

แม้ว่าแนวคิดของ LegoMushroom จะไม่สร้างเสียงใด ๆ และมีเก้าสายแทนที่จะเป็นหกสายคลาสสิก แต่ก็น่าสนใจที่จะสำรวจ โปรดทราบว่าสตริงมีพฤติกรรมที่สมจริง: พวกมันสั่นและแสดงโน้ตที่มีสีสัน นอกจากนี้ยังมีแผงควบคุมขนาดเล็กที่ให้คุณตั้งค่าตัวเลือกบางอย่างได้ Paper.js และ Web Audio API เรียกใช้โครงการ

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

วิชวลไลเซอร์

การสร้างภาพเพลงเป็นคุณลักษณะที่เราชื่นชอบในยุคของซอฟต์แวร์เครื่องเล่นสื่อ ตอนนี้มันไม่มีอะไรพิเศษ แต่ในตอนนั้นมันเป็นสิ่งที่เหลือเชื่อ Nelson Rodrigues และ Zach Saucier พยายามเตือนเราเกี่ยวกับเรื่องนี้ด้วยโซลูชั่นล้ำสมัยของพวกเขา

การสร้างภาพเสียง Three.js โดย Nelson Rodrigues

Nelson Rodrigues ใช้ Three.js เพื่อแสดงการเต้นของดนตรี การแสดงภาพเสียงของเขารวมถึงฉากกริด 3 มิติที่มีคอลัมน์ที่ตอบสนองต่อเสียงและเลื่อนขึ้นและลง

โปรแกรมสร้างภาพเพลงปริซึมโดย Zach Saucier

Zach Saucier มีรูปร่างเป็นปริซึม โปรแกรมสร้างภาพเพลงปริซึมของเขามีศูนย์ควบคุมซึ่งคุณสามารถตั้งค่าตัวเลือกต่างๆ เช่น จำนวนสี่เหลี่ยม ความกว้างของเส้นขอบ รัศมีปริซึม สี และอื่นๆ อีกมากมาย อัปโหลดเพลงโปรดของคุณแล้วปล่อยให้ปริซึมทำหน้าที่ Boogie-Woogie

ดนตรีอิเล็กทรอนิค

สำหรับบางสิ่งที่เราคุ้นเคยกับการทดลองบนหน้าจอ: ดนตรีอิเล็กทรอนิกส์

การสาธิตโดย Matt West

การสาธิตโดย Matt West มีแผ่นซินธิไซเซอร์ที่ให้ผู้ใช้สร้างเสียง สิ่งที่คุณต้องทำคือคลิกและลากเคอร์เซอร์ของเมาส์ภายในตาราง Matt West ใช้ประโยชน์จาก Web Audio API เพื่อทำให้ความคิดของเขาเป็นจริง

SoundCloud Mini-board โดย Nicholas By Design

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

JS Drum Kit โดย Katherine Kato

JS Drum Kit โดย Katherine Kato เป็นโปรเจ็กต์เล็กๆ แต่น่าตื่นเต้น ชุดเครื่องมือนี้มีเสียงยอดนิยม 9 เสียงที่คุณสามารถใช้เพื่อแต่งเพลงง่ายๆ มันน่าเล่นมาก

เครื่องกำเนิดเพลงตามขั้นตอน Seeded โดย Jake Albaugh

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

Musical Chord Progression Arpeggiator โดย Jake Albaugh

อันนี้ดูล้นหลามไปหน่อย มีหลายสิ่งหลายอย่าง: ความก้าวหน้าของคอร์ด ยาชูกำลัง โหมด ขั้นตอนของ Arpeggio ประเภทและรูปแบบ ดูเหมือนศูนย์ควบคุมในยานอวกาศ เป็นโครงการโค้ดที่ได้แรงบันดาลใจจากดนตรีที่น่าทึ่งที่สุดในคอลเล็กชันของเรา Jake Albaugh ทำได้ดีมาก เขาใช้ Scale Generator และ Arpeggio Pattern Generator ที่สร้างขึ้นก่อนหน้านี้ควบคู่ไปกับ Tone.js เพื่อทำให้ทุกอย่างมีชีวิตชีวา อัศจรรย์.

เพลงสู่หูของเรา

รหัสคือบทกวี และเมื่อคุณมีคำที่จำเป็นทั้งหมดในการแต่งบทกวีด้วย iambic tetrameter และรูปแบบการสัมผัส มันเป็นเรื่องเห็นแก่ตัวที่จะไม่เขียนมัน และเมื่อคุณใช้ดนตรี บทกวีเหล่านี้สามารถเปลี่ยนเป็นละครเพลงหรือโอเปร่าได้อย่างง่ายดาย

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

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