Spisu treści:

Improwizator jazzowy Arduino: 4 kroki (ze zdjęciami)
Improwizator jazzowy Arduino: 4 kroki (ze zdjęciami)

Wideo: Improwizator jazzowy Arduino: 4 kroki (ze zdjęciami)

Wideo: Improwizator jazzowy Arduino: 4 kroki (ze zdjęciami)
Wideo: Stream improwizowany na szybko: Podstawy obsługi Blender 3D 2024, Listopad
Anonim
Improwizator jazzowy Arduino
Improwizator jazzowy Arduino

Ten projekt nie odtwarza „piosenki”. Zamiast tego używa skali bluesowej do tworzenia własnej muzyki podczas gry - podobnie jak prawdziwy muzyk jazzowy. Za każdym razem, gdy go włączysz, zagra coś innego; ale nadal możesz kontrolować tempo, wysokość i głośność za pomocą pokręteł. Posłuchaj przykładu gry poniżej:

Krok 1: Czym jest jazz?

Image
Image

Jeśli chcesz oficjalną definicję, możesz spojrzeć na te linki, ale myślę, że najlepszym sposobem na jej opisanie jest po prostu pokazanie, jak to brzmi.

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

Krok 2: Zbuduj obwód

Zbuduj obwód
Zbuduj obwód
Zbuduj obwód
Zbuduj obwód

Zbudowałem stojak dla mojego głośnika ze słomek i taśmy, ale jest to opcjonalne. Postępuj zgodnie z diagramem, aby zbudować resztę tego projektu.

Krok 3: Prześlij kod

Ten kod opiera się na pseudolosowym algorytmie, aby w nieskończoność grać nuty skali bluesowej Bb w jazzowym synkopowanym rytmie.

Użyj tego kodu w Arduino IDE:

uwaga wew = 1;

wewn uwaga2 = 1; void setup() { pinMode(3, WYJŚCIE); } void loop() { int kontrola tonu = map(analogRead(A0), 0, 1023, 1, 4); int speedcontrol = map(analogRead(A1), 0, 1023, 1, 20); int kontrola tonu2 = map(analogRead(A2), 0, 1023, 1, 4); int playnote; int switchval = random(1,5); switch (switchval) { przypadek 1: uwaga = uwaga; przerwa; przypadek 2: uwaga = uwaga + 1; przerwa; przypadek 3: nuta = nuta - 1; przerwa; przypadek 4: uwaga = uwaga + 2; przerwa; przypadek 5: nuta = nuta - 2; przerwa; } switch (notatka) { przypadek 1: playnote = 262; przerwa; przypadek 2: nuta = 294; przerwa; przypadek 3: playnote = 311; przerwa; przypadek 4: playnote = 349; przerwa; przypadek 5: nuta = 392; przerwa; przypadek 6: playnote = 440; przerwa; przypadek 7: playnote = 466; przerwa; przypadek 8: playnote = 523; przerwa; domyślnie: uwaga = 1; przerwa; } playnote = playnote * kontrola tonu; int playnote2; intswitchval2 = losowo (1, 5); switch (switchval2) { przypadek 1: uwaga2 = uwaga2; przerwa; przypadek 2: uwaga2 = uwaga2 + 1; przerwa; przypadek 3: przypis 2 = przypis 2 - 1; przerwa; przypadek 4: uwaga2 = uwaga2 + 2; przerwa; przypadek 5: przypis 2 = przypis 2 - 2; przerwa; } switch (note2) { przypadek 1: playnote2 = 262; przerwa; przypadek 2: playnote2 = 294; przerwa; przypadek 3: playnote2 = 311; przerwa; przypadek 4: playnote2 = 349; przerwa; przypadek 5: playnote2 = 392; przerwa; przypadek 6: playnote2 = 440; przerwa; przypadek 7: playnote2 = 466; przerwa; przypadek 8: playnote2 = 523; przerwa; domyślnie: uwaga2 = 1; przerwa; } playnote2 = playnote2 * tonecontrol2; ton (3, playnote, 30 * kontrola prędkości); opóźnienie (31 * kontrola prędkości); if (losowo (1, 4) == 3) { opóźnienie(21 * kontrola prędkości); } else { tone(3, playnote2, 20 * speedcontrol); opóźnienie (21 * kontrola prędkości); } }

Krok 4: Jak to kontrolować

Jak to kontrolować
Jak to kontrolować

Od lewej do prawej, każda tarcza działa w następujący sposób:

  • Tom
  • Wysokość pierwszego tonu
  • Tempo
  • Wysokość drugiego tonu

Zadzieraj z nimi, aż uzyskasz dźwięk, który Ci się podoba.

Zalecana: