Inhaltsverzeichnis:

Arduino Jazz-Improvisator - Gunook
Arduino Jazz-Improvisator - Gunook

Video: Arduino Jazz-Improvisator - Gunook

Video: Arduino Jazz-Improvisator - Gunook
Video: Performance of my bespoke Arduino synthesizer, with live coding & clarinet processing in Ableton ❤️ 2024, November
Anonim
Arduino Jazz-Improvisator
Arduino Jazz-Improvisator

Dieses Design spielt kein "Lied". Stattdessen verwendet es eine Blues-Skala, um während des Spielens seine eigene Musik zu kreieren - ähnlich wie ein echter Jazzmusiker. Jedes Mal, wenn Sie es einschalten, wird etwas anderes abgespielt; Sie können jedoch weiterhin Tempo, Tonhöhe und Lautstärke mit den Drehreglern steuern. Hören Sie unten ein Beispiel dafür:

Schritt 1: Was ist Jazz?

Image
Image

Wenn Sie die offizielle Definition wünschen, können Sie sich diese Links ansehen, aber ich denke, der beste Weg, dies zu beschreiben, besteht darin, Ihnen zu zeigen, wie es sich anhört.

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

Schritt 2: Bauen Sie die Schaltung auf

Baue die Schaltung
Baue die Schaltung
Baue die Schaltung
Baue die Schaltung

Ich habe für meinen Lautsprecher einen Ständer aus Trinkhalmen und Klebeband gebaut, aber das ist optional. Folgen Sie dem Diagramm, um den Rest dieses Designs zu erstellen.

Schritt 3: Laden Sie den Code hoch

Dieser Code folgt einem pseudo-zufälligen Algorithmus, um die Noten der Bb-Blues-Tonleiter in einem jazzigen synkopierten Rhythmus unendlich zu spielen.

Verwenden Sie diesen Code in der Arduino-IDE:

int-Note = 1;

int note2 = 1; Void setup () { PinMode (3, AUSGANG); aufrechtzuerhalten. Void Schleife () { Int Tonecontrol = map (analogRead (A0), 0, 1023, 1, 4); int speedcontrol = map(analogRead(A1), 0, 1023, 1, 20); int Tonecontrol2 = map(analogRead(A2), 0, 1023, 1, 4); int-Playnote; int switchval = random(1, 5); switch (switchval) { Fall 1: Note = Note; brechen; Fall 2: Note = Note + 1; brechen; Fall 3: Anmerkung = Anmerkung - 1; brechen; Fall 4: Note = Note + 2; brechen; Fall 5: Anmerkung = Anmerkung - 2; brechen; } Schalter (Anmerkung) {Fall 1: Playnote = 262; brechen; Fall 2: Spielnote = 294; brechen; Fall 3: Spielnote = 311; brechen; Fall 4: Spielnote = 349; brechen; Fall 5: Spielnote = 392; brechen; Fall 6: Spielnote = 440; brechen; Fall 7: Spielnote = 466; brechen; Fall 8: Spielnote = 523; brechen; Vorgabe: Anmerkung = 1; brechen; } Playnote = Playnote * Tonecontrol; int playnote2; int switchval2 = random(1, 5); Schalter (switchval2) { Fall 1: Note2 = Note2; brechen; Fall 2: Note2 = Note2 + 1; brechen; Fall 3: Note2 = Note2 - 1; brechen; Fall 4: Note2 = Note2 + 2; brechen; Fall 5: Note2 = Note2 - 2; brechen; } Schalter (Note2) { Fall 1: Playnote2 = 262; brechen; Fall 2: Spielnote2 = 294; brechen; Fall 3: Spielnote2 = 311; brechen; Fall 4: Spielnote2 = 349; brechen; Fall 5: Spielnote2 = 392; brechen; Fall 6: Spielnote2 = 440; brechen; Fall 7: Spielnote2 = 466; brechen; Fall 8: Spielnote2 = 523; brechen; Vorgabe: Anmerkung2 = 1; brechen; } Playnote2 = Playnote2 * Tonecontrol2; Ton (3, Playnote, 30 * Geschwindigkeitsregelung); Verzögerung (31 * Geschwindigkeitsregelung); Wenn (zufällig (1, 4) == 3) { Verzögerung (21 * Geschwindigkeitsregelung); aufrechtzuerhalten. Sonst { Ton (3, Playnote2, 20 * Geschwindigkeitsregelung); Verzögerung (21 * Geschwindigkeitsregelung); } }

Schritt 4: Wie man es kontrolliert

Wie man es kontrolliert
Wie man es kontrolliert

Von links nach rechts verhält sich jedes Zifferblatt wie folgt:

  • Volumen
  • Tonhöhe des 1. Tons
  • Tempo
  • Tonhöhe des 2. Tons

Spielen Sie mit ihnen herum, bis Sie ein Geräusch bekommen, das Ihnen gefällt.

Empfohlen: