Mundarija:

Arduino jazz improvizatori: 4 qadam (rasmlar bilan)
Arduino jazz improvizatori: 4 qadam (rasmlar bilan)

Video: Arduino jazz improvizatori: 4 qadam (rasmlar bilan)

Video: Arduino jazz improvizatori: 4 qadam (rasmlar bilan)
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Noyabr
Anonim
Arduino jazz improvizatori
Arduino jazz improvizatori

Bu dizayn "qo'shiq" ni ijro etmaydi. Buning o'rniga, u blyuz shkalasidan foydalanib, o'z musiqasini yaratadi - bu haqiqiy jazz musiqachisiga o'xshaydi. Har safar yoqsangiz, u boshqacha o'ynaydi. ammo siz hali ham kadrlar yordamida tempni, balandlikni va ovozni boshqarishingiz mumkin. Quyida uning qanday o'ynayotganini tinglang:

1 -qadam: Jazz nima?

Image
Image

Agar siz rasmiy ta'rifni xohlasangiz, bu havolalarni ko'rishingiz mumkin, lekin menimcha, uni tasvirlashning eng yaxshi usuli - bu sizga qanday ko'rinishini ko'rsatishdir.

  • https://uz.wikipedia.org/wiki/Jazz
  • https://uz.wikipedia.org/wiki/Jazz_improvisation

2 -qadam: O'chirish sxemasini yarating

O'chirish davri
O'chirish davri
O'chirish davri
O'chirish davri

Men spiker va lentani ichib spikerim uchun stend qurdim, lekin bu ixtiyoriy. Dizaynning qolgan qismini yaratish uchun diagramaga amal qiling.

3 -qadam: Kodni yuklang

Bu kod tasodifiy tasodifiy algoritmga amal qilib, blyuz shkalasi notalarini cheksiz cheksiz ijro etish uchun jazzy sinxronlashtirilgan ritmda bajaradi.

Ushbu kodni Arduino IDE -da ishlating:

int note = 1;

int note2 = 1; void setup () {pinMode (3, OUTPUT); } void loop () {int tonecontrol = map (analogRead (A0), 0, 1023, 1, 4); int speedcontrol = map (analogRead (A1), 0, 1023, 1, 20); int tonecontrol2 = xarita (analogRead (A2), 0, 1023, 1, 4); int playnote; int switchval = tasodifiy (1, 5); switch (switchval) {1 -holat: note = note; tanaffus; 2 -holat: note = note + 1; tanaffus; 3 -holat: eslatma = eslatma - 1; tanaffus; 4 -holat: note = note + 2; tanaffus; 5 -holat: eslatma = eslatma - 2; tanaffus; } switch (eslatma) {1 -holat: playnote = 262; tanaffus; 2 -holat: pleylist = 294; tanaffus; 3 -holat: pleylist = 311; tanaffus; 4 -holat: pleylist = 349; tanaffus; 5 -holat: pleylist = 392; tanaffus; 6 -holat: ijro yozuvlari = 440; tanaffus; 7 -holat: ijro yozuvlari = 466; tanaffus; 8 -holat: playnote = 523; tanaffus; standart: note = 1; tanaffus; } playnote = playnote * tonecontrol; int playnote2; int switchval2 = tasodifiy (1, 5); switch (switchval2) {1 -holat: note2 = note2; tanaffus; 2 -holat: note2 = note2 + 1; tanaffus; 3 -holat: note2 = note2 - 1; tanaffus; 4 -holat: note2 = note2 + 2; tanaffus; 5 -holat: note2 = note2 - 2; tanaffus; } switch (note2) {1 -holat: playnote2 = 262; tanaffus; 2 -holat: playnote2 = 294; tanaffus; 3 -holat: playnote2 = 311; tanaffus; 4 -holat: playnote2 = 349; tanaffus; 5 -holat: playnote2 = 392; tanaffus; 6 -holat: playnote2 = 440; tanaffus; 7 -holat: playnote2 = 466; tanaffus; 8 -holat: playnote2 = 523; tanaffus; standart: note2 = 1; tanaffus; } playnote2 = playnote2 * tonecontrol2; ohang (3, piktogramma, 30 * tezlikni boshqarish); kechikish (31 * tezlikni boshqarish); if (tasodifiy (1, 4) == 3) {kechiktirish (21 * tezlikni boshqarish); } else {ohang (3, ijro etuvchi2, 20 * tezlikni boshqarish); kechikish (21 * tezlikni boshqarish); }}

4 -qadam: Qanday nazorat qilish kerak

Buni qanday nazorat qilish kerak
Buni qanday nazorat qilish kerak

Chapdan o'ngga, har bir terish quyidagicha amalga oshiriladi:

  • Ovoz balandligi
  • 1 -ohang balandligi
  • Tempo
  • Ikkinchi ohang balandligi

O'zingizga yoqqan ovoz chiqmaguncha ular bilan chalkashib keting.

Tavsiya: