สารบัญ:

Max MSP Ambient Loop Generator: 19 ขั้นตอน
Max MSP Ambient Loop Generator: 19 ขั้นตอน

วีดีโอ: Max MSP Ambient Loop Generator: 19 ขั้นตอน

วีดีโอ: Max MSP Ambient Loop Generator: 19 ขั้นตอน
วีดีโอ: Max/MSP Tutorial: how to make a generative drum machine 2024, กรกฎาคม
Anonim

นี่คือบทช่วยสอนเกี่ยวกับวิธีการเริ่มต้นสร้างตัวสร้างลูปแวดล้อมใน Max MSP

บทช่วยสอนนี้คาดหวังให้คุณมีความเข้าใจพื้นฐานเกี่ยวกับ Max MSP, อินเทอร์เฟซ DAW และการประมวลผลสัญญาณ หากคุณต้องการใช้โปรแกรมที่ออกแบบในบทช่วยสอนนี้ ให้ดาวน์โหลดเลย ใช้งานได้ฟรี (แต่ห้ามขายหรือเผยแพร่ซ้ำ)

โปรแกรมที่เราจะออกแบบมีสองส่วนหลัก:

1) โปรเซสเซอร์หลายสัญญาณ

2) เครื่องกำเนิดบันทึกกึ่งสุ่ม

เครื่องสร้างบันทึกย่อทำงานช้าตามคีย์/มาตราส่วนในรูปแบบกึ่งสุ่ม โดยป้อนข้อมูล MIDI ลงใน DAW ซึ่งจะส่งสัญญาณเสียงกลับเข้าสู่ Max เพื่อประมวลผล

นี่คือลิงค์ไปยังไฟล์แพทช์สุดท้าย:

เสบียง:

  • ความรู้พื้นฐาน Max MSP และ MIDI
  • MSP สูงสุด
  • อินเทอร์เฟซเสียง (เรากำลังใช้ Logic Pro X)
  • ซาวด์ฟลาวเวอร์
  • (ไม่บังคับ) ปลั๊กอินเครื่องมือซอฟต์แวร์ที่ดีสำหรับ DAW. ของคุณ

ขั้นตอนที่ 1: การตั้งค่า Soundflower ด้วย Max และ DAW ของคุณ

การตั้งค่า Soundflower ด้วย Max และ DAW ของคุณ
การตั้งค่า Soundflower ด้วย Max และ DAW ของคุณ
การตั้งค่า Soundflower ด้วย Max และ DAW ของคุณ
การตั้งค่า Soundflower ด้วย Max และ DAW ของคุณ

Soundflower เป็นโปรแกรมที่ช่วยส่งเสียงระหว่างโปรแกรมต่างๆ บน Mac เราจะใช้สิ่งนี้เพื่อรับเสียงจาก DAW ของเราไปยัง Max

การใช้ Soundflower กับ DAW ของคุณจะไม่ง่ายไปกว่านี้แล้ว! เพียงดาวน์โหลด Soundflower แล้วมันจะพร้อมใช้งานเป็นเอาต์พุตเสียงและอินพุต ถ้าเราสร้างวัตถุ adc~ (อินพุตเสียง) และ dac~ (เอาต์พุตเสียง) เราจะเห็นว่า Soundflower 2ch และ Soundflower 64ch กลายเป็นเส้นทางเสียงที่ใช้งานได้ เราจะใช้ Soundflower 2ch (2 ช่องสัญญาณ) สำหรับโปรแกรมนี้

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

ใน DAW ของคุณ ภายใต้การตั้งค่า > เสียง คุณจะเห็นอินพุตเสียงและเอาต์พุตเสียง เราจะใช้ Soundflower 2ch เป็นเอาต์พุตเสียง

ขั้นตอนที่ 2: กำหนดเส้นทางการประมวลผลสัญญาณของคุณ

ตัดสินใจเลือกเส้นทางการประมวลผลสัญญาณของคุณ
ตัดสินใจเลือกเส้นทางการประมวลผลสัญญาณของคุณ

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

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

นอกจากนี้ คุณจะต้องตัดสินใจว่าคุณต้องการสร้างเอฟเฟกต์ใด เราจะสาธิตเอฟเฟกต์บางประเภทที่นี่ หากคุณต้องการไอเดีย

ขั้นตอนที่ 3: เพิ่มส่วนผสมแห้ง

การเพิ่มส่วนผสมแบบแห้ง
การเพิ่มส่วนผสมแบบแห้ง
การเพิ่มส่วนผสมแบบแห้ง
การเพิ่มส่วนผสมแบบแห้ง

ขั้นแรกเราได้เพิ่ม "มิกซ์แบบแห้ง" เพื่อให้เราสามารถแยกสัญญาณเสียงที่ไม่ได้รับผลกระทบ สิ่งนี้ทำได้โดยเรียกใช้เอาต์พุต adc~ ลงในตัวเลื่อนเกน (ด้วยแป้นหมุนเพื่อให้ง่ายต่อการดู) ลงในฟิลเตอร์ svf~ พร้อมแป้นหมุนเพื่อปรับการกรองโลว์พาส จากนั้นไปที่มาสเตอร์เกนและออกไปที่ dac~ การผสมแบบแห้งนั้นค่อนข้างสะดวก เราจึงแนะนำหากคุณต้องการให้ทุกอย่างมีเสียงที่ชัดเจนและทดสอบได้ง่าย!

เราอาจจับตาคุณได้เล็กน้อย - เราจะเรียกใช้เอฟเฟกต์ทั้งหมดของเราในตัวกรอง svf~ แยกกันเพื่อให้มีปุ่มปรับโทนเสียงสำหรับแต่ละช่องสัญญาณ ทำให้ง่ายต่อการล้างพื้นที่เสียงเมื่อมีเอฟเฟกต์เฉพาะที่มีความถี่สูงเกินไป เราทำตัวกรองความถี่ต่ำ svf~ ทั้งหมดของเรา (โดยเชื่อมต่อกับเอาต์พุตความถี่ต่ำ) ดังนั้นพวกมันจึงค่อยๆ ตัดความถี่สูงออกโดยหมุนแป้นหมุนลง อย่างไรก็ตาม svf~ ยังมีแบนด์พาส (ความถี่ที่เลือก) ไฮพาส (ลบเสียงต่ำ) และตัวกรองที่มีประโยชน์อื่นๆ ทดลองเพื่อดูว่าคุณชอบและต้องการอะไร หรือแม้แต่ใช้ตัวกรองหลายตัว!

ขั้นตอนที่ 4: ขยับ Pitch ด้วย Pitchshifter

เปลี่ยน Pitch ด้วย Pitchshifter
เปลี่ยน Pitch ด้วย Pitchshifter
เปลี่ยน Pitch ด้วย Pitchshifter
เปลี่ยน Pitch ด้วย Pitchshifter

สำหรับ pitchshifter ที่ใช้งานง่าย ให้คัดลอกโค้ด pitchshifter จากคู่มือช่วยเหลือ pitchshifter ใน Max โค้ดของเรามีความคล้ายคลึงกันมาก แต่จะลบคุณลักษณะต่างๆ เช่น glide และการตั้งค่าคุณภาพเสียงหลายรายการเพื่อลดความยุ่งเหยิง การใส่เสียงของคุณลงในสิ่งนี้ (จาก adc~ สำหรับเสียงคู่ขนาน หรือจากมิกซ์แบบแห้งสำหรับเสียงแบบซีรีส์) ช่วยให้คุณใช้แป้นหมุนเพื่อปรับระดับของการเปลี่ยนระดับเสียง

เช่นเดียวกับมิกซ์แบบแห้ง เราได้เพิ่มตัวเลื่อนเกนและออบเจ็กต์ svf~ เพื่อให้สามารถควบคุมระดับเสียงและปรับแต่ง EQ

ขั้นตอนที่ 5: การบิดเบือน

บิดเบือน!
บิดเบือน!
บิดเบือน!
บิดเบือน!
บิดเบือน!
บิดเบือน!

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

นอกจากนี้ เราได้ส่งเสียงที่เป็นผลลัพธ์ไปยังออบเจกต์ cascade~ โดยแนบกราฟตัวกรองมาด้วย วิธีนี้ทำให้คุณสามารถบิดเบือนเสียงได้มากหรือน้อยในบางความถี่ และด้วยแถบตัวกรองได้มากเท่าที่คุณต้องการ กราฟตัวกรองการบิดเบือนของเราสร้างแบบจำลองหลังจากการบิดเบี้ยวของแป้นเหยียบ Boss HM-2 Heavy Metal ในปี 1980

ณ จุดนี้ เรายังเริ่มเพิ่มออบเจ็กต์ omx.peaklim~ หลังจากเอฟเฟกต์ที่มีสัญญาณรบกวนโดยเฉพาะอย่างยิ่ง - วัตถุนี้จำกัดสัญญาณเสียงที่ผ่านเข้ามาเหมือนที่คอมเพรสเซอร์ทำ ทำให้ง่ายต่อการป้องกันไม่ให้พาธเสียงสุดท้ายถูกตัดออก

ขั้นตอนที่ 6: พลังของโดรน

พลังของโดรน
พลังของโดรน
พลังของโดรน
พลังของโดรน

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

ขั้นตอนที่ 7: เข้าสู่ Bizarre: Ring Modulation

เข้าสู่ Bizarre: Ring Modulation
เข้าสู่ Bizarre: Ring Modulation
เข้าสู่ Bizarre: Ring Modulation
เข้าสู่ Bizarre: Ring Modulation

ตอนนี้ เราไปต่อโดยการเพิ่มการมอดูเลตวงแหวน! เอฟเฟกต์ที่สนุกและเจ๋งนี้สร้างได้ง่ายมาก และเข้าใจผิดอย่างมากเพราะมันฟังดู… ขี้ขลาดเล็กน้อย ทำได้โดยติดแป้นหมุนกับวัตถุ *~ ในช่องทางเข้าด้านขวา และติดแป้นหมุนที่ช่องระบายอากาศด้านซ้าย เราก้าวไปอีกขั้น - เมื่อโมดูเลเตอร์วงแหวนของเราอยู่ด้านล่างสุด ประตูจะปิดสัญญาณตัวเลข ดังนั้นสัญญาณม็อดวงแหวนจึงถูกตัดออกโดยสิ้นเชิง นอกจากนี้ยังสามารถสลับเพื่อส่งออกไปยังวัตถุ * อื่นซึ่งลดความถี่ตามจำนวนที่ระบุ ด้วยวิธีนี้ เราสามารถมีม็อดวงแหวนแบบ "ดี" แบบลูกคอ และมอดูเลตเสียงกริ่งที่เร็วและแปลกประหลาด เช่นเดียวกับเอฟเฟกต์อื่น ๆ สิ่งนี้ถูกเรียกใช้ในแถบเลื่อนขยายและตัวกรอง svf~

ขั้นตอนที่ 8: ความล่าช้าและการลดระดับสัญญาณ… ลดระดับ… องศา… D….

ดีเลย์และสัญญาณเสื่อม… เสื่อม… องศา… ง….
ดีเลย์และสัญญาณเสื่อม… เสื่อม… องศา… ง….
ดีเลย์และสัญญาณเสื่อม… เสื่อม… องศา… ง….
ดีเลย์และสัญญาณเสื่อม… เสื่อม… องศา… ง….

ต่อไปนี้ เรากำลังสร้างการหน่วงเวลาด้วยการควบคุมเวลา แป้นหมุนตอบรับ แป้นหมุนเสียง และการลดระดับตัวอย่าง ซึ่งช่วยให้เราสามารถเลียนแบบการหน่วงเวลาแบบอะนาล็อกโดยค่อยๆ ทำให้สัญญาณเงียบลงและบิดเบี้ยวมากขึ้น ในการทำเช่นนี้ เราใช้วัตถุ tapin~ และ tapout~ ที่เชื่อมต่อกัน เราเขียน 5000 หลังจาก tapin~ เพื่อให้แน่ใจว่ามีเวลาหน่วยความจำ 5000ms การเพิ่มออบเจกต์ degrade~ ทำให้เราค่อยๆ ทำลายสัญญาณได้ จากนั้น เราเรียกใช้เสียงจาก adc~ ไปยังวัตถุที่ลดระดับ ~ เป็น tapin~ เป็น tapout~ และกลับเข้าสู่ degrade~ จาก a *~ และจาก *~ ไปพร้อม ๆ กันเพื่อควบคุม การทำเช่นนี้ช่วยให้เราแนบแป้นหมุนเพื่อปรับระดับเสียงของการหน่วงเวลากลับเข้าสู่ตัวเองและมีสัญญาณล่าช้าที่มาจากวัตถุ *~ ไปยังเอาต์พุตของเรา นอกจากนี้ การวางวัตถุที่เสื่อมสภาพก่อน tapin~ ทำให้เราเพิ่มการลดตัวอย่างมากขึ้นเรื่อยๆ เนื่องจากสัญญาณล่าช้า ตรวจสอบรูปภาพและรหัสของเราเพื่อดูว่าทั้งหมดนี้เสร็จสิ้นได้อย่างไร

ขั้นตอนที่ 9: พัดโบกสไตล์ Belton Brick

พัดโบกสไตล์อิฐเบลตัน
พัดโบกสไตล์อิฐเบลตัน
พัดโบกสไตล์เบลตันอิฐ
พัดโบกสไตล์เบลตันอิฐ

เสียงสะท้อนอิฐของเบลตันหมายถึงเสียงสะท้อนที่มาพร้อมกับชิปบันทึกดิจิทัล Accu-Bell BTDR ซึ่งออกแบบโดย Brian Neunaber แห่ง Neunaber Effects ชิปนี้อนุญาตให้ใช้สปริงรีเวิร์บอย่างง่ายโดยใช้เส้นหน่วงเวลาแบบเรียงซ้อน เพื่อจำลองสิ่งนี้ เราได้ตั้งรหัสการหน่วงเวลาไว้อีกอันหนึ่งโดยใช้ปุ่มเดียวเพื่อปรับเวลาและข้อเสนอแนะ เวลาจะไม่มีวันข้าม 100ms และคำติชมถูกต่อยอดที่ 80% การดีเลย์อย่างง่ายนี้ให้เสียงรีเวิร์บสปริงที่ง่ายดาย! ออกมาสู่การควบคุมเกนและโทนอีกครั้ง

ขั้นตอนที่ 10: ลูกคอสเตอริโอสุ่ม

ลูกคอสเตอริโอสุ่ม
ลูกคอสเตอริโอสุ่ม
ลูกคอสเตอริโอสุ่ม
ลูกคอสเตอริโอสุ่ม

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

ในการทำเช่นนี้ เราเลียนแบบรหัสวงแหวนจากก่อนหน้านี้ โดยมีการเปลี่ยนแปลงบางอย่าง: ขณะนี้สัญญาณวิ่งเข้าไปในสองประตูซึ่งเปิดเมื่ออีกประตูปิด ซึ่งจะช่วยให้สัญญาณได้รับผลกระทบหรือไม่ได้รับผลกระทบ มากกว่าที่จะได้รับผลกระทบหรือปิดเท่านั้น สิ่งนี้เสร็จสิ้นด้วย !- วัตถุ หน้าปัดของเราวิ่งเข้าไปในวัตถุ rand~ จากนั้น *~ และ +~ และลงไปที่อีกอัน *~ ในทางเข้าด้านขวาและเสียงทางด้านซ้าย เรามีลูกคอสุ่มที่จะเปิดขึ้นเมื่อแป้นหมุนขึ้นและลงเมื่อปิด!

สิ่งนี้ไม่ต้องการเกนคอนโทรลหรือการควบคุมโทน ดังนั้นมันจึงตรงไปที่ออบเจกต์ dac~

ขั้นตอนที่ 11: ออสซิลโลสโคป

ออสซิลโลสโคป!
ออสซิลโลสโคป!
ออสซิลโลสโคป!
ออสซิลโลสโคป!

สุดท้าย เราเพิ่มขอบเขต~ วัตถุที่เชื่อมต่อกับเอาท์พุตเสียงจากตัวควบคุมเกนหลัก นอกจากนี้เรายังเพิ่มหน้าปัดเพื่อปรับความไวของมันด้วย!

ขั้นตอนที่ 12: นำเสนอโมดูลการประมวลผลสัญญาณ

การนำเสนอโมดูลการประมวลผลสัญญาณ
การนำเสนอโมดูลการประมวลผลสัญญาณ

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

ขั้นตอนที่ 13: ส่วนที่ 2: ตัวสร้างคอร์ด

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

อย่างไรก็ตาม ในการสร้าง Ambient Loop ของเราเอง เราจะต้องสร้าง Max patch ใหม่ ด้วยพลังของ MIDI แพตช์ที่เสร็จสิ้นแล้วจะทำหน้าที่เป็นตัวควบคุม MIDI แบบใหม่สำหรับ DAW ของคุณอย่างมีประสิทธิภาพ โดยส่งโน้ตไปยังแพตช์โดยตรง ช่วยให้คุณใช้เครื่องมือใดๆ ที่คุณเลือกหรือออกแบบได้! ในทางตรงกันข้ามกับตัวควบคุม MIDI ภายนอก ด้วยพลังสูงสุด เราสามารถสร้างตัวควบคุม MIDI ที่สามารถเล่นได้ทั้งหมดด้วยตัวเอง ช่วยให้คุณสามารถมอดูเลตด้วยตัวประมวลผลสัญญาณได้อย่างง่ายดาย

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

ขั้นตอนที่ 14: รับบันทึกเพื่อป้อนเข้าสู่ Arpeggiator

การรับบันทึกเพื่อป้อนเข้าสู่ Arpeggiator
การรับบันทึกเพื่อป้อนเข้าสู่ Arpeggiator
การรับบันทึกเพื่อป้อนเข้าสู่ Arpeggiator
การรับบันทึกเพื่อป้อนเข้าสู่ Arpeggiator

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

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

จากภาพแรก ส่วนใหญ่ของส่วนนี้เป็นเพียงคณิตศาสตร์ที่สอดคล้องกับช่วงเวลาของคีย์เหล่านี้ เริ่มจากช่องซ้ายสุดที่เขียนว่า '60' นั่นคือรูท เมื่อใดก็ตามที่รูทเปลี่ยนแปลง ช่วงเวลาจะเปลี่ยนไปตามคีย์ปัจจุบัน ตัวอย่างเช่น ถ้าคีย์หลักถูกเลือก ช่วงเวลาที่สอดคล้องกันคือ 4 และ 7 จากนั้นรันผ่านกล่อง +0 ซึ่งจะเพิ่มช่วงเวลานั้นไปที่รูท และให้โน้ต 3 ตัวเพื่อสร้างคอร์ดหลักจาก รากใด ๆ !

ขั้นตอนที่ 15: Arpeggiating คอร์ดเหล่านั้น

Arpeggiating คอร์ดเหล่านั้น
Arpeggiating คอร์ดเหล่านั้น
Arpeggiating คอร์ดเหล่านั้น
Arpeggiating คอร์ดเหล่านั้น
Arpeggiating คอร์ดเหล่านั้น
Arpeggiating คอร์ดเหล่านั้น

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

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

จดบันทึกอ็อบเจ็กต์ 'พอร์ต "จาก Max 1" ที่เชื่อมต่อกับกล่อง 'บันทึกย่อ' เนื่องจากนี่คือสิ่งที่ช่วยให้คุณส่งข้อมูล MIDI จาก Max ไปยัง DAW ของคุณ

วัตถุ 'เมโทร' กำหนดระยะเวลาระหว่างแต่ละช่วงเวลาในหน่วยมิลลิวินาที ฉันมีค่าเริ่มต้นเป็น 500ms และถ้าคุณทำตามรหัสที่แนบมาโดยใช้วัตถุตัวเลื่อนคุณสามารถปรับจำนวนมิลลิวินาทีระหว่างแต่ละช่วงเวลาได้

ขั้นตอนที่ 16: 'คีย์จัมเบลอร์'

'คีย์จัมเบลอร์'
'คีย์จัมเบลอร์'

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

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

ขั้นตอนที่ 17: สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ

สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ
สร้างความมหัศจรรย์ด้วยการสร้างโน้ตอัตโนมัติ

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

สิ่งสำคัญที่นี่คือ 'itable' หรือสี่เหลี่ยมจัตุรัสขนาดใหญ่ที่มีสี่เหลี่ยมสีน้ำเงินเล็กๆ อยู่ข้างใน โดยแนบสิ่งนี้กับพารามิเตอร์เมโทรจากอาร์เพจจิเอเตอร์ (กล่องที่ตั้งค่าเป็น 500) เราสามารถควบคุมจุดที่แน่นอนในลำดับอาร์เพจจิเอเตอร์ที่คอร์ดเปลี่ยนแปลงได้ เนื่องจาก Arpeggiator ทำงานเป็นชุด 3 ชุด ขนาดของ itable จึงตั้งไว้ที่ 12 สำหรับ 4 รอบ และช่วงถูกตั้งค่าเป็น 2 โดยที่ 2 เป็น "ไม่" และ 1 เป็น "ใช่" หรือไม่ เพื่อไม่ให้เปลี่ยนคอร์ด ด้วยลำดับในโค้ดหลัก อาร์เพจจิเอเตอร์จะทำหนึ่งถึงสาม จากนั้นจึงสร้างคอร์ดใหม่และจะเล่นผ่านสามกลุ่มนั้น เป็นต้น

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

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

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

ขั้นตอนที่ 18: เสร็จสิ้นการสัมผัส

สัมผัสสุดท้าย
สัมผัสสุดท้าย

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

สิ่งที่แนบมาด้วยคือวัตถุ 'หยุด' ซึ่งมีประโยชน์อย่างยิ่งเมื่อคุณเรียกใช้ Max ผ่าน DAW ในกรณีที่ Max เริ่มมีปัญหาในการสื่อสารข้อมูล MIDI คุณสามารถแทนที่และหยุดมันได้โดยไม่ต้องปิด Max หรือ DAW ของคุณโดยสมบูรณ์

ขั้นตอนที่ 19: ห่อมันทั้งหมด

ห่อมันทั้งหมดขึ้น
ห่อมันทั้งหมดขึ้น

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

การเลือกของฉันครอบคลุมถึงความจำเป็นของทุกอย่างที่ฉันต้องการให้ปรับเปลี่ยนได้ง่าย ดังนั้นคุณสามารถเพิ่มหรือนำออกไปได้ตามที่เห็นสมควร

สิ่งที่ต้องทำตอนนี้คือทำความคุ้นเคยกับแพทช์ทั้งสองนี้ และเริ่มสร้างเพลงได้เลย!

สนุก!

แนะนำ: