สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: Raspberry Pi (การตั้งค่าเริ่มต้น)
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: เปิดใช้งาน I2c
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: ติดตั้ง Pure Data
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: เชื่อมต่อกีตาร์
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
- ขั้นตอนที่ 6: ทัวร์ชม Pure Data Patch
- ขั้นตอนที่ 7: สิ่งเพิ่มเติมที่ต้องลอง
วีดีโอ: Keytar Hero (ใช้ Wii Guitar Controller เป็น Synthesizer): 7 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
เกม 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
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
สำหรับเสียงของซินธิไซเซอร์ เราจะใช้โปรแกรมที่เรียกว่า 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: เชื่อมต่อกีตาร์
วิธีที่ง่ายที่สุดในการเชื่อมต่อคอนโทรลเลอร์กีตาร์กับ 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: นำทุกอย่างมารวมกัน
ตอนนี้ทุกอย่างได้รับการตั้งค่าบน 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 สำหรับโปรเจ็กต์นี้คือ สามารถปรับแต่งให้ทำอะไรก็ได้ตามที่คุณต้องการ เมื่อแพตช์เปิดอยู่ หากคุณกด 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
แนะนำ:
การใช้ Guitar Hero Guitar เพื่อควบคุมการซูม (Windows เท่านั้น): 9 ขั้นตอน
การใช้กีตาร์ฮีโร่กีตาร์เพื่อควบคุมการซูม (เฉพาะ Windows): เนื่องจากเราอยู่ท่ามกลางการระบาดใหญ่ทั่วโลก พวกเราหลายคนติดอยู่กับการทำความสะอาดบ้านและเข้าร่วมการประชุมบน Zoom หลังจากนี้ไปสักพัก มันอาจจะดูจืดชืดและน่าเบื่อหน่าย ขณะทำความสะอาดบ้าน ฉันพบกีตาร์ Guitar Hero ตัวเก่าที่ถูกโยนทิ้งใ
Wii Nunchuck Synthesizer: 4 ขั้นตอน
Wii Nunchuck Synthesizer: The World of Wii Music:ในที่สุดฉันก็ตัดสินใจรวมความรักในเสียงเพลงเข้ากับประสบการณ์การเขียนโปรแกรมเล็กน้อยที่ฉันได้รับในช่วงไม่กี่ปีที่ผ่านมา ฉันสนใจที่จะสร้างเครื่องดนตรีของตัวเองตั้งแต่ได้เห็นการบรรยายของท็อด มาโช
ใช้ Arduino CLI เป็น Flash Arduino Board: 4 ขั้นตอน
ใช้ Arduino CLI เป็น Flash Arduino Board: ทุกวันนี้ ผู้ผลิต นักพัฒนาต่างเลือกใช้ Arduino สำหรับการพัฒนาอย่างรวดเร็วของการสร้างต้นแบบของโครงการ Arduino เป็นแพลตฟอร์มอิเล็กทรอนิกส์แบบโอเพ่นซอร์สที่ใช้ฮาร์ดแวร์และซอฟต์แวร์ที่ใช้งานง่าย Arduino มีชุมชนผู้ใช้ที่ดีมาก หมูป่า Arduino
จอ LCD I2C / IIC - ใช้ SPI LCD กับจอแสดงผล LCD I2C โดยใช้โมดูล SPI เป็น IIC กับ Arduino: 5 ขั้นตอน
จอ LCD I2C / IIC | ใช้ SPI LCD กับจอแสดงผล LCD I2C โดยใช้โมดูล SPI เป็น IIC กับ Arduino: สวัสดีทุกคน เนื่องจาก SPI LCD 1602 ปกติมีสายเชื่อมต่อมากเกินไป ดังนั้นจึงยากมากที่จะเชื่อมต่อกับ Arduino แต่มีโมดูลเดียวในตลาดที่สามารถทำได้ แปลงจอแสดงผล SPI เป็นจอแสดงผล IIC ดังนั้นคุณต้องเชื่อมต่อเพียง 4 สายเท่านั้น
Guitar Hero Guitar Disconnecting Fix: 5 ขั้นตอน (พร้อมรูปภาพ)
Guitar Hero Guitar Disconnecting Fix: ดังนั้น คุณเพิ่งซื้อกีตาร์ฮีโร่มือสองที่ดีจาก ebay และเมื่อมันมาถึงคุณ มันก็ไม่สามารถเชื่อมต่อกับดองเกิล USB นั้นได้ ดังนั้นคุณคิดว่าคุณเพิ่งเสีย 30€ ลงท่อระบายน้ำ. แต่มีการแก้ไข และการแก้ไขนี้น่าจะได้ผลมากที่สุด