Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
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?
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
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ć
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.