สารบัญ:

Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)
Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Guitar Hero Midi Controller! 2024, กรกฎาคม
Anonim
Image
Image
ขั้นตอนที่ 1: Raspberry Pi (การตั้งค่าเริ่มต้น)
ขั้นตอนที่ 1: Raspberry Pi (การตั้งค่าเริ่มต้น)

เกม Guitar Hero เป็นเกมที่คลั่งไคล้เมื่อหลายสิบปีก่อน ดังนั้นจึงต้องมีอุปกรณ์ควบคุมกีตาร์รุ่นเก่าจำนวนมากวางอยู่รอบๆ รวบรวมฝุ่น พวกมันมีปุ่ม ลูกบิด และคันโยกมากมาย ทำไมไม่ลองใช้มันให้เป็นประโยชน์อีกล่ะ? ปกติตัวควบคุมกีตาร์จะไม่ส่งเสียงใดๆ ด้วยตัวเอง แต่ในบทช่วยสอนนี้ ฉันจะแสดงวิธีแปลงตัวควบคุม Wii Guitar Hero Controller เพื่อให้สามารถเล่นเป็นซินธิไซเซอร์ได้

เสบียง

  • Guitar Hero ตัวควบคุม Wii
  • กระดานฝ่าวงล้อม Nunchucky (มีใน Adafruit ที่นี่)
  • สายจัมเปอร์ 4ea (หญิงกับหญิง)
  • ขั้วต่อจีบ 2ea (อุปกรณ์เสริม)
  • Raspberry Pi (3 B+ หรือ 4 ที่ต้องการ)
  • การ์ด MicroSD 16GB

ขั้นตอนที่ 1: ขั้นตอนที่ 1: Raspberry Pi (การตั้งค่าเริ่มต้น)

Raspberry Pi คือสมองและความแข็งแกร่งของโปรเจ็กต์นี้ ดังนั้นสิ่งแรกที่เราต้องทำคือสร้างมันขึ้นมาสำหรับโปรเจ็กต์ของเรา ฉันได้ลองใช้โปรเจ็กต์นี้กับ Raspberry Pi 3 B+ และ 4 แล้วและดูเหมือนว่าทั้งคู่จะทำงานได้ดี

Raspberry Pi เป็นไมโครคอมพิวเตอร์ที่เก็บทุกอย่างไว้ในการ์ด microSD แทนที่จะเป็นฮาร์ดไดรฟ์…รวมถึงระบบปฏิบัติการ วิธีทั่วไปในการใช้งานคือดาวน์โหลดระบบปฏิบัติการล่าสุดและเบิร์นอิมเมจลงในการ์ด microSD ดังต่อไปนี้:

  • บนพีซีหรือแล็ปท็อปแยกต่างหาก ให้ไปที่
  • ดาวน์โหลด Raspbian OS ล่าสุด (บัสเตอร์ในขณะที่เขียนนี้) มีหลายเวอร์ชันบนหน้าเว็บซึ่งให้ซอฟต์แวร์ที่รวมอยู่มากหรือน้อยขึ้นอยู่กับความชอบของคุณ พวกเขาทั้งหมดควรทำงานได้ดี แต่ฉันชอบใช้ตัวเลือก "Raspbian Buster กับเดสก์ท็อปและซอฟต์แวร์ที่แนะนำ" เพราะมันรวม IDE การเขียนโปรแกรมและแอพที่มีประโยชน์อื่น ๆ วิธีที่ง่ายที่สุดคือการดาวน์โหลดเวอร์ชัน zip
  • เบิร์นอิมเมจ Raspbian ลงในการ์ด microSD มีแอปพลิเคชั่นมากมายที่คุณสามารถใช้เพื่อเบิร์นอิมเมจ Raspbian ลงในการ์ด microSD ของคุณ แต่ฉันใช้โปรแกรม balenaEtcher ซึ่งคุณสามารถเข้าถึงได้ที่นี่ ใส่การ์ด microSD ลงในคอมพิวเตอร์ของคุณและเรียกใช้ balenaEtcher สำหรับภาพดิสก์ เลือกไฟล์ zip ที่คุณดาวน์โหลด จากนั้นเลือกการ์ด SD แล้วกดแฟลช เครื่องมือจะคลายซิปไฟล์อิมเมจของดิสก์และเบิร์นลงในการ์ด SD สำคัญ: ตรวจสอบให้แน่ใจว่าไดรฟ์ที่คุณเลือกคือการ์ด microSD…เครื่องมือจะเขียนทับไดรฟ์ใดๆ ที่คุณระบุ ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้เลือกอันที่ถูกต้อง
  • เปิดไฟ Raspberry Pi ของคุณ ใส่การ์ด microSD ลงใน Raspberry Pi ของคุณ เชื่อมต่อพาวเวอร์ เมาส์ คีย์บอร์ด และลำโพงของคุณ หากคุณปฏิบัติตามคำแนะนำ มันก็ค่อนข้างอธิบายได้ชัดเจน…ตั้งตำแหน่ง/เวลาของคุณ ตั้งรหัสผ่าน และเชื่อมต่อ WiFi

นี่คือการตั้งค่ามาตรฐานทั้งหมดสำหรับ Raspberry Pi ดังนั้นหากคุณต้องการรายละเอียดเพิ่มเติม คุณสามารถค้นหาได้ที่นี่ เราจะทำตามขั้นตอนที่เหลือกับ Raspberry Pi

ขั้นตอนที่ 2: ขั้นตอนที่ 2: เปิดใช้งาน I2c

ขั้นตอนที่ 2: เปิดใช้งาน I2c
ขั้นตอนที่ 2: เปิดใช้งาน I2c

Guitar Hero Controller ใช้ i2c ในการสื่อสาร (i2c เป็นโปรโตคอลทั่วไปที่ใช้โดยอุปกรณ์อิเล็กทรอนิกส์เพื่อพูดคุยกัน) ดังนั้นเราจึงจำเป็นต้องเปิดใช้งานคุณสมบัตินี้ใน Raspberry Pi:

  • ติดตั้งไลบรารีสำหรับ i2c ดูเหมือนว่าไลบรารี i2c จะเป็นส่วนหนึ่งของบิลด์มาตรฐานของ Buster แต่ในกรณีที่เราจะเรียกใช้โปรแกรมติดตั้งสำหรับไลบรารีเหล่านี้ เปิดเชลล์ (มีไอคอนอยู่บนทาสก์บาร์ที่ด้านบน) แล้วพิมพ์ดังต่อไปนี้:

    • sudo apt-get install -y python-smbus
    • sudo apt-get install -y i2c-tools
  • เปิดใช้งาน i2c บน Raspberry Pi ในประเภทเชลล์ของคุณ: sudo raspi-config. นี่จะเป็นการเปิดหน้าต่างการกำหนดค่าของคุณ ลูกศรลงที่ InterfacingOptions->I2C เพื่อเปิดใช้งาน i2c สำหรับอุปกรณ์ หากต้องการออกจากหน้าต่าง ให้ลูกศรขวาไปที่ "ย้อนกลับ" และ "เสร็จสิ้น" เพื่อบันทึกการตั้งค่า
  • รีบูต ในเชลล์ของคุณ พิมพ์: sudo reboot
  • ตั้งค่าพารามิเตอร์ i2c ที่กำหนดเอง ค่าเริ่มต้น i2c baudrate (100k) ดูเหมือนจะสร้างความสับสนให้กับกีตาร์เป็นครั้งคราว ดังนั้นเราจะลดความเร็วลงเหลือ 50k ดังนี้:

    • ในประเภทเชลล์: sudo nano /boot/config.txt
    • การดำเนินการนี้จะเปิดไฟล์กำหนดค่าของคุณในโปรแกรมแก้ไขข้อความ ลูกศรลงและค้นหาบรรทัดที่ระบุว่า dtparam=i2c_arm=on หากมีการแสดงความคิดเห็น ให้ยกเลิกการแสดงความเห็น หากคุณไม่มีบรรทัดนั้นให้เพิ่ม ด้านล่างบรรทัดนั้นเพิ่มสิ่งต่อไปนี้ด้วย:

      • dtparam=i2c1=on
      • dtparam=i2c1_baudrate=50000
    • กด Ctrl + O เพื่อบันทึกไฟล์กำหนดค่า จากนั้นกด Ctrl + X เพื่อออก
  • รีบูต ในเชลล์ของคุณ พิมพ์: sudo reboot

ขั้นตอนที่ 3: ขั้นตอนที่ 3: ติดตั้ง Pure Data

ขั้นตอนที่ 3: ติดตั้ง Pure Data
ขั้นตอนที่ 3: ติดตั้ง Pure Data
ขั้นตอนที่ 3: ติดตั้ง Pure Data
ขั้นตอนที่ 3: ติดตั้ง Pure Data

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

  • ติดตั้งเพียวดาต้า ในประเภทเชลล์: sudo apt-get install puredata
    • สิ่งนี้ควรติดตั้งซอฟต์แวร์บน Raspberry Pi ของคุณ แต่ถ้ามันบ่นในเชลล์ว่าไม่สามารถค้นหาไฟล์ทั้งหมดที่ต้องการได้ ให้ลองทำดังนี้:

      • sudo apt-get update
      • จากนั้นรันคำสั่ง install อีกครั้ง: sudo apt-get install puredata
    • ระหว่างการติดตั้ง ระบบจะแจ้งให้คุณทราบหากต้องการสร้างไดเร็กทอรีสำหรับส่วนขยาย ให้ตอบว่าใช่
  • เปิดตัว Pure Data หากติดตั้งอย่างถูกต้อง คุณจะเห็นโปรแกรมแสดงอยู่ใน Desktop Start Menu ภายใต้ Sound & Video เรียกใช้เพื่อให้แน่ใจว่าเปิดตัว
  • ตั้งค่าเสียง Pure Data เสียงใน Pure Data มักจะไม่เปิดอยู่โดยค่าเริ่มต้น ดังนั้นคุณจะต้องเปิดใช้งาน

    • ตั้งค่าเอาต์พุตเสียงเป็น ALSA เมื่อ Pure Data เปิดขึ้น คุณจะเห็นหน้าต่างคอนโซล ไปที่เมนูสื่อและเลือก ALSA เป็นผลลัพธ์ของคุณ คุณอาจเห็นข้อความเตือนในคอนโซลเชลล์ที่ระบุว่าไม่พบไฟล์บางไฟล์ แต่คุณสามารถเพิกเฉยได้
    • เปิดเสียง DSP ในหน้าต่างคอนโซล ให้เลือกช่องทำเครื่องหมายที่ระบุว่า DSP
  • ทดสอบเอาต์พุตเสียง ในหน้าต่างคอนโซล Pure Data ให้ไปที่ Media->Test Audio & MIDI การดำเนินการนี้จะเปิดไฟล์ทดสอบที่เราสามารถใช้ได้เพื่อให้แน่ใจว่า Pure Data ทำงานและเราสามารถได้ยินเสียง เปิดลำโพงของคุณ แต่ให้เปิดเสียงเบาในตอนแรก (บางครั้งเสียงอาจดังมากตามค่าเริ่มต้น) ในไฟล์ทดสอบ ทางด้านซ้าย คุณจะเห็นส่วนที่เรียกว่า Test Tones คลิกที่กล่องที่ระบุว่า 60 ก่อน และดูว่าคุณได้ยินเสียงจากลำโพงของคุณหรือไม่ หากไม่เป็นเช่นนั้น ให้ลองคลิกที่ช่อง 80 แล้วเปิดลำโพงขึ้นจนกว่าคุณจะได้ยินเสียง หากคุณได้ยินเสียง ลองลากในกล่องที่ระบุว่า Pitch ทางด้านขวาของ Test Tones ซึ่งคุณสามารถเปลี่ยนความถี่ของเสียงและดูว่าเกิดอะไรขึ้น

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

  • เป็นไปได้ว่าเสียงกำลังกำหนดเส้นทางผ่านสาย HDMI ดังนั้นเพื่อบังคับให้ใช้แจ็คหูฟัง:

    • ในประเภทเชลล์: sudo raspi-config
    • ไปที่ตัวเลือกขั้นสูง->เสียง->บังคับแจ็ค 3.5 มม. ('หูฟัง')
  • ลองรีบูตเครื่อง บางครั้งสิ่งนี้ไม่หลอกลวง
  • ตรวจสอบลำโพงและการเชื่อมต่อกับ Raspberry Pi

ขั้นตอนที่ 4: ขั้นตอนที่ 4: เชื่อมต่อกีตาร์

ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
ขั้นตอนที่ 4: เชื่อมต่อกีตาร์

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

หมายเหตุ: Nunchucky มาพร้อมกับหมุดส่วนหัว แต่ไม่ได้มีการบัดกรี ดังนั้นคุณจะต้องทำสิ่งนี้ด้วยตัวเอง สำหรับฉันฉันใช้หมุดส่วนหัว 90 องศาแทนซึ่งช่วยให้วางราบในโครงการสุดท้าย

คุณต้องใช้สายไฟสี่เส้นเพื่อเชื่อมต่อ Nunchucky กับ Raspberry Pi เชื่อมต่อสายไฟจากหมุดส่วนหัว Nunchucky กับหมุด GPIO ของ Raspberry Pi ดังนี้:

  • 3.3v -> พิน 1
  • ข้อมูล -> ปักหมุด 3
  • CLk -> ปักหมุด 5
  • Gnd -> ปักหมุด 9

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

ในการตรวจสอบว่า Raspberry Pi ของคุณสามารถตรวจจับตัวควบคุมกีตาร์ได้ ให้เปิดเปลือกแล้วพิมพ์: sudo i2cdetect -y 1

ควรพิมพ์เส้นตารางในเชลล์โดยส่วนใหญ่จะมีเส้นประคู่อยู่ หากคอมพิวเตอร์สามารถตรวจจับกีตาร์ได้ คุณควรเห็น ID# 52 ของกีตาร์ในช่องใดช่องหนึ่ง…ในเครื่องของฉัน มันปรากฏในคอลัมน์ 2 แถว 5…แต่ไม่สำคัญหรอกว่าอันไหน ตราบใดที่คุณเห็น หมายเลข 52 ที่ไหนสักแห่งในนั้น

หากคอมพิวเตอร์ตรวจไม่พบ ให้ลองทำดังนี้

  • ตรวจสอบให้แน่ใจว่าสายไฟของคุณเชื่อมต่ออย่างแน่นหนา
  • ตรวจสอบให้แน่ใจว่าคุณได้เชื่อมต่อทุกอย่างเข้ากับหมุดที่ถูกต้อง
  • พลิกปลั๊กกีตาร์ไปรอบๆ Nunchucky ไม่ได้ป้องกันคุณจากการเสียบปลั๊กกลับด้าน ดังนั้นปลั๊กอาจกลับด้าน
  • ตรวจสอบให้แน่ใจว่าเปิดใช้งาน i2c บน Raspberry Pi (ดังแสดงในขั้นตอนที่ 2)

*หากปลั๊กบนคอนโทรลเลอร์กีตาร์ดูคุ้นๆ นั่นก็เพราะว่าเหมือนกับคอนโทรลเลอร์ Wii Nunchuck แบบมาตรฐาน…จึงเป็นที่มาของชื่อ Nunchucky! นอกจากนี้ยังหมายความว่าคุณสามารถใช้บอร์ดฝ่าวงล้อมเดียวกันนี้เพื่อเชื่อมต่อกับตัวควบคุม nunchuck ได้เช่นกัน

ขั้นตอนที่ 5: ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน

ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน

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

  • ในการดาวน์โหลดโค้ดและไฟล์อื่นๆ ลงใน Raspberry Pi ให้เปิดเชลล์ใหม่และพิมพ์คำสั่งต่อไปนี้ (คุณอาจต้องใส่ 'sudo' ไว้ข้างหน้า): git clone
  • สิ่งนี้จะสร้างไดเร็กทอรีในโฮมไดเร็กทอรีของคุณที่ชื่อว่า keytarHero (เช่น /home/pi/keytarHero) และดาวน์โหลดไฟล์ลงในไดเร็กทอรี

มีสามไฟล์หลักในแพ็คเกจนี้:

  • WiiGHController.py: นี่คือสคริปต์หลามเปิดการเชื่อมต่อ i2c กับกีตาร์และส่งกลับค่าของการควบคุมต่างๆ โดยค่าเริ่มต้น มันจะพิมพ์ค่าที่อ่านไปยังเชลล์ด้วย เพื่อให้คุณเห็นว่ามันกำลังทำอะไรอยู่
  • keytarHero.pd: นี่คือไฟล์แพทช์ Pure Data ที่ฉันสร้างขึ้นเพื่อสร้างเพลงที่คุณจะได้ยิน มันถูกตั้งค่าให้อ่านค่าที่มาจากกีตาร์และกำหนดเส้นทางไปยังโหนดต่างๆ เพื่อสร้างเสียง ฉันจะพูดถึงรายละเอียดของแพตช์ในขั้นตอนต่อไป แต่ท้ายที่สุด คุณสามารถปรับเปลี่ยนสิ่งนี้เพื่อทำสิ่งที่คุณต้องการได้จากที่นี่
  • keytarHero.py: นี่คือสคริปต์ที่เริ่มต้นกระบวนการทั้งหมดและรวมทุกอย่างเข้าด้วยกัน เปิดตัว Pure Data และเปิดแพตช์ keytarHero.pd มันเปิดการเชื่อมต่อกับแพตช์และส่งค่าจากกีตาร์ไปยังแพตช์

วินาทีแห่งความจริง! ตรวจสอบให้แน่ใจว่ากีตาร์เชื่อมต่อกับ Raspberry Pi และจากนั้นคุณพร้อมที่จะไป ในการเริ่มต้น คุณเพียงแค่เรียกใช้สคริปต์ keytarHero.py เพื่อทำสิ่งนี้:

  • เปิดเชลล์ใหม่และพิมพ์: cd keytarHero
  • จากนั้นรันคำสั่ง: python keytarHero.py

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

การแก้ไขปัญหา

หากไม่ได้ผล สิ่งที่ต้องตรวจสอบมีดังนี้

  • โปรแกรมแก้ไข Pure Data ไม่เริ่มทำงานหรือได้รับข้อผิดพลาดเกี่ยวกับการไม่พบไฟล์ใช่หรือไม่ สคริปต์ keytarHero.py มีพาธไปยังไฟล์แพตช์ Pure Data ที่ฮาร์ดโค้ดไปที่ '/home/pi/keytarHero/keytarHero.pd' หากคุณได้ย้ายโฟลเดอร์ keytarHero หรือไฟล์ patch นั้นไปที่อื่น คุณจะต้องอัปเดตสคริปต์เพื่อใช้พาธของคุณแทน ในการดำเนินการนี้ ให้เปิดไฟล์ keytarHero.py และค้นหาตัวแปรที่เรียกว่า PD_PATCH_PATH และเปลี่ยนให้ชี้ไปที่ไดเร็กทอรีที่มีไฟล์ keytarHero.pd ของคุณอยู่ บันทึกสคริปต์และเรียกใช้อีกครั้งและคุณน่าจะไปได้ดี
  • กีต้าร์ส่งสัญญาณ? สคริปต์ควรพิมพ์สัญญาณที่ได้รับจากกีตาร์ไปยังเปลือกอย่างต่อเนื่องเป็นสตริงตัวเลข แต่ละอันแสดงถึงค่าของตัวควบคุมบนกีตาร์ เมื่อคุณใช้ตัวควบคุมบนกีตาร์ จะทำให้ตัวเลขเหล่านี้เปลี่ยนไป หากไม่ ให้ตรวจสอบว่าคุณได้ตั้งค่า i2c และเชื่อมต่อกีตาร์อย่างถูกต้องตามขั้นตอนด้านบนแล้ว
  • เปิดเสียง Pure Data หรือไม่ แพตช์ Pure Data ที่ให้มาในแพ็คเกจนี้ควรเปิดเสียงโดยอัตโนมัติ แต่ตรวจสอบว่าได้เลือกช่องทำเครื่องหมาย DSP ในคอนโซล Pure Data แล้ว ตรวจสอบการตั้งค่าเสียงของคุณตามที่แสดงในขั้นตอนที่ 3 ด้วย
  • Pure Data รับสัญญาณจากกีตาร์หรือไม่? ที่มุมขวาบนของแพตช์จะมีโหนดจำนวนมากที่ทำหน้าที่อ่านสัญญาณจากกีตาร์และส่งไปยังส่วนอื่นๆ ของแพตช์ ขณะที่คุณกดปุ่มบนกีตาร์ ตัวเลขในส่วนนี้ควรอัปเดตและบอกคุณว่ากีต้าร์รับสัญญาณได้ถูกต้อง
  • การเริ่มต้นตัวแปรในแพตช์ Pure Data อาจค่อนข้างจู้จี้จุกจิกเกี่ยวกับค่าในโปรแกรมแก้ไขที่ไม่ได้เริ่มต้น ฉันได้เพิ่มกลไกเพื่อทริกเกอร์ตัวแปรเมื่อเปิดขึ้น แต่อาจคุ้มค่าเพียงแค่คลิกที่กล่องข้อความบางกล่อง สิ่งนี้ทำให้พวกเขาเริ่มต้นและสามารถปลุกได้

ขั้นตอนที่ 6: ทัวร์ชม Pure Data Patch

ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch
ทัวร์ชม Pure Data Patch

การตั้งค่าที่อธิบายไว้ในบทช่วยสอนนี้จะช่วยให้สิ่งต่างๆ ได้ผลสำหรับคุณ แต่ข้อดีอย่างหนึ่งของการใช้ Pure Data สำหรับโปรเจ็กต์นี้คือ สามารถปรับแต่งให้ทำอะไรก็ได้ตามที่คุณต้องการ เมื่อแพตช์เปิดอยู่ หากคุณกด Ctrl + E แพตช์จะทำให้แพตช์เข้าสู่โหมดแก้ไข และคุณสามารถเปลี่ยนแพตช์ได้ รายละเอียดของการใช้ Pure Data อยู่นอกเหนือขอบเขตของบทช่วยสอนนี้ (มีบทช่วยสอนออนไลน์มากมายสำหรับเรื่องนั้น) แต่อาจสนุกที่จะแก้ไขด้วย ดังนั้นนี่คือทัวร์ทั่วไปของสิ่งที่เกิดขึ้นในแพตช์ keytarHero.pd เผื่อคุณ ต้องการปรับแต่ง:

  • การสื่อสารของกีตาร์: ที่มุมขวาบนของแพทช์เป็นแผนผังของโหนดที่รับผิดชอบในการจัดการสัญญาณจากกีตาร์ ค่าจากกีตาร์เป็นสตริงที่ยาว ดังนั้นโหนดเหล่านี้จะแยกสตริงออกเป็นค่าต่างๆ สำหรับตัวควบคุมแต่ละตัว แปลงเป็นตัวเลข แล้วส่งต่อไปยังโหนด 'ส่ง' (ค่าที่ขึ้นต้นด้วย s) โหนดส่งถูกกำหนดชื่อและส่งสัญญาณไปยัง 'รับ' โหนดที่มีชื่อเดียวกัน ตัวอย่างเช่น โหนด 's whammy' ปล่อยค่าที่มาจาก whammy bar ของกีตาร์ และโหนด 'r whammy' ที่อยู่ตรงกลางของแพตช์จะรับสัญญาณนั้นและใช้สัญญาณนั้นเพื่อหยุดซีเควนเซอร์ โหนดส่ง/รับช่วยลดความยุ่งเหยิงของสายเชื่อมต่อในแพตช์ ฉันไม่แนะนำให้ยุ่งกับส่วนนี้เพราะมันค่อนข้างจะยุ่งยากในการทำให้ถูกต้อง แต่คุณสามารถเพิ่มโหนดรับเพิ่มเติมตลอดทั้งแพตช์ได้ตามต้องการเพื่อรับสัญญาณจากส่วนนี้ได้ตามต้องการ
  • ส่วนซีเควนเซอร์: ส่วนตรงกลางของแพตช์จะควบคุมซีเควนเซอร์ ทางด้านซ้ายเป็นแถบที่มีสี่เหลี่ยมสีดำเคลื่อนที่ซึ่งจะแสดงให้คุณเห็นว่าโน้ตตัวใดของลำดับโน้ต 16 ตัวที่กำลังเล่นอยู่ ปุ่มดีดจะควบคุมว่าซีเควนซ์กำลังเล่นไปข้างหน้าหรือข้างหลัง ปุ่มบวก/ลบ เพิ่ม/ลดความเร็ว ทางด้านขวามีชุดตัวเลขห้าชุดที่ควบคุมว่าจะเล่นโน้ตใดในแต่ละขั้นตอน แต่ละซีเควนซ์ถูกกำหนดให้เล่นเมื่อกดปุ่มใดปุ่มหนึ่งจากห้าปุ่มบนเฟร็ต ตัวเลขเหล่านี้เป็นค่า MIDI และคุณสามารถเปลี่ยนให้เล่นโน้ตใดก็ได้ที่คุณต้องการ…เพียงแค่ให้ค่าระหว่าง 0 ถึง 127
  • ส่วน Oscillator/FX: ที่ด้านล่างซ้ายคือ oscillator และ FX nodes ที่สร้างเสียงจริงๆ ออสซิลเลเตอร์หลักอยู่ทางด้านซ้าย ค่า midi จากส่วนซีเควนเซอร์จะถูกแปลงเป็นความถี่และป้อนไปยังออสซิลเลเตอร์ ผสมกับออสซิลเลเตอร์ตัวที่สองที่มาจากด้านขวา ความถี่ของมันยังถูกควบคุมโดยค่า midi แต่ด้วยการชดเชยความถี่เพิ่มเติมที่ขับเคลื่อนโดยแกน X ของจอยสติ๊ก สิ่งนี้ทำให้เกิดเอฟเฟกต์เสียงแหลมหรือผิวปากเมื่อคุณเลื่อนจอยสติ๊กไปทางซ้ายหรือขวา ที่ด้านล่างขวายังมีโหนดตัวกรองความถี่ต่ำซึ่งความถี่ตัดที่เชื่อมโยงกับแกน Y ของจอยสติ๊ก ตัวกรองสัญญาณความถี่ต่ำจะกำหนดจำนวนเสียงความถี่สูงที่จะถูกลบออกจากเสียง เมื่อจอยสติ๊กถูกย้ายไปที่ตำแหน่งลง มันจะตัดความถี่สูงส่วนใหญ่ออกไป ซึ่งส่งผลให้เกิดเสียงอู้อี้ เมื่อย้ายไปที่ตำแหน่งขึ้น มันจะส่งผ่านความถี่ทั้งหมดส่งผลให้เสียงที่สว่างขึ้น
  • การเริ่มต้น: ที่ด้านซ้ายบนของโปรแกรมแก้ไข มีชุดของโหนดที่เริ่มต้นโปรแกรมแก้ไขเมื่อเปิดตัว เช่น เปิดเสียงและ 'สัมผัส' โหนดต่างๆ เพื่อปลุกพวกมัน อีกครั้ง คุณอาจไม่จำเป็นต้องยุ่งกับส่วนนี้ แต่ถ้ามีสิ่งที่คุณต้องการเกิดขึ้นเมื่อแพทช์เปิดตัว ให้เชื่อมต่อโหนดเหล่านี้กับโหนดที่เรียกว่า 'loadbang'
  • ฉันได้พยายามจัดทำเอกสารเกี่ยวกับโปรแกรมแก้ไขที่มีความคิดเห็นในตัวแก้ไข ดังนั้นหวังว่าจะให้ข้อมูลเพียงพอแก่คุณในการสำรวจตัวเลือกต่างๆ จากที่นี่

สนุก!

ขั้นตอนที่ 7: สิ่งเพิ่มเติมที่ต้องลอง

วิ่งกีตาร์ 'หัวขาด'

เป็นไปได้ที่จะรันโปรเจ็กต์นี้โดยไม่ต้องเชื่อมต่อกับจอภาพ/คีย์บอร์ด/เมาส์ หากคุณรัน Raspberry Pi จากแหล่งพลังงานแบบพกพาที่เหมาะสม Raspberry Pi นั้นไม่ค่อยพอดีกับช่องเปิดที่ด้านหลังของกีตาร์ แต่ถ้าคุณกล้าพอ คุณสามารถดัดแปลงกีตาร์เพื่อแก้ไขปัญหานั้น…หรือเพียงแค่ยึด Pi เข้ากับด้านหลังด้วยสกรูแล้วปล่อยให้มันเกาะติดกัน ออกนิดหน่อย มีบทเรียนออนไลน์มากมายเกี่ยวกับวิธีการเรียกใช้สคริปต์บน Raspberry Pi แบบไม่มีส่วนหัว แต่โดยพื้นฐานแล้วคุณต้องการเรียกใช้คำสั่ง 'python /home/pi/keytarHero/keytarHero.py&' เมื่อเริ่มทำงาน ในทางทฤษฎี คุณจะมีกีตาร์ที่มีสายต่อกับลำโพงเพียงเส้นเดียว…เหมือนกับกีตาร์ไฟฟ้าจริงๆ!

การแก้ไขเพิ่มเติม Pure Data

ฉันมีแนวคิดอื่นๆ เกี่ยวกับวิธีที่กีตาร์สามารถควบคุมแพตช์ Pure Data ได้ แต่ไม่ได้ลองพยายาม การเปลี่ยนแปลงเหล่านี้อาจเป็นการเปลี่ยนแปลงในแพตช์ที่อาจสนุกสำหรับการทดสอบ:

  • Whammy bar: ในแพตช์ปัจจุบัน whammy bar จะหยุดเล่นซีเควนซ์ แต่ฉันคิดว่ามันจะดีกว่าถ้า whammy bar เพิ่มความถี่ในเวลาเดียวกันเหมือนกับ whammy bar จริงๆ ฉันพยายามทำให้มันทำงานอยู่พักหนึ่ง แต่มันก็ยากกว่าที่ฉันคิด ฉันคิดว่าอาจเป็นแค่การเพิ่มนิพจน์ลงในส่วน oscillator ที่เพิ่มความถี่สูงขึ้นเล็กน้อยให้กับ oscillator ตามค่าที่มาจาก whammy bar
  • แถบดีด: ปัจจุบัน แถบดีดเล่นลำดับไปข้างหน้าเมื่อกดลงและถอยหลังเมื่อกดขึ้น แต่อาจดีกว่าถ้าให้หมุนวนผ่านตัวเลือกการจัดลำดับต่างๆ เช่น สเต็ปสุ่ม ฯลฯ
  • ปุ่มบวก/ลบ: ปุ่มบวก/ลบจะเปลี่ยนจังหวะต่อนาที แต่ค่อนข้างจะไม่ค่อยดีนัก เว้นแต่คุณจะกดปุ่มหลายๆ ครั้ง มันอาจจะดีที่จะเพิ่มปริมาณมากขึ้นในแต่ละครั้ง หรือบางทีอาจให้เครื่องสลับซีเควนเซอร์ระหว่างการเล่นแบบ 16 จังหวะ 8 จังหวะ 4 จังหวะ และ Triplet

แนะนำ: