สารบัญ:

Midi Controlled Recording Light สำหรับ Logic Pro X: 9 ขั้นตอน (พร้อมรูปภาพ)
Midi Controlled Recording Light สำหรับ Logic Pro X: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Midi Controlled Recording Light สำหรับ Logic Pro X: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Midi Controlled Recording Light สำหรับ Logic Pro X: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: MIDI controlled Recording light for Reaper 2024, กรกฎาคม
Anonim
Midi ควบคุมการบันทึกแสงสำหรับ Logic Pro X
Midi ควบคุมการบันทึกแสงสำหรับ Logic Pro X

บทช่วยสอนนี้ให้ข้อมูลเกี่ยวกับวิธีการสร้างและตั้งโปรแกรมอินเทอร์เฟซ MIDI พื้นฐานเพื่อควบคุมไฟบันทึกโดย Logic Pro X รูปภาพแสดงแผนภาพบล็อกของทั้งระบบจากคอมพิวเตอร์ Mac ที่ใช้ Logic Pro X ทางด้านซ้ายไปยัง SainSmart Relay จะใช้เปิดปิดไฟด้านขวา Logic Pro X ใช้คุณสมบัติที่เรียกว่าพื้นผิวการควบคุมเพื่อส่งข้อมูล MIDI เมื่อเริ่มหรือหยุดการบันทึก สาย USB กับ MIDI เชื่อมต่อคอมพิวเตอร์กับอินเทอร์เฟซ MIDI เพื่อส่งสัญญาณ อินเทอร์เฟซใช้ชิป optoisolator 6N138 เพื่อแยกอินพุต MIDI ออกจากคอมพิวเตอร์และเอาต์พุตไปยังบอร์ดควบคุม Arduino Uno นอกเหนือจากฮาร์ดแวร์และแผนผังของอินเทอร์เฟซ MIDI เราจะพูดถึงโปรแกรมหรือ "ร่าง Arduino" ที่อัปโหลดไปยังบอร์ดควบคุม Arduino ที่ใช้ในการตีความสัญญาณ MIDI จาก Logic Pro X แล้วจึงเปิดและปิดรีเลย์ในภายหลัง

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

ขั้นตอนที่ 1: แผนผัง

แผนผัง
แผนผัง

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

โปรดสังเกตว่าบอร์ดควบคุม Arduino Uno มีเอาต์พุต 5V ที่ใช้สำหรับจ่ายพลังงานให้กับทั้งชิปออปโตโซเลเตอร์ที่พิน 8 และบอร์ดรีเลย์ SainSmart 2 Channel ที่พิน VCC กราวด์ Arduino Uno เชื่อมต่อกับพิน 5 ของ optoisolator และพิน GND ของ SainSmart Relay Board Pin 7 ของ optoisolator ผูกกับกราวด์ผ่านตัวต้านทาน 10, 000 โอห์ม เอาต์พุตของ optoisolator ที่พิน 6 เชื่อมต่อกับพิน 2 ของ Arduino Uno แผนผังวงจรที่คล้ายกันอื่น ๆ อาจแสดงว่าเป็นพิน 0 ของ Arduino แต่ร่าง (โปรแกรม) ของเรากำหนดอินพุตให้กับพิน 2 เอาต์พุตพิน 7 บน Arduino Uno เชื่อมต่อกับพิน IN1 ของบอร์ดรีเลย์ SainSmart

จัมเปอร์บน SainSmart Relay Board ควรอยู่ในตำแหน่งเดิม เอาต์พุตรีเลย์อยู่ระหว่างขั้วต่อสกรูสองตัวดังที่แสดง เมื่อได้รับสัญญาณ MIDI ที่เหมาะสมแล้ว Arduino Uno จะทำให้พิน 7 เป็นบวก (สูง) ดังนั้นจึงสั่งให้รีเลย์ปิดและทำให้วงจรสมบูรณ์ระหว่างไฟกับแหล่งพลังงานและเปิดไฟ คุณอาจต้องการใช้ไฟแรงดันต่ำเพื่อไม่ให้ต้องนำ 110V AC เข้าไปในกล่องหุ้มอินเทอร์เฟซ MIDI แม้ว่าฉันจะเชื่อว่า SainSmart Relay Board ที่ใช้ในโครงการนี้ได้รับการจัดอันดับสำหรับ 110V AC

Arduino Uno ใช้พลังงานจากขั้วต่อแบบบาร์เรลที่สร้างขึ้นบนบอร์ด แหล่งจ่ายไฟมาตรฐาน 9V แบบติดผนังน่าจะเพียงพอ สิ่งเหล่านี้ส่วนใหญ่จะมาพร้อมกับปลายกระบอกหลายอันซึ่งหนึ่งในนั้นจะรองรับขั้วต่อของกระบอกบน Arduino

ขั้นตอนที่ 2: รายการชิ้นส่วน

รายการชิ้นส่วนสำหรับไฟบันทึกอินเทอร์เฟซ MIDI:

ขั้วต่อ MIDI: Digikey CP-2350-ND

ตัวต้านทาน 220 โอห์ม 1/4 วัตต์: Digikey CF14JT220RCT-ND

1N4148 ไดโอด: Digikey1N4148-TAPCT-ND (ทางเลือก:1N914, 1N916, 1N448

ตัวต้านทาน 10k Ohm 1/4watt Digikey CF14JT10K0CT-ND

ตัวต้านทาน 470 โอห์ม 1/4 วัตต์: Digikey CF14JT470RCT-ND (ฉันใช้ 2x220 แทน)

6N138 ออปโตไอโซเลเตอร์: Digikey 751-1263-5-ND (Frys - NTE3093 หมายเลขชิ้นส่วน: 1001023)

Arduino Uno - R3+: OSEPP (OSEPP.com) และ Frys: #7224833

SainSmart 2-channel 5V Relay Module: สามารถพบได้ใน Amazon คุณสามารถแทนที่โซลิดสเตตรีเลย์ด้วยอินพุต 5-12V เพื่อการทำงานที่เงียบในสตูดิโอ รีเลย์ทางกายภาพมีเสียงดัง

เขียงหั่นขนม: Fry's Electronics หรืออื่นๆ

สายจัมเปอร์: Fry's Electronics หรืออื่นๆ ฉันใช้ SchmartBoard -

อะแดปเตอร์จ่ายไฟแบบเสียบผนัง 9V DC: Fry’s หรืออื่นๆ (โดยปกติจ่ายไฟ 600-700mA มักจะปรับได้เพื่อให้แรงดันไฟต่างกัน 3-12 โวลต์และมาพร้อมกับคำแนะนำที่ต่างกัน ตัวอย่าง: Fry’s 7742538)

สาย USB A-B: ใช้เชื่อมต่อคอมพิวเตอร์ของคุณกับบอร์ด Arduino เพื่ออัปโหลดภาพร่าง (โปรแกรม) Fry's Electronics หรืออื่นๆ

สิ่งที่ส่งมาด้วย: Fry's Electronics หรืออื่นๆ ฉันใช้กล่องจากร้าน Michael's Arts and Crafts Shop

น็อต สลักเกลียว และสเปเซอร์สำหรับยึดบอร์ด: Fry's Electronics หรืออื่นๆ

ไฟบันทึก: แสงใดก็ได้ ควรใช้บางอย่างที่มีแหล่งจ่ายไฟแรงดันต่ำ คุณจึงไม่ต้องรัน 110V AC เข้ากับรีเลย์ของตู้ midi ฉันใช้ไฟฉุกเฉินแบบใช้แบตเตอรี สีแดง และพบว่ามีราคาถูกที่ของทอด แต่คุณอาจต้องการอะไรที่ดีกว่านี้

ขั้นตอนที่ 3: Arduino Uno

Arduino Uno
Arduino Uno

ทางด้านซ้ายของบอร์ด Arduino Uno เป็นขั้วต่อแบบบาร์เรลสำหรับแหล่งจ่ายไฟ 9V แหล่งจ่ายไฟแบบติดผนังธรรมดาน่าจะเพียงพอ (ดูรายการชิ้นส่วน) พอร์ตโลหะขนาดใหญ่เหนือขั้วต่อสายไฟคือพอร์ต USB สำหรับสาย USB AB สิ่งนี้เชื่อมต่อ Arduino Uno กับคอมพิวเตอร์ของคุณเพื่อให้สามารถอัปโหลดภาพร่าง (โปรแกรม) เมื่ออัปโหลดโปรแกรมไปยัง Arduino Uno แล้ว จะสามารถถอดสายเคเบิลออกได้ โปรดทราบว่าคุณจะต้องการติดตั้งส่วนท้ายของบอร์ด Arduino Uno ด้วยขั้วต่อสายไฟและพอร์ต USB ใกล้กับด้านข้างของตัวเครื่อง ดังนั้นคุณจึงสามารถตัดช่องเปิดและเข้าถึงได้ง่าย คุณจะใช้พิน 5V และพิน GND ที่ด้านล่างของรูปภาพเพื่อจ่ายไฟให้กับชิปออปโตไอโซเลเตอร์ 6N138 และบอร์ดรีเลย์ SainSmart ขา 2 ที่รับเอาต์พุต optoisolator และพิน 7 ที่ออกไปที่รีเลย์อยู่ที่ด้านบนของภาพ SchmartBoard สร้างสายจัมเปอร์ ส่วนหัว และโครงลวดที่สามารถเชื่อมต่อกับบอร์ด Arduino Uno ได้ ส่วนหัวและสายจัมเปอร์สำเร็จรูปเหล่านี้มีความยาวต่างกันทำให้ง่ายต่อการติดตั้งโมดูลต่างๆ และอาจช่วยประหยัดเวลาในการบัดกรี หากคุณมี Fry's Electronics อยู่ใกล้ๆ คุณสามารถเรียกดูทางเดินที่มีอุปกรณ์ Arduino และโครงการขนาดเล็กอื่นๆ หรือหุ่นยนต์เพื่อทำความเข้าใจเกี่ยวกับส่วนหัว สายจัมเปอร์ และตัวเชื่อมต่อที่พร้อมใช้งาน ตรวจสอบด้วย:

ขั้นตอนที่ 4: โมดูลรีเลย์ SainSmart 2 ช่อง

โมดูลรีเลย์ SainSmart 2 ช่อง
โมดูลรีเลย์ SainSmart 2 ช่อง

เอาต์พุตจากพิน 7 ของ Arduino Uno เชื่อมต่อกับพิน IN1 ของ SainSmart Relay Board ทางด้านซ้ายของภาพ 5v ที่มาจาก Arduino Uno เชื่อมต่อกับ VCC หมุด GND ของ Arduino Uno และ SainSmart Relay Board ควรเชื่อมต่อเข้าด้วยกัน จัมเปอร์บน SainSmart Relay Board ยังคงอยู่ตามที่แสดงในภาพ เอาต์พุตรีเลย์คือขั้วต่อสกรูสองตัวบนบนรีเลย์ด้านบนตามที่แสดงในภาพนี้ ขั้วต่อสกรูสองตัวอยู่ที่ด้านบนขวาของภาพ ขั้วต่อสกรูตัวหนึ่งเชื่อมต่อกับไฟ ซึ่งต่อจากนั้นก็ต่อกับแหล่งจ่ายไฟด้านหนึ่งของไฟ จากนั้นกลับไปที่ขั้วต่อสกรูอีกตัวบนรีเลย์ เพื่อที่ว่าเมื่อปิด ไฟจะจ่ายให้กับไฟและไฟจะสว่างขึ้น ฉันต่อสกรูเอาท์พุตรีเลย์เข้ากับปลั๊กโฟโนขนาด 1/4 ที่ติดตั้งบนตัวเครื่อง จากนั้นจึงต่อกับไฟจริงและเป็นแหล่งพลังงานแบตเตอรี่ ซึ่งช่วยให้ฉันถอดสายไฟออกจากกล่องเชื่อมต่อได้อย่างง่ายดาย

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

ขั้นตอนที่ 5: ภาพรวม MIDI โดยย่อ

MIDI – อินเทอร์เฟซดิจิตอลเครื่องดนตรี

หมายเหตุ: สำหรับคำอธิบายโดยละเอียดเพิ่มเติมของ MIDI โปรดดูคำแนะนำของ Amanda Gassaei ในหัวข้อ:https://www.instructables.com/id/Send-and-Receive-M…

นี่คือภาพรวมคร่าวๆ ของรูปแบบ MIDI ที่จะช่วยให้เข้าใจวิธีที่ Arduino Sketch (โปรแกรม) ใช้ข้อมูล MIDI ที่ส่งโดย Logic Pro X เพื่อควบคุมรีเลย์และไฟบันทึกในเวลาต่อมา

ข้อมูล MIDI ถูกส่งเป็นไบต์ซึ่งประกอบด้วย 8 บิต ('xxxxxxxx')

ในไบนารี แต่ละบิตจะเป็น '0' หรือ '1'

ไบต์แรกคือสถานะหรือไบต์คำสั่ง เช่น 'NOTE-ON', 'NOTE-OFF', 'AFTERTOUCH' หรือ 'PITCH BEND' ไบต์ที่ตามมาหลังไบต์คำสั่งคือไบต์ข้อมูลเพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง

ไบต์สถานะหรือคำสั่งเริ่มต้นด้วย 1: 1ssnnnn. เสมอ

ไบต์คำสั่งเก็บข้อมูลสำหรับคำสั่งใน 4 บิตแรก (1sss) และช่องสัญญาณใน 4 บิตสุดท้าย (nnnn)

ลองใช้ไบต์คำสั่ง 'NOTE-ON' ที่ส่งบนช่อง 2 เป็นตัวอย่าง:

หากไบต์คำสั่งคือ: 10010001

ไบต์เริ่มต้นด้วย 1 และตีความว่าเป็นคำสั่ง byte

เมื่อรู้ว่านี่คือไบต์คำสั่ง MIDI จะใช้ครึ่งแรกเป็น10010000

นี่ = 144 เป็นทศนิยม ซึ่งเป็นค่าคำสั่งสำหรับ 'NOTE-ON'

ครึ่งหลังของไบต์จะถูกตีความว่าเป็น 00000001

นี่ = 1 ในทศนิยมซึ่งถือว่าเป็นช่อง MIDI '2'

ไบต์ข้อมูลจะตามมาด้วย Command bytes และขึ้นต้นด้วย 0: 0xxxxxxx. เสมอ

ในกรณีของ NOTE-ON Command byte จะมีการส่งข้อมูลเพิ่มอีก 2 ไบต์ หนึ่งรายการสำหรับ PITCH (หมายเหตุ) และอีกรายการสำหรับ VELOCITY (ระดับเสียง)

พื้นผิวควบคุมไฟบันทึก Logic Pro X จะส่งข้อมูล MIDI ต่อไปนี้เมื่อเริ่มหรือหยุดการบันทึก:

เริ่มแล้ว (เปิดไฟ): ไบต์คำสั่ง 'NOTE-ON'/ช่อง MIDI ละเว้น Pitch byte, Velocity byte = 127

หยุด (ปิดไฟ): ไบต์คำสั่ง 'NOTE-ON'/ช่อง MIDI ละเว้นไบต์ระดับเสียง ไบต์ความเร็ว = 0

โปรดสังเกตว่าคำสั่ง MIDI จะเป็น 'NOTE-ON' เสมอ และมันคือความเร็วที่เปลี่ยนเพื่อเปิดหรือปิดไฟ Pitch byte ไม่ได้ใช้ในแอปพลิเคชันของเรา

ขั้นตอนที่ 6: Arduino Sketch (โปรแกรม)

เอกสารที่แนบมาเป็นไฟล์ pdf ของภาพสเก็ตช์จริงที่โหลดลงในบอร์ด Arduino Uno เพื่อเรียกใช้อินเทอร์เฟซ MIDI มีการสอน MIDI ที่เขียนโดย Staffan Melin ซึ่งใช้เป็นพื้นฐานสำหรับสเก็ตช์นี้ที่:

libremusicproduction.com/tutorials/arduino-…

คุณจะต้องดาวน์โหลดซอฟต์แวร์ Arduino ฟรีลงในคอมพิวเตอร์ของคุณ (https://www.arduino.cc/) เพื่อแก้ไขและโหลดภาพสเก็ตช์ลงในบอร์ด Arduino Uno โดยใช้สาย USB AB

ฉันยังสร้างและโพสต์วิดีโอแนะนำสองรายการบนช่อง YouTube ของฉัน (Chris Felten) ที่พูดถึงโปรเจ็กต์นี้และอธิบายภาพร่าง Arduino โดยละเอียดยิ่งขึ้น หากคุณสนใจที่จะสร้างอินเทอร์เฟซ MIDI และเขียนโปรแกรม วิดีโอที่เกี่ยวข้องทั้งสองอาจช่วยได้

ขั้นตอนที่ 7: อินเทอร์เฟซที่เสร็จสมบูรณ์

อินเทอร์เฟซที่เสร็จสมบูรณ์
อินเทอร์เฟซที่เสร็จสมบูรณ์
อินเทอร์เฟซที่เสร็จสมบูรณ์
อินเทอร์เฟซที่เสร็จสมบูรณ์

ฉันเลือกที่จะใส่อินเทอร์เฟซ MIDI ในกล่องไม้จาก Michael's Arts and Crafts แม้ว่ากล่องไม้จะสะดวกและราคาไม่แพง แต่กล่องไม้ก็ทำงานเหมือนเครื่องเคาะจังหวะเมื่อรีเลย์ทางกายภาพเปลี่ยน! รีเลย์โซลิดสเตตจะเป็นการปรับปรุงที่คุ้มค่าในการกำจัดสัญญาณรบกวนจากสวิตช์

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

มีภาพด้านในด้วย แม้ว่าโครงการจะต่อสายเข้าด้วยกันได้อย่างง่ายดายบนเขียงหั่นขนมที่มีรูพรุน แต่ฉันมีแผ่นทองแดงสำรองและวัสดุแกะสลัก ดังนั้นฉันจึงสร้างแผงวงจรพิมพ์สำหรับโครงการ ฉันใช้สายจัมเปอร์และส่วนหัวสำเร็จรูปจาก SchmartBoard (https://schmartboard.com/wire-jumpers/) เพื่อเชื่อมต่อบอร์ดอินเทอร์เฟซ Arduino Uno และบอร์ด SainSmart Relay

ขั้นตอนที่ 8: Logic Pro X

Logic Pro X มีคุณสมบัติที่เรียกว่าพื้นผิวการควบคุม หนึ่งในนั้นคือพื้นผิวควบคุมไฟบันทึกซึ่งเมื่อติดตั้งแล้วจะส่งสัญญาณ MIDI เมื่อมีการเปิดใช้งาน เริ่มต้น และหยุดการบันทึก คุณสามารถติดตั้งพื้นผิวการควบคุมได้โดยคลิกที่ 'Logic Pro X' ที่แถบเมนูด้านบน ตามด้วย 'Control Surfaces' และ 'Setup' ซึ่งจะเป็นการเปิดกล่องโต้ตอบใหม่ เมื่อคลิกที่เมนูดรอปดาวน์ 'ติดตั้ง' คุณจะพบตัวควบคุมการบันทึกแสงในรายการและเพิ่มเข้าไป เป็นเรื่องที่ควรค่าแก่การดูวิดีโอ MIDI Controlled Recording Light บน YouTube ของฉัน เพื่อรับคำอธิบายแบบเต็มเกี่ยวกับวิธีการตั้งค่าพารามิเตอร์ Logic Pro X Recording Light Control Surface เพื่อใช้งานกับอินเทอร์เฟซนี้

ขั้นตอนที่ 9: ข้อมูลอ้างอิงที่เป็นประโยชน์

ส่งและรับ MIDI ด้วย Arduino โดย Amanda Gassaei:

www.instructables.com/id/Send-and-Receive-M…

Arduino และ MIDI ในบทช่วยสอนโดย Staffan Melin:

libremusicproduction.com/tutorials/arduino-…

แนะนำ: