สารบัญ:

ตัวอย่าง Pad Controller โดยใช้ Pure Data: 4 ขั้นตอน
ตัวอย่าง Pad Controller โดยใช้ Pure Data: 4 ขั้นตอน

วีดีโอ: ตัวอย่าง Pad Controller โดยใช้ Pure Data: 4 ขั้นตอน

วีดีโอ: ตัวอย่าง Pad Controller โดยใช้ Pure Data: 4 ขั้นตอน
วีดีโอ: How to Create a Sequencer in Pure Data! 2024, กรกฎาคม
Anonim
ตัวอย่าง Pad Controller โดยใช้ Pure Data
ตัวอย่าง Pad Controller โดยใช้ Pure Data

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

ฉันจะใช้ Pure Data เพื่อสร้างแพตช์เพื่อโหลดไฟล์ wav แล้วเล่นเมื่อได้รับอินพุตจากอินพุตแบบอนุกรม

อินพุตแบบอนุกรมจะมาจาก Arduino อ่านแผ่นอิเล็กโทรดโดยใช้พินอะนาล็อกและส่งค่าไปยังแพตช์

เสบียง

ไมโครคอนโทรลเลอร์ Arduino (ฉันเลือกใช้ Arduino Mega โดยมีหมุดอะนาล็อก 16 อันที่อนุญาตให้ใส่อินพุต 16 แพดหรือ 8 แผ่นสเตอริโอในกรณีของฉัน)

แผ่นสำหรับป้อนข้อมูล (ฉันใช้แผ่น Roland แบบเก่า แต่สามารถใช้หลักฐานเดียวกันกับแผ่น piezo ได้เช่นกัน)

อุปกรณ์ที่สามารถเรียกใช้ Pure Data ได้ - อาจเป็นอะไรก็ได้ตั้งแต่ Raspberry Pi ไปจนถึงพีซี เป็นซอฟต์แวร์ที่ยอดเยี่ยมที่สามารถทำงานบน Linux, Mac หรือ Windows ฉันจะใช้แท็บเล็ต Windows 8 รุ่นเก่า

ขั้นตอนที่ 1: ทำไมต้อง Pure Data?

ฉันทำงานเกี่ยวกับโปรเจ็กต์เพลงมาหลายปีแล้ว และในช่วงเวลานั้น ฉันได้ใช้ซอฟต์แวร์และฮาร์ดแวร์ทุกประเภทเพื่อสร้างผลิตภัณฑ์ขั้นสุดท้ายของฉัน ปกติแล้วฉันจะลองใช้ Python สำหรับสิ่งนี้ แต่ในโปรเจ็กต์อื่นเมื่อเร็วๆ นี้ ฉันเริ่มเห็นได้ชัดว่าฉันต้องการบางสิ่งที่เหมาะสมกว่าเพื่อจัดการกับการประมวลผลไฟล์เสียงหลายไฟล์ ฉันสะดุดกับ Pure Data และได้ใช้มันสำหรับโปรเจ็กต์เสียงของฉันตั้งแต่นั้นเป็นต้นมา!

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

Pure Data ทำให้การโหลดและเล่นไฟล์เสียงเป็นเรื่องง่าย อีกทั้งยังรับและกำหนดเส้นทางคำสั่งซีเรียล ดังนั้นจึงทำให้การใช้งานสำหรับโปรเจ็กต์นี้เป็นเรื่องง่าย!

ขั้นตอนที่ 2: สร้างอุปกรณ์อินพุตของคุณ

สร้างอุปกรณ์อินพุตของคุณ
สร้างอุปกรณ์อินพุตของคุณ

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

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

ภาพที่แนบมาแสดง Arduino Uno และแจ็คอินพุต TRS สามช่อง แผ่น Roland ที่ฉันใช้มีแผ่นรองหลักและแผ่นรองขอบที่ส่งผ่านแจ็ค TRS สำหรับเราด้วย Arduino ฉันได้วางไว้บนเขียงหั่นขนมและใช้สายเขียงหั่นขนมเพื่อเชื่อมต่อแจ็คกับพินอะนาล็อกของฉัน

เมื่อเสร็จแล้ว แจ็คจะถูกเจาะและติดตั้งเข้ากับโครงของโปรเจ็กต์และต่อเข้ากับ Arduino โดยตรง

สุดท้าย อัปโหลดโค้ด SamplePadController.ino ที่แนบมากับ Arduino ของคุณ หากคุณต้องการเพิ่มอินพุตเพิ่มเติม ให้คัดลอกโครงสร้างในไฟล์เพื่อเพิ่มลงในบรรทัดคำสั่งซีเรียลที่ส่งไปยังแพตช์

ขั้นตอนที่ 3: ตั้งค่าอุปกรณ์ Pure Data

ตั้งค่าอุปกรณ์ Pure Data
ตั้งค่าอุปกรณ์ Pure Data
ตั้งค่าอุปกรณ์ Pure Data
ตั้งค่าอุปกรณ์ Pure Data

ดาวน์โหลด Pure Data จากเว็บไซต์ Pure Data สำหรับระบบที่คุณเลือก จากนั้นเพิ่ม comport ภายนอกโดยไปที่ help > ค้นหา externals และป้อน 'comport' ซึ่งจะช่วยให้อุปกรณ์ของคุณโต้ตอบกับซีเรียลได้

ดาวน์โหลดไฟล์แนบ เปลี่ยนนามสกุลไฟล์.txt สองนามสกุลเป็น.pd แล้วเปิดไฟล์ SamplePad.pd

เพิ่มไฟล์ wav ลงในโฟลเดอร์สื่อ - ทำให้ง่ายต่อการแก้ไขในแพตช์

การใช้ ctrl+e เพื่อเข้าสู่โหมดแก้ไข คุณสามารถเปลี่ยนพอร์ต com จาก 9 เพื่อให้ตรงกับพอร์ตอนุกรม Arduino ของคุณ และยังเปลี่ยนชื่อไฟล์ wav สำหรับการใช้งานได้อีกด้วย หากคุณใส่ไว้ในโฟลเดอร์สื่อในไดเร็กทอรีของโครงการ (ในรูปที่ 2) คุณสามารถอ้างอิงได้โดยใช้./media/filename.wav

วิธีการทำงานของโปรแกรมแก้ไขนั้นง่ายมาก มันเปิดขึ้นแล้วโหลดไฟล์ wav จากนั้นเปิดพอร์ตอนุกรมเพื่อสื่อสารกับ Arduino เมื่อ Arduino ส่งสตริงของค่าไปยังมัน มันจะกำหนดเส้นทางอินพุตไปยังแต่ละแพด pad1, pad2 เป็นต้น ค่าที่ได้รับจากนั้นเล่นไฟล์โดยใช้สิ่งนั้นเป็น voume ตราบใดที่ค่านั้นมากกว่า 0 หากไม่ได้กดแป้น จะไม่มีเสียงเล่น เรียบง่าย!

ขั้นตอนที่ 4: พัฒนาต่อไป

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

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

แนะนำ: