สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
การออกแบบนี้ไม่เล่น "เพลง" แทนที่จะใช้สเกลบลูส์เพื่อสร้างเพลงของตัวเองในขณะที่เล่น - คล้ายกับนักดนตรีแจ๊สตัวจริง ทุกครั้งที่คุณเปิดเครื่อง มันจะเล่นบางอย่างที่แตกต่างออกไป แต่คุณยังสามารถควบคุมจังหวะ ระดับเสียง และระดับเสียงได้ด้วยแป้นหมุน ฟังตัวอย่างการเล่นด้านล่าง:
ขั้นตอนที่ 1: แจ๊สคืออะไร?
หากคุณต้องการคำจำกัดความที่เป็นทางการ คุณสามารถดูลิงก์เหล่านี้ได้ แต่ฉันคิดว่าวิธีที่ดีที่สุดในการอธิบายคือแสดงให้คุณเห็นว่ามันฟังดูเป็นอย่างไร
- https://th.wikipedia.org/wiki/Jazz
- https://en.wikipedia.org/wiki/Jazz_improvisation
ขั้นตอนที่ 2: สร้างวงจร
ฉันสร้างขาตั้งสำหรับลำโพงโดยใช้หลอดและเทปสำหรับดื่ม แต่นั่นก็เป็นทางเลือก ทำตามไดอะแกรมเพื่อสร้างส่วนที่เหลือของการออกแบบนี้
ขั้นตอนที่ 3: อัปโหลดรหัส
โค้ดนี้ใช้อัลกอริธึมสุ่มหลอกเพื่อเล่นโน้ตของสเกล Bb blues ในจังหวะที่ซิงโครไนซ์อย่างไม่สิ้นสุด
ใช้รหัสนี้ใน Arduino IDE:
หมายเหตุ int = 1;
int note2 = 1; การตั้งค่าเป็นโมฆะ () { pinMode (3, OUTPUT); } วงเป็นโมฆะ () { int tonecontrol = map (analogRead (A0), 0, 1023, 1, 4); int speedcontrol = แผนที่ (analogRead (A1), 0, 1023, 1, 20); int tonecontrol2 = แผนที่ (analogRead (A2), 0, 1023, 1, 4); บันทึกย่อ int; int switchval = สุ่ม (1, 5); สวิตช์ (สวิตช์) { กรณีที่ 1: หมายเหตุ = หมายเหตุ; หยุดพัก; กรณีที่ 2: หมายเหตุ = บันทึก + 1; หยุดพัก; กรณีที่ 3: หมายเหตุ = หมายเหตุ - 1; หยุดพัก; กรณีที่ 4: หมายเหตุ = บันทึก + 2; หยุดพัก; กรณีที่ 5: หมายเหตุ = หมายเหตุ - 2; หยุดพัก; } สวิตช์ (หมายเหตุ) { กรณีที่ 1: playnote = 262; หยุดพัก; กรณีที่ 2: playnote = 294; หยุดพัก; กรณีที่ 3: playnote = 311; หยุดพัก; กรณีที่ 4: playnote = 349; หยุดพัก; กรณีที่ 5: บันทึกย่อ = 392; หยุดพัก; กรณีที่ 6: บันทึกย่อ = 440; หยุดพัก; กรณีที่ 7: บันทึกย่อ = 466; หยุดพัก; กรณีที่ 8: playnote = 523; หยุดพัก; ค่าเริ่มต้น: หมายเหตุ = 1; หยุดพัก; } playnote = playnote * tonecontrol; int playnote2; int switchval2 = สุ่ม (1, 5); สวิตช์ (switchval2) { กรณีที่ 1: note2 = note2; หยุดพัก; กรณีที่ 2: note2 = note2 + 1; หยุดพัก; กรณีที่ 3: note2 = note2 - 1; หยุดพัก; กรณีที่ 4: note2 = note2 + 2; หยุดพัก; กรณีที่ 5: note2 = note2 - 2; หยุดพัก; } สวิตช์ (note2) { กรณีที่ 1: playnote2 = 262; หยุดพัก; กรณีที่ 2: playnote2 = 294; หยุดพัก; กรณีที่ 3: playnote2 = 311; หยุดพัก; กรณีที่ 4: playnote2 = 349; หยุดพัก; กรณีที่ 5: playnote2 = 392; หยุดพัก; กรณีที่ 6: playnote2 = 440; หยุดพัก; กรณีที่ 7: playnote2 = 466; หยุดพัก; กรณีที่ 8: playnote2 = 523; หยุดพัก; ค่าเริ่มต้น: note2 = 1; หยุดพัก; } playnote2 = playnote2 * tonecontrol2; โทน(3, playnote, 30 * speedcontrol); ล่าช้า (31 * ระบบควบคุมความเร็ว); ถ้า (สุ่ม (1, 4) == 3) { ล่าช้า (21 * speedcontrol); } อื่น ๆ { โทน (3, playnote2, 20 * speedcontrol); ล่าช้า (21 * ระบบควบคุมความเร็ว); } }
ขั้นตอนที่ 4: วิธีควบคุมมัน
จากซ้ายไปขวา แต่ละแป้นหมุนทำดังนี้:
- ปริมาณ
- ระดับเสียงที่ 1
- จังหวะ
- พิตช์โทนที่ 2
ยุ่งกับพวกเขาจนกว่าคุณจะได้เสียงที่คุณชอบ